Built so we can't see your data.

Zero-knowledge isn't a promise we make. It's how MimiKey is built: what it takes to decrypt your vault never reaches our servers. Here's exactly how.

Where we are MimiKey has not yet had an independent security audit. This page describes the current design and implementation. We'll update it when the audit is complete.

Encrypted before it ever leaves your device.

Each item is sealed into an envelope on your device, then uploaded. Our servers store and sync those envelopes, but never hold a key that opens them.

Your device

Keys are derived here from your master password and Secret Key. Items are encrypted and decrypted here.

GitHub
lin@example.com
••••••••

Encrypted envelope

The whole item is encrypted: title, URL, username, password and notes.

XChaCha20-Poly1305
  • 24-byte nonce
  • Ciphertext
  • Auth tag

MimiKey servers

Store and sync ciphertext. Nothing more.

What our servers store

  • Your email and account status
  • An SRP salt and verifier (your password can't be derived from it)
  • Encrypted items
  • Device public keys

What our servers never get

  • Your master password
  • Your Secret Key
  • Your vault keys
  • Any item in plaintext

Metadata we can see: how many items you have, the size of each ciphertext and when it changed.

Two secrets. Both required.

Your encryption keys are derived from your master password and your Secret Key together. One you remember; the other is a 128-bit random value generated on your device that only you hold.

  • Master password
  • Secret Key
  • Account salt
Argon2id
64 MiB memory · 3 iterations
  • Login material
    Used for SRP sign-in
  • Vault key
    Encrypts your items
  • Identity key
    Receives shared vaults
Each is derived in its own domain, so none can be computed from another.

Your password is never sent. Not even to sign in.

Your device uses SRP-6a to prove to the server that you know your master password, and the server proves it holds your verifier. The password never leaves your device, and captured traffic can't be replayed.

Why a Secret Key too?

With a password alone, leaked server data could be used to guess it offline. Adding a 128-bit Secret Key closes that door. It's generated once at sign-up and kept on your devices and in your Emergency Kit.

Cryptography in detail

Every algorithm is public and widely scrutinized. The core is written in Rust and shared by every app.

PurposeAlgorithmDetails
Item encryptionXChaCha20-Poly1305Each item gets its own subkey. Associated data binds the vault, item and revision, so ciphertext can't be moved into another item or vault.
Key derivationArgon2id + HKDF-SHA25664 MiB and 3 iterations slow down brute force. HKDF separates domains so subkeys are independent.
Sign-inSRP-6a2048-bit group with SHA-256. The server stores only a verifier, and both sides authenticate.
Shared vaultsX25519 sealed boxThe vault key is sealed to each member's identity key and bound to that vault and recipient, so it can't be passed on.
SignaturesEd25519Signs device identity and third-party requests to prevent forgery and replay.
PasskeysES256 (P-256)Private keys are stored as encrypted items and only sign on your device.

The same line, held on every device.

Secure Enclave and biometrics

With Touch ID or Face ID unlock turned on, the unlock material is protected by a key in the Secure Enclave and is useless on any other device.

Auto-lock after 5 minutes

After 5 minutes of inactivity your vault locks, and you'll need to verify again to see anything.

Clipboard clears in 30 seconds

Copied passwords and codes are cleared after 30 seconds. If you've copied something else since, MimiKey leaves it alone.

Revoke any device

Revoking takes effect immediately, and a revoked device can't fetch new data. Your last device can't be revoked, so you can't lock yourself out.

In the web vault, your Secret Key stays in that browser only, and your master password is never written to disk.

AI and other apps only get the one item you approve.

Apps connected to MimiKey can't read your vault. Every request goes through an approval card shown by MimiKey itself.

  • Approval cards live inside MimiKey

    Authorizing, picking, creating and editing items: every decision is rendered by MimiKey's own process. A connected app can't fake a card or tap it for you.

  • Sealed to one authorization

    The item you approve is encrypted to this authorization on this device. Our servers relay only ciphertext, and an app that intercepts the callback can't open it.

  • No lists, no other items

    Connected apps never see your item list, master password or Secret Key. When they ask you to save a new login, you type the password in MimiKey.

  • Take it back anytime

    Revoke an app in MimiKey and its tokens stop working immediately.

How approval cards work

What we haven't done yet, in plain sight.

  • An independent security audit has not been completed.
  • The web vault runs code served by our servers. If those servers were compromised, that code could be replaced. For everyday use, we recommend the native apps.
  • Sign-in uses SRP today. The stronger OPAQUE protocol is on our roadmap.
  • Revoking a device can't make it forget what it has already decrypted.
Read the full security model

Take your passwords back.

Sign up free and start using MimiKey on every device you own.