A lightweight, locally hosted command-line password manager built with Python. This tool provides secure credential storage by combining AES-GCM authenticated encryption with PBKDF2 key derivation, ensuring zero-knowledge local storage.
- Key Derivation: Master passwords are never stored. Instead, they are passed through PBKDF2-HMAC-SHA256 with 600,000 iterations and a cryptographically secure 16-byte random salt to generate the encryption key.
- Authenticated Encryption: Credentials are encrypted using AES-GCM (Galois/Counter Mode). This provides both confidentiality and data authenticity, ensuring the ciphertext cannot be tampered with in the SQLite database without detection.
- Secure Memory Handling: Master passwords and target passwords are read using the
getpassmodule to prevent echo in terminal histories or screen capture. - Cryptographic Randomness: The built-in password generator uses the
secretsmodule (rather than the predictablerandommodule) to ensure high-entropy credential generation.
This project relies on the standard Python standard library (for SQLite3, argparse, and secrets) and requires the cryptography package for AES and KDF operations.