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.
⚠️ 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:
📖 Full migration instructions → see MIGRATION.md
Powered by smartpasslib-js — JavaScript implementation of deterministic password generation.
| 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 (Google-compatible):
!@#$%^&*()_+-=[]{};:,.<>?/ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz
Validation Rules:
Prerequisites: Python 3.8+, PostgreSQL
1. Install PostgreSQL:
# Arch Linux sudo pacman -S postgresql # Ubuntu/Debian sudo apt-get install postgresql postgresql-contrib
2. Project Setup:
git clone https://github.com/smartlegionlab/smart-password-manager-web.git cd smart-password-manager-web python -m venv venv source venv/bin/activate pip install --upgrade pip pip install -r requirements.txt pip install psycopg2-binary
3. Database Configuration:
sudo -u postgres psql
CREATE DATABASE smart_password_manager_db
OWNER postgres
ENCODING 'UTF-8'
LC_COLLATE 'en_US.UTF-8'
LC_CTYPE 'en_US.UTF-8'
TEMPLATE template0;
4. Environment Configuration (.env):
DJANGO_ENV=development SECRET_KEY=your-generated-secret-key-here DEBUG=True DB_NAME=smart_password_manager_db DB_USER=postgres DB_PASSWORD=postgres DB_HOST=localhost DB_PORT=5432
5. Run:
python manage.py migrate python manage.py createsuperuser python manage.py collectstatic python manage.py runserver
Access at: http://localhost:8000 | Admin: http://localhost:8000/admin
The web application allows you to export password metadata to the Smart Password Manager Android app via QR code:
How to use:
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.
Smart Password Manager Web produces identical passwords to:
| Platform | Application |
|---|---|
| Desktop | Desktop Manager |
| CLI | CLI PassMan / CLI PassGen |
| Android | Android Manager |
| Python | smartpasslib |
| Go | smartpasslib-go |
| Kotlin | smartpasslib-kotlin |
| C# | smartpasslib-csharp |
Data transfer: Use QR codes or Export/Import to sync metadata across all platforms.
Core Libraries:
CLI Applications:
Desktop Applications:
Other:
| Version | Generation | smartpasslib | Status | Migration Required |
|---|---|---|---|---|
| v1.x.x and below | Server-side | v1.x.x | ❌ Deprecated | Must migrate to v4.x.x |
| v2.x.x | Client-side | v1.x.x | ❌ Deprecated | Must migrate to v4.x.x |
| v4.0.0+ | Client-side | v4.0.0 | ✅ Current | N/A |
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