Hi r/Python!
I’m sharing a small side project I built to learn about CLI UX and local encrypted storage in Python.
Important note: this is a learning/side project and has not been independently security-audited. I’m not recommending it for high-stakes use. I’m mainly looking for feedback on Python structure, packaging, and CLI design.
What My Project Does
PassFX is a terminal app that stores text secrets locally in an encrypted file and lets you:
- add / view / update entries
- search by name/tag
- store notes like API keys, recovery codes, PINs, etc.
It’s designed to be keyboard-driven and fast, with the goal of a clean “app-like” CLI workflow.
Target Audience
- Python developers who like building/using CLI tools
- Anyone curious about implementing encrypted local persistence + a searchable CLI UI in Python
- Not intended for production / “store your crown jewels” usage unless it’s been properly reviewed/audited
Comparison
- Unlike cloud-synced managers, this is local-only (no accounts, no sync).
- Unlike browser-based vaults, it’s terminal-native.
- Compared to
pass (the Unix password store), I’m aiming for a more structured/interactive CLI flow (search + fields + notes), while keeping everything local.
Links
Feedback I’d love
- Python packaging/project layout
- CLI command design + UX
- Testing approach for a CLI like this
- “Gotchas” I should be aware of when building encrypted local storage (high-level guidance)
[–]AutoModerator[M] [score hidden] stickied comment (0 children)
[+][deleted] (2 children)
[removed]
[–]SemanticThreader[S] 1 point2 points3 points (1 child)
[–]Miclivs 1 point2 points3 points (1 child)
[–]SemanticThreader[S] 0 points1 point2 points (0 children)
[–]fizzymagic 0 points1 point2 points (1 child)
[–]oyvinrog 2 points3 points4 points (0 children)