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 TypeIterationsPurpose
Private Key15-30 (dynamic)Password generation (never stored, never transmitted)
Public Key45-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:

  1. Downloads the source code from GitHub.
  2. Installs the application to ~/.local/share/smart-password-manager/. No root, no sudo.
  3. Creates a dedicated Python virtual environment at ~/.local/share/smart-password-manager/venv/ and installs dependencies into it.
  4. Registers the app in your desktop environment by creating ~/.local/share/applications/smart-password-manager.desktop.
  5. 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:

  1. Click Add button
  2. Enter service description (e.g., "GitHub Account")
  3. Enter your secret phrase (minimum 12 characters, never stored)
  4. Set password length (12-100 characters, 16-24 recommended)
  5. Click Create Password — password appears for copying

Retrieving a Password:

  1. Find service in table
  2. Click Get button
  3. Enter your secret phrase
  4. Password regenerates identically for copying

Editing Password Metadata:

  1. Click Edit button next to password
  2. Update description or change length
  3. Receive warning if changing length
  4. Confirm changes

ShortcutAction
F1Show help
Ctrl+QExit application
Ctrl+NCreate new password
Ctrl+/Keyboard shortcuts
Ctrl+AAbout
Ctrl+IImport passwords
Ctrl+EExport passwords
Ctrl+RShow QR code for selected password
Ctrl+GGet password
Ctrl+Shift+EEdit password
DelDelete password
Ctrl+DShow disclaimer
Ctrl+LShow license
Ctrl+Alt+SCreate desktop shortcut
F5Refresh list
EnterGet 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:

Applications:

Data Compatibility:

  • Uses same ~/.config/smart_password_manager/passwords.json format 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