Smart Password Manager Desktop
Linux desktop manager for deterministic smart passwords
Generate, manage, and retrieve passwords without storing them. Your secret phrase is the only key you need.
Smart Password Manager Desktop — Linux desktop manager for deterministic smart passwords. Generate, manage, and retrieve passwords without storing them.
Decentralized by Design: Unlike traditional password managers that store encrypted vaults on central servers, Smart Password Manager stores nothing. Your secrets never leave your device. Passwords are regenerated on-demand — no cloud, no database, no trust required.
- Zero-Storage Security — no passwords or secret phrases are ever stored or transmitted
- Decentralized Architecture — no central servers, no cloud dependency
- Deterministic Regeneration — passwords are recreated identically from your secret phrase
- Metadata Only — store only descriptions and verification keys
- Local Processing — all cryptographic operations happen on your device
- On-Demand Discovery — passwords exist only when you generate them
- Decentralized & Serverless — no central database, no cloud lock-in
- No Password Database — eliminates password storage completely
- Dark Theme Interface — easy on the eyes during extended use
- Public Key Verification — verify secret knowledge without exposure
- Table View — see all your password metadata at a glance
- Edit Functionality — update descriptions and lengths anytime
- Copy to Clipboard — quick password copying for account setup
- Export/Import — backup and restore functionality
- Desktop Native — no web dependencies or internet required
- Linux Desktop Integration — create application shortcuts in system menu
- QR Code Export — transfer password metadata to Android app via QR code
Powered by smartpasslib — The core library for deterministic password generation.
Key derivation:
| Key Type | Iterations | Purpose |
|---|---|---|
| Private Key | 15-30 (dynamic) | Password generation (never stored, never transmitted) |
| Public Key | 45-60 (dynamic) | Verification (stored locally) |
Character Set:
!@#$%^&*()_+-=[]{};:,.<>?/ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz
Validation Rules: Secret phrase: min 12 chars · Password length: 12-100 chars
What's NOT stored: Secret phrase · The actual password · Any reversible password data
What IS stored (in ~/.config/smart_password_manager/passwords.json):
- Public verification key (hash of secret)
- Service description
- Password length parameter
There are two independent ways to use this application:
- Run from source — clone the repo, create a virtual environment, launch manually. Nothing is installed system-wide.
- Install system-wide — one command creates a menu entry. Desktop shortcut is opt-in.
Option 1 — Run from Source (no system install)
Requirements: Python 3.7+, git.
# 1. Clone the repository git clone https://github.com/smartlegionlab/smart-password-manager-desktop.git cd smart-password-manager-desktop # 2. Create a virtual environment python3 -m venv venv # 3. Activate it source venv/bin/activate # 4. Install dependencies pip install -r requirements.txt # 5. Launch the app python app.py
To run it again later:
cd smart-password-manager-desktop source venv/bin/activate python app.py
Option 2 — Install System-Wide (recommended)
Requirements: Python 3.7+, git, curl, Linux desktop with .desktop support.
curl -fsSL https://raw.githubusercontent.com/smartlegionlab/smart-password-manager-desktop/master/install.sh | bash
What the installer does:
- Downloads the source code from GitHub.
- Installs the application to
~/.local/share/smart-password-manager/. No root, no sudo. - Creates a dedicated Python virtual environment at
~/.local/share/smart-password-manager/venv/and installs dependencies into it. - Registers the app in your desktop environment by creating
~/.local/share/applications/smart-password-manager.desktop. - Refreshes the desktop database so the menu entry appears without a full re-login on most systems.
Desktop shortcut (opt-in):
By default, no Desktop shortcut is created. This is intentional — on GNOME (default on Ubuntu), desktop icons are hidden by default. To also create a Desktop shortcut during install, pass the SPM_CREATE_DESKTOP_SHORTCUT=1 environment variable to bash — the second command in the pipeline:
curl -fsSL https://raw.githubusercontent.com/smartlegionlab/smart-password-manager-desktop/master/install.sh | SPM_CREATE_DESKTOP_SHORTCUT=1 bash
Or export it first, then run the normal installer:
export SPM_CREATE_DESKTOP_SHORTCUT=1 curl -fsSL https://raw.githubusercontent.com/smartlegionlab/smart-password-manager-desktop/master/install.sh | bash
Note: Writing SPM_CREATE_DESKTOP_SHORTCUT=1 curl ... | bash does not work — in a shell pipeline, an environment variable prefix applies only to the command on the left side of the pipe. Pass it to bash directly, or export it beforehand.
Alternatively, after install, open the app and use File → Create Desktop Entry — it supports both Application Menu and Desktop locations.
Uninstall:
curl -fsSL https://raw.githubusercontent.com/smartlegionlab/smart-password-manager-desktop/master/uninstall.sh | bash
The uninstaller removes the application, menu entry, and Desktop shortcut (if present). It never touches your password metadata at ~/.config/smart_password_manager/passwords.json.
Creating Your First Password:
- Click Add button
- Enter service description (e.g., "GitHub Account")
- Enter your secret phrase (minimum 12 characters, never stored)
- Set password length (12-100 characters, 16-24 recommended)
- Click Create Password — password appears for copying
Retrieving a Password:
- Find service in table
- Click Get button
- Enter your secret phrase
- Password regenerates identically for copying
Editing Password Metadata:
- Click Edit button next to password
- Update description or change length
- Receive warning if changing length
- Confirm changes
| Shortcut | Action |
|---|---|
F1 | Show help |
Ctrl+Q | Exit application |
Ctrl+N | Create new password |
Ctrl+/ | Keyboard shortcuts |
Ctrl+A | About |
Ctrl+I | Import passwords |
Ctrl+E | Export passwords |
Ctrl+R | Show QR code for selected password |
Ctrl+G | Get password |
Ctrl+Shift+E | Edit password |
Del | Delete password |
Ctrl+D | Show disclaimer |
Ctrl+L | Show license |
Ctrl+Alt+S | Create desktop shortcut |
F5 | Refresh list |
Enter | Get password (when item selected) |
Security Model:
- Proof of Knowledge — public keys verify secrets without exposing them
- Decentralized Trust — no third party needed
- Deterministic Security — same secret + length = same password, always
- No Recovery Backdoors — lost secret = permanently lost access
Secret Phrase Requirements:
- Minimum 12 characters (enforced)
- Case-sensitive
- Use mix of: uppercase, lowercase, numbers, symbols
- Never store digitally
Strong Secret Examples:
✅ "MyStrongSecretPhrase2026!" — mixed case + numbers + symbols ✅ "P@ssw0rd!LongSecret" — special chars + numbers + length ✅ "КотБегемот2026НаДиете" — Cyrillic + numbers
Weak Secret Examples (avoid):
❌ "password" — dictionary word, too short ❌ "1234567890" — only digits, too short ❌ "qwerty123" — keyboard pattern
Smart Password Manager Desktop is part of the Smart Passwords Ecosystem — a family of applications that share the same deterministic password algorithm and metadata format.
Core Libraries:
- smartpasslib — Python
- smartpasslib-rs — Rust
- smartpasslib-js — JavaScript
- smartpasslib-kotlin — Kotlin
- smartpasslib-go — Go
- smartpasslib-csharp — C#
Applications:
- CLI Smart Password Manager (Python)
- CLI Smart Password Generator (Python)
- Desktop Smart Password Manager (C#)
- Web Smart Password Manager
- Android Smart Password Manager
Data Compatibility:
- Uses same
~/.config/smart_password_manager/passwords.jsonformat as CLI tools - Export files compatible across all ecosystem tools
- Consistent cryptographic operations across platforms
-
Pointer-Based Security Paradigm
— 10.5281/zenodo.17204738
Architectural Shift from Data Protection to Data Non-Existence -
Local Data Regeneration Paradigm
— 10.5281/zenodo.17264327
Ontological Shift from Data Transmission to Synchronous State Discovery
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