clipassman
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.
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.
pip install clipassman
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
β οΈ This release uses smartpasslib v4.0.0, which is NOT backward compatible with v2.x.x or v3.x.x
Smart passwords created with older versions cannot be regenerated using v4.0.0.
π Full migration instructions β see MIGRATION.md
What You Can Do:
1. Create Smart Passwords: Generate deterministic passwords from secret phrases
2. Store Metadata Securely: Keep password descriptions and lengths without storing passwords
3. Regenerate Passwords: Recreate passwords anytime using your secret phrase
4. Manage Services: Organize passwords for different accounts and services
5. Secure Terminal Input: Hidden secret phrase entry with getpass
6. Verify Secrets: Prove knowledge of secrets without exposing them
7. Export/Import: Backup and restore your password metadata
8. Cross-Platform Management: Works on any system with Python
9. No GUI Dependencies: Pure terminal interface for servers and remote systems
Powered by smartpasslib v4.0.0+ β The core library for deterministic password generation.
Key derivation (same as Python/JS/Kotlin/Go/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 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 |
Legacy Migration:
- Old ~/.cases.json files from v1.x.x/v2.x.x/v3.x.x are NOT compatible with v4.0.0
- Public keys in old files use different derivation (fixed iterations, no salt)
- These files will not be migrated automatically
- If you have existing metadata, you need to recreate entries manually
- Keep old file as backup: ~/.cases.json.v3.bak
- See MIGRATION.md for detailed instructions
# Install from PyPI
pip install clipassman==4.0.0
# For systems with package conflicts
pip install clipassman==4.0.0 --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
clipassman"MyStrongSecretPhrase2026!" or "P@ssw0rd!LongSecret"clipassmanclipassmanclipassmanβ
"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:
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#) |
| Web | Web Manager |
| Android | Android Manager |
| Python Core | smartpasslib |
| Go Core | smartpasslib-go |
| Kotlin Core | smartpasslib-kotlin |
| JS Core | smartpasslib-js |
| C# Core | smartpasslib-csharp |
Core Libraries:
- smartpasslib - Python
- smartpasslib-js - JavaScript
- smartpasslib-kotlin - Kotlin
- smartpasslib-go - Go
- smartpasslib-csharp - C#
CLI Applications:
- CLI Smart Password Manager (Python) (this)
- CLI Smart Password Generator (Python)
- CLI Smart Password Manager (C#)
- CLI Smart Password Generator (C#)
Desktop Applications:
- Desktop Smart Password Manager (Python)
- Desktop Smart Password Manager (C#)
Other:
- Web Smart Password Manager
- Android Smart Password Manager
| Version | smartpasslib | Status | Migration Required |
|---|---|---|---|
| v2.x.x and below | v2.x.x | β Deprecated/Unsupported | Must migrate to v4.x.x |
| v3.x.x | v3.x.x | β Deprecated/Unsupported | Must migrate to v4.x.x |
| v4.0.0+ | v4.0.0+ | β Current | N/A |
Your secret phrase is the cryptographic master key
Critical: Test password regeneration with non-essential accounts before production use
The security of your passwords depends entirely on your secret phrase.
Remember: The app cannot recover your secret phrase. If you lose it, all passwords are permanently lost.
Copyright (Β©) 2026, Alexander Suvorov
Note: Always test password generation with non-essential accounts first. Implementation security depends on proper usage.