Skip to content

Latest commit

Β 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Private Password Generator

A privacy-first password generator used by ClearHowGuide.

License: MIT Privacy First No Tracking Password Storage Secure Random


✨ Live demo

Try the generator here:

πŸ‘‰ https://clearhowguide.com/en/security/create-a-strong-password/#private-password-generator


🧭 What is this?

Private Password Generator is a small, privacy-first password generator.

It helps users create strong passwords directly in the browser, without sending, saving, or tracking the generated password.

The tool can generate:

  • 🎲 random passwords;
  • 🧠 memorable passphrases;
  • πŸ› οΈ strengthened user ideas;
  • πŸ”’ passwords from 8 to 128 characters;
  • ⚑ Easy, Strong, and Maximum presets;
  • πŸ”‘ uppercase and lowercase letters;
  • πŸ”’ numbers;
  • πŸ”£ symbols;
  • 🌐 website-friendly symbols;
  • πŸ‘οΈ ambiguous-character-safe passwords;
  • ⏳ educational offline crack-time estimates;
  • βœ… practical safety reminders.

πŸ”’ Privacy promise

This project is designed around one simple promise:

Your generated password should not leave your browser.

The generator is designed to avoid:

  • ❌ sending generated passwords to ClearHowGuide;
  • ❌ saving generated passwords in localStorage;
  • ❌ saving generated passwords in sessionStorage;
  • ❌ using IndexedDB;
  • ❌ using cookies;
  • ❌ calling fetch() from the generator component;
  • ❌ using navigator.sendBeacon;
  • ❌ sending analytics events with generated passwords;
  • ❌ logging generated passwords to the console;
  • ❌ using Math.random() for password generation.

The generated password exists only in the current browser page.

When the user refreshes or closes the page, the generated password is gone unless the user saved it somewhere else.


🧠 Why this exists

Many people still create passwords from names, dates, places, favorite words, or small changes to old passwords.

That is risky.

A password like this can still be weak:

Summer2026!

It looks more complex than a plain word, but it is still predictable.

This generator is designed to encourage better habits:

  • βœ… create long passwords;
  • βœ… use a different password for every important account;
  • βœ… prefer random passwords for normal website logins;
  • βœ… use passphrases only when memorability matters;
  • βœ… save generated passwords in a trusted password manager;
  • βœ… enable MFA or 2FA when available.

πŸ§ͺ Generator modes

Mode What it does
Random password Generates a random password with the browser cryptographic API
Memorable passphrase Generates a longer phrase made from random words
Strengthen my idea Turns user-provided words or numbers into a stronger password-like result

For most accounts, Random password is the best default choice.

For master passwords or passwords you must type manually, Memorable passphrase can be easier to use.

For maximum safety, avoid putting names, birthdays, addresses, company names, or personal details into Strengthen my idea.


βš™οΈ Technology

This project uses:

  • ⚑ Astro component source;
  • 🧩 vanilla browser JavaScript;
  • πŸ” crypto.getRandomValues() for secure random generation;
  • πŸ“Š zxcvbn-ts for educational strength estimation.

Main source file:

src/PasswordGenerator.astro

πŸ“¦ Install

Run:

npm install

βœ… Run checks

Run:

npm run check

This runs:

  • npm run source:check
  • npm run privacy:check

The privacy check verifies that the generator component does not contain direct usage of:

  • storage APIs;
  • cookies;
  • network calls;
  • beacon calls;
  • analytics calls;
  • debug logging patterns;
  • weak random generation with Math.random.

🧾 Current privacy check

The repository includes a simple privacy check script:

scripts/privacy-check.mjs

It checks the component source for these forbidden patterns:

localStorage
sessionStorage
indexedDB
document.cookie
fetch(
navigator.sendBeacon
umami.track
console.log
Math.random

It also checks that the source uses:

crypto.getRandomValues

This does not replace a full security audit, but it helps prevent accidental regressions.


🚧 Important limitation

This generator provides an educational tool, not a security guarantee.

Real account security depends on many factors:

  • whether the password is unique;
  • how the website stores passwords;
  • hashing algorithm;
  • salting and key stretching;
  • rate limits;
  • account lockout protections;
  • MFA or 2FA;
  • phishing resistance;
  • breach exposure;
  • attacker hardware;
  • whether the password is reused elsewhere.

Do not treat any generated password as unhackable.


πŸ—‚οΈ Repository structure

private-password-generator/
β”œβ”€ .github/
β”‚  β”œβ”€ ISSUE_TEMPLATE/
β”‚  β”‚  β”œβ”€ bug_report.md
β”‚  β”‚  β”œβ”€ config.yml
β”‚  β”‚  └─ feature_request.md
β”‚  └─ PULL_REQUEST_TEMPLATE.md
β”œβ”€ scripts/
β”‚  └─ privacy-check.mjs
β”œβ”€ src/
β”‚  └─ PasswordGenerator.astro
β”œβ”€ CHANGELOG.md
β”œβ”€ CODE_OF_CONDUCT.md
β”œβ”€ CONTRIBUTING.md
β”œβ”€ LICENSE
β”œβ”€ PRIVACY.md
β”œβ”€ README.md
β”œβ”€ SECURITY.md
β”œβ”€ SUPPORT.md
β”œβ”€ package-lock.json
└─ package.json

🀝 Contributing

Contributions are welcome if they improve:

  • πŸ”’ privacy;
  • πŸ›‘οΈ security;
  • β™Ώ accessibility;
  • 🧠 generation quality;
  • 🧾 documentation clarity;
  • 🧹 maintainability.

Please read:

πŸ‘‰ CONTRIBUTING.md

before opening a pull request.


πŸ›‘οΈ Security

Please do not report vulnerabilities in public issues.

Read:

πŸ‘‰ SECURITY.md

for responsible disclosure instructions.


🌿 Code of Conduct

This project follows a contributor code of conduct.

Read:

πŸ‘‰ CODE_OF_CONDUCT.md

before participating.


πŸ’¬ Support

Need help or want to ask a non-sensitive question?

Read:

πŸ‘‰ SUPPORT.md


πŸ“œ License

MIT License.

See:

πŸ‘‰ LICENSE


🧩 Used by

This generator is used by ClearHowGuide in the guide:

How to Create a Strong Password

Demo:

πŸ‘‰ https://clearhowguide.com/en/security/create-a-strong-password/#private-password-generator

Releases

Packages

Contributors

Languages