A self-hosted password manager where your master password never leaves your device. All encryption happens client-side — not even the server can read your data.
••••••••••••
••••••••••••
••••••••••••
Keyphra is designed to get out of your way. Install it, deploy it, forget about it.
Clone the repo, run npm install, and you're ready. No complex toolchains, no hidden dependencies, no surprises.
A single docker compose up gets you a production-ready instance. Self-host on any server, VPS, or even a Raspberry Pi.
No admin panels to babysit, no cron jobs to configure. It just works. Updates are a single pull-and-restart.
Built for engineers and teams who take security seriously. No cloud lock-in, no subscription, no compromise.
Your master password never leaves your device. All encryption and decryption happens entirely client-side using the Web Crypto API. The server stores only encrypted blobs it can never read.
100,000 iterations of PBKDF2-SHA256 transform your password into an unbreakable encryption key, using your email as a unique salt.
Add a second layer of protection with time-based one-time passwords. Works with Google Authenticator, Authy, and any TOTP app.
Chrome/Chromium extension with Manifest V3, auto-fill detection, smart domain matching, and configurable auto-lock timeout.
Run on your own server with full control. No cloud dependency, no monthly fees. Your data stays exactly where you put it.
Folders, favorites, full-text search across names, usernames, and URLs. Everything you need to manage hundreds of credentials.
The server is designed to be untrusted. Even if every byte of server data were leaked, your passwords remain cryptographically secure.
You enter your master password on your device. It is never transmitted over the network.
PBKDF2 with 100k iterations and your email as salt creates an AES-256-GCM key locally.
Every vault entry is encrypted in your browser before it ever touches the network or the server.
The server only ever sees ciphertext. No plaintext data, no master password, no encryption key.
Built with technologies you already know and trust, backed by browser-native cryptographic primitives.
Clone the repo, run three commands, and you have a production-ready password manager running on your own infrastructure.
# Clone and start
git clone https://github.com/ganry/keyphra.git
cd keyphra
docker compose up -d
# Your vault is live at localhost:5173