How a password manager keeps your vault secret

Guide7 min readUpdated 15 NOV 2026

Your master password is stretched into a 256-bit key with Argon2id, a deliberately slow, memory-hard function. That key encrypts each item with AES-256-GCM on your device, so anything that syncs is already sealed and useless without your password.

Every good password manager makes the same promise: only you can read your vault. Here is how Zen Passwords keeps it, step by step, with the real settings the app uses.

Step 1: turning a password into a key

A password is too short and predictable to use directly as an encryption key. So it goes through a key derivation function. Zen Passwords uses Argon2, the winner of the Password Hashing Competition, in its Argon2id variant, which RFC 9106 recommends as the default.

Argon2id is designed to be slow and to need a lot of memory. Zen Passwords asks for 64 MiB of memory and three passes for every attempt. For you, that is a moment at unlock. For an attacker trying billions of guesses, every single guess needs that memory, which makes large-scale guessing slow and expensive.

Step 2: sealing each item

Items are encrypted with AES-256-GCM. GCM is an authenticated mode: as well as hiding the contents, it detects any change to the sealed bytes, so a tampered item is rejected rather than misread. Every encryption uses a fresh random nonce.

Step 3: what leaves the device

When your devices use iCloud, only sealed data travels, through your own private iCloud database. Zen Passwords runs no server that holds your vault, and never receives your master password or your key. Without iCloud, nothing leaves the device at all.

The extra layer: a Secret Key

A vault can also carry a random Secret Key, printed in your Emergency Kit. The key that unlocks the vault then depends on both your password and that random key, so a guessed password alone opens nothing.

You can see AES-256-GCM working on the home page: type anything into the demo and it is genuinely encrypted inside your browser.