Loading...
Loading...
Secure, self-hosted personal data vault with AES-256-GCM end-to-end encryption and PBKDF2 key derivation — zero plaintext storage, zero stored keys.

Password managers and note-taking apps store data in plaintext on their servers. Even with "encryption at rest," the provider holds the keys. For truly sensitive information — credentials, API keys, personal documents — zero-trust encryption is the only acceptable model.
Built a self-hosted platform using Node.js native crypto module. The core principle: encryption keys are derived at runtime from the user's password using PBKDF2 and are never stored anywhere. Without the password, the data is mathematically inaccessible.
Key management without key storage. The encryption key must be derived fresh on every login from the password + salt. Implemented a session-based key caching strategy where the derived key lives only in memory for the session duration and is discarded on logout.
Every project comes with tradeoffs. If I were to rebuild this today, I would invest more time in automated testing early in the cycle — catching edge cases in payment webhooks and encryption boundaries before they reach production. The architecture decisions held up well, but the test coverage should have matched the complexity from day one.
Continue exploring
Interested in working together?
I'm always open to discussing new projects and product ideas.
Was this project helpful?
Comments
0Be the first to share your thoughts.