Zero-knowledge architecture
In KeyZula, encryption happens on your device, not on the server. Your master password is turned into a key on your device with Argon2id; the master password itself is never sent to the server. Every item in your vault has its own random key, and the item's name, username, website address and type are part of the encrypted data too.
The server syncs the encrypted data between your devices but can't read it. The full list of what the server can and can't see is on the How it works page.
Cryptography
For sharing, every user has an X25519 key pair, and a collection key is sealed to the recipient's public key. When a member is added, the admin compares the member's key fingerprint with them over a separate channel. The verified key is then pinned on the admin's device (stored encrypted with the admin's own vault key), and keys are shared with that member only while the key the server presents matches the pinned one; otherwise the admin is asked to verify again. Service account tokens use the same sealing mechanism.
If our servers are breached
An attacker only gets encrypted vault data; the contents, including item names and website addresses, can't be read. Your master password isn't on the server; the server only stores a separate verifier derived from it, hashed again with Argon2id.
The following information the service needs to work is not encrypted: your email address and name, item count and update times, organization name, members and permissions, the device and IP address you signed in from, and access logs (the item's ID, never its name or contents).
That's why a long, unique master password is your most important protection: someone who steals the encrypted data can only open the vault by guessing your master password, and Argon2id makes every guess deliberately expensive.
Account protection
- Two-step sign-in with an authenticator app, plus a recovery code
- Passkey sign-in; no master password on trusted devices
- Email alerts for sign-ins from unrecognized devices; sign out sessions remotely
- Auto-lock when idle, and the clipboard clears itself
- Admin-approved devices in organizations that use SSO; admin recovery is disclosed to the member, and the recovery copy is shared only after the member accepts (also for existing accounts that start signing in with SSO)
- Access logs of personal vault items are visible only to the vault's owner
Infrastructure and connections
Our servers are in Türkiye. All connections use HTTPS only (HSTS). The web vault is served with a strict Content Security Policy and contains no analytics or advertising scripts.
When you delete your account, your data is deleted and removed from backups within 14 days. Details are in the Privacy Policy.
Transparency and design choices
- The source code of our server and apps is closed. Our encryption library is open source on GitHub, and the full design is described in our security whitepaper.
- We're working on self-hosting; it's coming soon.
- We compare KeyZula with other password managers openly on the Compare page.
- The web vault's code is delivered by our server on each visit; the browser extensions and mobile apps are installed from their stores.
Reporting a security issue
If you've found a security issue, please tell us before sharing it publicly: email info@keyzula.com with "Security" in the subject line, and describe the issue, how to reproduce it and its possible impact. You can write in English, Turkish or German.
- We review every report. Please keep the details confidential until a fix is released.
- Limit your testing to your own account; don't access other users' data, disrupt the service or use social engineering.
- Our contact details are also published in machine-readable form: /.well-known/security.txt