Summary

From password to key

Step Details
Password handling Any Unicode characters are allowed. Passwords are NFC-normalized so the same text always gives the same key. Whitespace counts.
Key derivation Argon2id (libsodium), 3 passes over 256 MiB of memory, with a random salt.
Master key A random 256-bit key, wrapped with AES-256-GCM under the password-derived key.
Changing password Only the wrapped master key is re-encrypted. Your files don’t need to be touched.
Wrong password Costs about one second of Argon2 work. Right and wrong answers take a similar time, and the app never reports a wrong password.

How data is encrypted

No plaintext at rest

iOS hardening

Encrypted backups

A backup is the vault’s own ciphertext packed into one file. It is never decrypted or re-encrypted on the way, so it is as strong as the vault itself.

What this protects against

Known limitations

We think it is important to be clear about these.

Choosing a password

Any characters work: letters, numbers, spaces, symbols and emoji. A few random words make a password that is strong and easy to remember. The app shows a strength estimate while you choose it.

Questions or findings

If you believe you have found a security issue, we would like to hear about it. Please write to info@hedgehogbits.com. See also /.well-known/security.txt.