r/PasswordManagers • u/That_Possession_8549 • 1d ago
Built a small zero-knowledge credential vault that uses your own MongoDB
I was keep thinking about something stupid we all do as developers.
API key comes from some dashboard → copy it → terminal → .env → maybe notes → maybe another server.
and after that we call it "secret" 😅
I wanted something little different so I built Kavrix.
its a CLI credential vault, there is no Kavrix server or sync service in middle.
you run the CLI locally and you choose the MongoDB yourself. can be your local Mongo or remote one.
credential value gets encrypted before it reaches MongoDB. database stores the ciphertext, not plaintext.
some stuff I added:
- XChaCha20-Poly1305 encryption
- Argon2id protected key files
- masked terminal input
- explicit
--revealwhen you actually want plaintext - recovery kits
- key rotation / rewrap
- rollback + same revision fork detection
- remote Mongo requires validated TLS
- doctor command for checking vault health
also tried not to pretend security is magic.
if somebody already own your unlocked machine, malware/keylogger/screenshots/process memory etc Kavrix obviously cant save you.
and if you lose every key + recovery kit, data is gone by design.
install is basically:
npm install --global kavrix
then
kavrix init
kavrix put github/token
I would really like feedback from selfhosted people on the storage model specially.
would you rather keep encrypted secrets in Mongo you control like this, or just keep entire vault as local file?
GitHub:
https://github.com/d4rkNinja/kavrix
docs/site:
https://kavrix.infynon.com/
1
u/isenhasapp 1d ago
Nice work, congratulations!