1. Two secrets, and neither leaves your device
When you create an account, your device generates a Secret Key: 28 random characters (about 140 bits) printed on your Recovery Kit. It is combined with your master password on your device to produce your Account Unlock Key.
That step uses Argon2id, a deliberately slow, memory-hard function: 64 MiB of memory and 3 passes for every attempt. It makes guessing your master password expensive, and because the Secret Key is part of the input, a password guess is useless without it. An attacker who somehow got your encrypted vault would need both secrets.
2. Signing in without sending your password
Credly signs you in with SRP (the Secure Remote Password protocol, SRP-6a with the 4096-bit group from RFC 5054 and SHA-512). Your device proves it knows the secret without ever sending it, so there is no password for anyone to intercept or for us to log.
What the server stores to check you, the SRP verifier, is derived from your Account Unlock Key rather than from your password alone. So even a stolen copy of our user database can't be used to guess master passwords offline: every guess would also need your Secret Key.
3. How your vault is encrypted
- Every item has its own key. Logins, notes, cards, passkeys, SSH keys and attachments are each encrypted with a random key using XChaCha20-Poly1305, an authenticated cipher: any tampering with the ciphertext is detected and rejected.
- Item keys are locked by a vault key, and each vault key is locked to your account's public key (X25519).
- Your account's private key is locked by your Account Unlock Key, which exists only in your device's memory while Credly is unlocked.
So everything hangs off the two secrets in section 1. Lock Credly and the keys are wiped from memory; nothing stored on disk or on our servers can be opened without them.
4. Sharing without handing us the key
When you share a vault or an item, your device locks its key to the other person's public key. Only their devices can open it, and our servers just pass along the locked copy.
One-time share links work the same way in reverse. The decryption key is in the part of the link after the #, which browsers never send to a server. We store only the encrypted item, with the expiry and view limit you set.
5. Adding a new device
To sign in on a new device, you can scan a QR code from one that is already signed in. The new device creates its own key pair, and the device you approve on sends the unlock key locked to that new key. Our servers relay that locked copy once and can't read it.
6. Unlocking with a passkey
You can let a passkey unlock your vault without typing your master password. Passkeys that support the WebAuthn PRF extension (iCloud Keychain, Google Password Manager and recent security keys) can compute a secret that never leaves the authenticator, and only after your fingerprint, face or PIN.
When you turn this on for a passkey, your device uses that secret to encrypt a copy of your unlock key and Secret Key, and stores only that encrypted copy with us. Signing in with the passkey proves who you are to our server and lets your device decrypt the copy again. Our server never receives the passkey's secret, so it can't open the copy. Turning it on needs your master password, it's off by default, and it's switched off automatically if you change your master password or recover your account.
The trade-off: with passkey unlock on, anyone who can use that passkey (your unlocked phone and your fingerprint, say) can open your vault. Turn it on only for passkeys you keep to yourself.
7. If you forget your master password
Your Recovery Kit's Secret Key can open a separate, encrypted recovery copy of your keys, so you can choose a new master password. Keep the kit somewhere safe and offline: anyone holding it should be treated like someone who knows your password. If you lose both the master password and the kit, the vault can't be decrypted, by you or by us. That is the trade-off of zero knowledge.
8. Protecting your account
- Two-factor authentication: once you add an authenticator app or a passkey, signing in with your password also needs one of them (passkeys can't be phished), with one-time recovery codes as a fallback.
- Re-confirming your master password before sensitive actions such as deleting your account or leaving travel mode, so an unattended open session can't do them.
- Lockouts and rate limits on sign-in attempts, and an email alert when your master password is used on a device we haven't seen before.
- Travel mode: our servers refuse to serve any vault you haven't marked safe for travel, as if it didn't exist, until you turn travel mode off again.
- Sessions are random tokens; we store only their hashes. Every connection uses TLS, including the one between our servers and our database.
9. What our servers can see
Zero knowledge covers your vault's contents, not everything. To run the service, our servers see your email address, your devices and sign-in history, each item's type and the website host used to show its icon, the names of your folders, and billing records. The privacy policy lists everything we collect and why.
10. Found a vulnerability?
Please tell us. Our contact details are in security.txt. We'll acknowledge your report and keep you updated while we fix it.