Web-based smart password manager with deterministic password generation
Generate, manage, and retrieve passwords without storing them. Your secret phrase never leaves your browser.
Smart Password Manager Web — web-based smart password manager with deterministic password generation. Generate, manage, and retrieve passwords without storing them. Your secret phrase never leaves your browser.
Decentralized by Design: Unlike traditional password managers that store encrypted vaults on central servers, smartpasslib stores nothing. Your secrets never leave your device. Passwords are regenerated on-demand — no cloud, no database, no trust required. The server stores only metadata (description, length, public key) for verification — never your secret phrase or actual password.
⚠️ Breaking Change (v4.0.0)
This version uses smartpasslib-js v4.0.0, which is NOT backward compatible with v1.x.x or v2.x.x. Smart passwords created with older versions cannot be regenerated using v4.0.0.
What changed: Dynamic iterations (15-30/45-60), expanded character set, min 12 chars secret, password length limited to 100, salt separation.
📖 Full migration instructions → see MIGRATION.md
Prerequisites: Python 3.8+, PostgreSQL
# Clone repository git clone https://github.com/smartlegionlab/smart-password-manager-web.git cd smart-password-manager-web # Create virtual environment python -m venv venv source venv/bin/activate # Install dependencies pip install --upgrade pip pip install -r requirements.txt pip install psycopg2-binary # Create .env file with your settings # Apply migrations python manage.py migrate # Create superuser python manage.py createsuperuser # Collect static files python manage.py collectstatic # Run development server python manage.py runserver
Access the application at: http://localhost:8000
Powered by smartpasslib-js — JavaScript implementation of deterministic password generation.
Key derivation (same as Python/Go/Kotlin/C# versions v4.0.0):
| Key Type | Iterations | Purpose |
|---|---|---|
| Private Key | 15-30 (dynamic) | Password generation (never stored, never transmitted) |
| Public Key | 45-60 (dynamic) | Verification (stored on server) |
Character Set:
!@#$%^&*()_+-=[]{};:,.<>?/ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz
Validation Rules: Secret phrase: min 12 chars · Password length: 12-100 chars
Architecture:
Export password metadata to the Smart Password Manager Android app via QR code:
What's included in QR:
What's NOT included:
Security Note: QR codes contain only metadata that is already stored on the server. Your secret phrase and actual passwords are never embedded in QR codes.
Security Model:
Secret Phrase Requirements:
Strong Secret Examples:
✅ "MyStrongSecretPhrase2026!" — mixed case + numbers + symbols ✅ "P@ssw0rd!LongSecret" — special chars + numbers + length ✅ "КотБегемот2026НаДиете" — Cyrillic + numbers
Weak Secret Examples (avoid):
❌ "short" — too short, rejected ❌ "GitHub Account" — using description as secret (weak!) ❌ "password" — dictionary word, too short ❌ "1234567890" — only digits, too short
Smart Password Manager Web produces identical passwords to:
Data transfer: Use QR codes or Export/Import to sync metadata across all platforms.
By using this software, you agree to the full disclaimer terms.
Software provided "AS IS" without warranty. You assume all risks.
Full legal disclaimer: See DISCLAIMER.md
License: BSD 3-Clause License