Skip to content

[WIP] Update password requirements for new account registration#84

Merged
danielcuthbert merged 3 commits intomasterfrom
copilot/update-password-requirements
Nov 25, 2025
Merged

[WIP] Update password requirements for new account registration#84
danielcuthbert merged 3 commits intomasterfrom
copilot/update-password-requirements

Conversation

Copy link
Contributor

Copilot AI commented Nov 25, 2025

  • Analyze current password requirements implementation
  • Add zxcvbn library for password strength checking
  • Update signup.html template with modern password requirements
  • Improve UX with clear passphrase guidance
  • Update server-side password validation to support passphrases
  • Take screenshot of UI changes
  • Run code review
  • Address code review feedback
  • Run security checks

Changes Made

Frontend (signup.html)

  • Replaced outdated OWASP password strength test with zxcvbn for better password/passphrase strength analysis
  • Changed label from "Password" to "Password or Passphrase" for clarity
  • Added visual password strength meter with color-coded feedback (Very Weak → Very Strong)
  • Removed confusing checkboxes ("Is it a valid password?", "Is it a passphrase?")
  • Added clear, user-friendly tips for creating strong passwords
  • Added real-time password match indicator
  • Retained HIBP (Have I Been Pwned) breach check with improved UX (added timeout and caching)
  • Reduced minimum password length from 10 to 8 characters (modern best practice)
  • Added JavaScript constants for password length requirements for consistency

Backend (validators.py, settings.py)

  • Created ModernPasswordValidator supporting passphrases (8-128 chars)
  • Removed NumericPasswordValidator which enforced outdated character requirements
  • Updated AUTH_PASSWORD_VALIDATORS to use the new modern validator

Screenshot

New Registration Form

Original prompt

when you register a new account, it has outdated password requirements and we should set the scene for modern authentication. It should allow passphrases and have a UX that isn't confusing. We should also use zxcvbn for password/phrase strength


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: danielcuthbert <7882621+danielcuthbert@users.noreply.github.com>
Co-authored-by: danielcuthbert <7882621+danielcuthbert@users.noreply.github.com>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://rawgit.com/nowsecure/owasp-password-strength-test/master/owasp-password-strength-test.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/zxcvbn/4.4.2/zxcvbn.js"></script>

Check warning

Code scanning / CodeQL

Inclusion of functionality from an untrusted source Medium

Script loaded from content delivery network with no integrity check.
@danielcuthbert danielcuthbert marked this pull request as ready for review November 25, 2025 13:30
@danielcuthbert danielcuthbert merged commit 8dcbf65 into master Nov 25, 2025
6 checks passed
@danielcuthbert danielcuthbert deleted the copilot/update-password-requirements branch November 25, 2025 13:31
Copilot AI requested a review from danielcuthbert November 25, 2025 13:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants