python cli program to store your passwords locally in an encrypted SQLite database, protected by a master password.
- 🔐 Secure Storage: All passwords encrypted with AES-256 using your master password
- 🛡️ Strong Authentication: Master password hashed with Argon2
- 💻 Cross-Platform: Works on Windows, macOS, and Linux
- 🔍 Search & Organization: Find passwords by service name
- 📝 Rich Metadata: Store usernames, passwords, and notes for each service
- 🔄 Easy Management: Add, update, delete, and list your passwords
- 📋 Clipboard Support: Optional clipboard integration (with pyperclip)
pip install pryvagit clone <your-repo-url>
cd pryva
uv sync-
Initialize your password vault:
pryva init
-
Add your first password:
pryva add Gmail
-
Retrieve a password:
pryva get Gmail
-
List all your stored services:
pryva list
pryva initCreates a new password vault protected by your master password. This only needs to be done once.
pryva add <service_name>Adds a new password entry. You'll be prompted for:
- Username/Email
- Password
- Notes (optional)
pryva get <service_name>
pryva get <service_name> --copy # Copy to clipboardRetrieves and displays password information for a service.
pryva update <service_name>Updates an existing password entry.
pryva delete <service_name>
pryva delete <service_name> --force # Skip confirmationRemoves a password entry from the vault.
pryva listShows all stored service names.
pryva search <keyword>Finds services containing the specified keyword.
- Argon2 Password Hashing: Master password is hashed using Argon2, a memory-hard function resistant to GPU attacks
- AES-256 Encryption: Sensitive data is encrypted using AES-256 in CBC mode
- PBKDF2 Key Derivation: Encryption keys are derived using PBKDF2 with 100,000 iterations
- Secure Random Salt: Each vault uses a unique, cryptographically secure random salt
- Local Storage: Your data never leaves your device
Pryva stores your encrypted password database in:
- Linux/macOS:
~/.pryva/passwords.db - Windows:
%USERPROFILE%\.pryva\passwords.db
uv run pytestuv sync --extra clipboard- Master Password: Your master password can't be recovered
- Backup: Consider backing up your
~/.pryva/passwords.dbfile securely - Environment: Run Pryva in a secure environment
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Run the test suite
- Submit a pull request
This project is licensed under the MIT License
This software is provided as-is. While care has been taken to implement security best practices, use at your own risk. Always keep backups of important data.