Argon2id Client KDF
Your browser combines your Master Password and 128-bit Emergency Secret Key with your 32-byte salt using Argon2id to derive a 256-bit Master Key in RAM.
A transparent breakdown of how PassKee encrypts your vault on your device, why our servers are mathematically unable to read your passwords, and how your 128-bit Emergency Secret Key protects you.
01 • Principle of Complete Privacy
PassKee is built on strict Zero-Knowledge end-to-end encryption. Your logins, cards, SSH keys, database credentials, and notes are encrypted and decrypted exclusively inside your browser. Data arrives on our servers as raw binary ciphertext (bytea) for which we never hold the key.
Your browser combines your Master Password and 128-bit Emergency Secret Key with your 32-byte salt using Argon2id to derive a 256-bit Master Key in RAM.
Your Master Key never leaves your device. To authenticate, the client computes HMAC-SHA256(MasterKey, "auth_login"), which the server hashes a second time with Argon2id.
Each user has a Curve25519 (X25519) keypair and a 256-bit Vault Key encrypted with AES-256-GCM. Every vault key is wrapped via ephemeral ECDH + AES-256-GCM with 12-byte random nonces.
After 15 minutes of inactivity—or when you click Lock—PassKee executes CryptographicOperations.ZeroMemory on your Private Key and Vault Key in RAM.
02 • Two-Key Protection Model
When you create a PassKee account, your browser generates a high-entropy 128-bit Emergency Secret Key alongside your Master Password. Together, they form a mathematical dual lock:
Sign In to PassKee): Requires your Email Address, Master Password, and your 128-bit Emergency Secret Key (PK-XXXX-...). Even if someone steals your password via phishing, they cannot sign in from their device without your Secret Key.Unlock Session): When signing in, check "Remember Secret Key for quick unlock in this session". PassKee encrypts your Secret Key in isolated sessionStorage using Argon2id, so unlocking after a 15-minute inactivity lock requires only your Master Password.GET STARTED
PassKee has generated your unique Emergency Secret Key on this device. You will need both your Master Password and this Secret Key to sign in.
If a service can reset your password by sending an email link, it holds the ability to access your account without your keys. Because PassKee is zero-knowledge and never stores your Master Password or Emergency Secret Key, we cannot reset your credentials or recover a locked vault remotely.
Enter your Email, Master Password, and the PK-XXXX-... Emergency Secret Key you copied during registration to decrypt your vault immediately.
If you still have an unlocked session on an authorized device, open Vault Actions (⋮) → Backup (Export to KeePass .kdbx), then register a new account and import that .kdbx file.
If you lose your Master Password or your Emergency Secret Key and have no signed-in device to export a backup, your encrypted vault remains permanently unreadable.
PK-XXXX-... Secret Key and keep it in a physical safe or locked drawer.04 • Share a Link to an Item
When you click Share on any item, PassKee clones the credential, strips any file attachments on your device, encrypts the payload with a fresh 256-bit AES-GCM key, and appends the 64-character hex key after #.
Exact Format of a PassKee Share Link
Files attached to an item are never shared/share/0195f8a27c4b7d3e9a10
Fetches the AES-256-GCM ciphertext blob and enforces your chosen expiration (1 hour, 1 day, 7 days, or 30 days) and view limit (Can be viewed only once).
#8f9d2a7e4c1b09f3... (256-bit Hex Key)
By HTTP specification, browsers never send the # fragment over the network. The recipient's browser extracts the hex key locally to decrypt the shared item in memory.