Console Smart Password Manager - Terminal-based smart password manager with deterministic password generation. Generate, manage, and retrieve passwords without storing them - all from your command line.
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.
By using this software, you agree to the full disclaimer terms.
Summary: Software provided "AS IS" without warranty. You assume all risks.
Full legal disclaimer: See DISCLAIMER.md
- Zero-Storage Security: No passwords or secret phrases are ever stored or transmitted
- Decentralized Architecture: No central servers, no cloud dependency, no third-party trust required
- Deterministic Regeneration: Passwords are recreated identically from your secret phrase
- Metadata Only: Store only descriptions and verification keys
- Terminal Processing: All cryptographic operations happen in your CLI
- On-Demand Discovery: Passwords exist only when you generate them
What You Can Do:
- Create Smart Passwords: Generate deterministic passwords from secret phrases
- Store Metadata Securely: Keep password descriptions and lengths without storing passwords
- Regenerate Passwords: Recreate passwords anytime using your secret phrase
- Manage Services: Organize passwords for different accounts and services
- Secure Terminal Input: Hidden secret phrase entry with getpass
- Verify Secrets: Prove knowledge of secrets without exposing them
- Export/Import: Backup and restore your password metadata
- Cross-Platform Management: Works on any system with Python
- No GUI Dependencies: Pure terminal interface for servers and remote systems
- Decentralized & Serverless: No central database, no cloud lock-in, complete user sovereignty
- No Password Database: Eliminates password storage completely
- Interactive Terminal UI: Clean, centered text with visual framing
- Public Key Verification: Verify secret knowledge without exposure
- List View: See all your password metadata in clear lists
- Export/Import: Backup and restore functionality with timestamped files
- Bulk Operations: Clear all passwords with double confirmation
- Secure Hidden Input: Hidden secret phrase entry via getpass
- No Dependencies: Only Python standard library + smartpasslib
- Server Ready: Perfect for headless systems and remote management
- Proof of Knowledge: Public keys verify secrets without exposing them
- Decentralized Trust: No third party needed - you control your secrets completely
- Deterministic Security: Same secret + length = same password, always
- Metadata Separation: Non-sensitive data stored separately from verification
- Local Processing: No data leaves your computer
- No Recovery Backdoors: Lost secret = permanently lost access (by design)
- Pointer-Based Security Paradigm - Architectural Shift from Data Protection to Data Non-Existence
- Local Data Regeneration Paradigm - Ontological Shift from Data Transmission to Synchronous State Discovery
Powered by smartpasslib v4.0.1+ - The core library for deterministic password generation.
Key derivation (same as Python/JS/Kotlin/Go/C#/Rust versions v4.0.1):
| 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 (Google-compatible):
!@#$%^&*()_+-=[]{};:,.<>?/ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz
Validation Rules:
- Secret phrase: minimum 12 characters
- Password length: 12-100 characters
Decentralized Architecture:
- No central authority required
- Metadata can be synced via any channel
- Your security depends only on your secret phrase
- Works offline - no internet connection required
What's NOT stored:
- Your 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
Configuration files are stored in:
| Platform | Configuration Path |
|---|---|
| Linux | ~/.config/smart_password_manager/passwords.json |
- Python 3.7+ required
- pip for package management
# Install from PyPI
pip install clipassman==4.0.1
# For systems with package conflicts
pip install clipassman==4.0.1 --break-system-packages
# Verify installation
clipassman# Clone and run in one go
git clone https://github.com/smartlegionlab/clipassman.git
cd clipassman
python app.py# Clone repository
git clone https://github.com/smartlegionlab/clipassman.git
cd clipassman
# Install in development mode
pip install -e .
# Or install from local source
pip install .# Start interactive terminal interface
clipassman
# Or if installed locally
python -m clipassman.clipassman- Launch
clipassman - Select option 1: Add Password
- Enter service description (e.g., "GitHub Account")
- Enter your secret phrase (minimum 12 characters, never stored)
- Good examples:
"MyStrongSecretPhrase2026!"or"P@ssw0rd!LongSecret"
- Good examples:
- Confirm your secret phrase
- Set password length (12-100 characters, 16-24 recommended)
- Password is generated and displayed
- Save it securely (not stored by system)
- Launch
clipassman - Select option 2: Get/Delete Password
- Choose password entry from numbered list
- Select 1: Get password
- Enter your secret phrase (hidden input)
- Password regenerates identically
- Launch
clipassman - Select option 3: Export/Import Passwords
- Select 1: Export passwords to file
- Choose filename (or press Enter for auto-generated with timestamp)
- Select format (1: pretty JSON, 2: minified JSON)
- Choose whether to include metadata (y/n)
- File is saved with all your password metadata
- Launch
clipassman - Select option 3: Export/Import Passwords
- Select 2: Import passwords from file
- Enter filename to import
- Review export metadata if present
- Confirm import (y/n)
- See statistics of added/skipped/invalid entries
- Select option 2: Get/Delete Password
- Choose password entry
- Select 2: Delete entry
- Confirm deletion with 'y'
- Select option 4: Clear All Passwords
- First confirmation with 'y'
- Type 'DELETE ALL' to confirm
- Minimum 12 characters (enforced)
- Case-sensitive
- Use mix of: uppercase, lowercase, numbers, symbols
- Never store digitally
- NEVER use your password description as secret phrase
"MyStrongSecretPhrase2026!" - mixed case + numbers + symbols
"P@ssw0rd!LongSecret" - special chars + numbers + length
"КотБегемот2026НаДиете" - Cyrillic + numbers
"GitHub Account" - using description as secret (weak!)
"password" - dictionary word, too short
"1234567890" - only digits, too short
"qwerty123" - keyboard pattern
There is no "forgot password" button. This is by design:
- No central server can reset your passwords
- No support team can recover your access
- Your secret phrase is the ONLY key
This is the price of true decentralization - you are completely in control.
CLIPassMan produces identical passwords to:
| Platform | Application |
|---|---|
| Desktop Python | Desktop Manager |
| Desktop C# | Desktop C# Manager |
| CLI C# | CLI Manager (C#) |
| CLI Generator C# | CLI Generator (C#) |
| Rust CLI | CLI Manager (Rust) |
| Rust GUI | Desktop Manager (Rust, GUI) |
| Rust TUI | Desktop Manager (Rust, TUI) |
| Web | Web Manager |
| Android | Android Manager |
Core Libraries:
- smartpasslib - Python
- smartpasslib-js - JavaScript
- smartpasslib-kotlin - Kotlin
- smartpasslib-go - Go
- smartpasslib-csharp - C#
- smartpasslib-rs - Rust
CLI Applications:
- CLI Smart Password Manager (Python) (this)
- CLI Smart Password Generator (Python)
- CLI Smart Password Manager (C#)
- CLI Smart Password Generator (C#)
- CLI Smart Password Manager (Rust)
Desktop Applications:
- Desktop Smart Password Manager (Python)
- Desktop Smart Password Manager (C#)
- Desktop Smart Password Manager (Rust, GUI)
- Desktop Smart Password Manager (Rust, TUI)
Other:
Your secret phrase is the cryptographic master key
- Permanent data loss: Lost secret phrase = irreversible loss of all derived passwords
- No recovery mechanisms: No password recovery, no secret reset, no administrative override
- Deterministic generation: Identical input (secret + length) = identical output (password)
- Single point of failure: Secret phrase is the sole authentication factor for all passwords
- Secure storage required: Digital storage of secret phrases is prohibited
Critical: Test password regeneration with non-essential accounts before production use
The security of your passwords depends entirely on your secret phrase.
- Minimum 12 characters is enforced by the application
- Short secrets (under 12 chars) are automatically rejected
- Use a mix of: uppercase, lowercase, numbers, symbols
- A 12-character secret with diverse character types provides practical brute-force immunity
Remember: The app cannot recover your secret phrase. If you lose it, all passwords are permanently lost.
Copyright (©) 2026, Alexander Suvorov
- CLI Manager Issues: GitHub Issues
- Core Library Issues: smartpasslib Issues
- Documentation: Inline help (option 5) and this README
Note: Always test password generation with non-essential accounts first. Implementation security depends on proper usage.