A local-only password manager with encrypted vault storage, recovery key support, GUI in Tkinter, and a dark paladin theme.
- Master password unlock with Argon2id key derivation and AES-GCM vault encryption.
- Random vault key wrapped by both master password and a recovery key (shown once; can be regenerated while unlocked).
- Entry management: add/edit/delete, tags, notes, URL/username fields.
- Password generator with selectable character sets and length.
- Search across name/username/URL/tags; details pane hides passwords by default with timed reveal.
- Clipboard copy with auto-clear; auto-lock after 3 minutes of inactivity; optional lock on minimize (default on) and unlock throttling/backoff.
- Change master password and regenerate recovery key while unlocked.
- Vault file controls: pick an existing vault, choose a custom path to create a new one, move/delete the vault file, or jump back to the default platform path.
- Platform-aware vault storage (Windows/macOS/Linux) and dark hacker-style UI with custom assets (
assets/paladin.png,assets/icon.png).
python -m pip install -r requirements.txtpython main.pyDefault vault path (includes "version": 1):
- Windows:
%AppData%\paladin\vault.enc - macOS:
~/Library/Application Support/paladin/vault.enc - Linux:
~/.local/share/paladin/vault.enc
- Install PyInstaller:
python -m pip install pyinstaller- Build (one-folder):
pyinstaller --noconfirm --clean --name paladin --windowed main.py- Result:
dist/paladin/paladin.exe
- Single EXE variant:
pyinstaller --noconfirm --clean --onefile --windowed --name paladin main.py- Result:
dist/paladin.exe
If you add custom assets, include them with --add-data "assets;assets" so the EXE can load paladin.png and icon.png.
- Back up your recovery key offline; regenerating replaces the old key.
- To change the master password, unlock then use "Change Master Password."
- To regenerate the recovery key, unlock then use "Regenerate Recovery Key."
- To move the vault, use "Move vault file"; to delete, use "Delete vault file" on the unlock screen.
- If minimizing causes unwanted locks, toggle "Lock on minimize" in the Settings menu.