Self-Hosted
Zero-Knowledge Vault
A private, encrypted password manager built on the philosophy of absolute data sovereignty. If I don't hold the keys, I don't own the data.
The Problem: Data Sovereignty
I grew tired of seeing notifications from Apple and Google saying, "Your password may have been compromised." Relying on Big Tech for security felt like a vulnerability in itself.
This project was born out of a core belief: I must own my data, or die trying. I wanted to prove that I could build a system where I am the only person on earth who holds the encryption keys—not a cloud provider, and not even the server admin (me).
The "Zero Knowledge" Rule
The server never sees the password. All encryption and hashing happen on the client device (iOS) before the data ever touches the network.
Security Architecture
Award-Winning Hashing
I chose Argon2 for hashing the master password. Unlike older algorithms (MD5/SHA), Argon2 is memory-hard, making it resistant to brute-force attacks using GPUs.
- Salted & Hashed on device
- AES-256 for vault items
- No plaintext ever leaves the phone
First Steps in API Design
This was my first project dealing with real REST verbs (GET, PUT, POST). Learning how to structure a Java API to securely handle authentication requests without exposing user data was a massive learning milestone.
// Returns encrypted blob only
Project Status & Roadmap
iOS App (MVP)
Fully functional login, encryption engine, list view, and "Copy to Clipboard" utility.
Backend API
Java application running on a Docker container, persisting encrypted strings to MySQL.
Chrome Extension
Planned integration to sync passwords directly to the desktop browser for seamless autofill.