TOTP authenticator
Two-factor codes are generated locally, from the encrypted secret. You do not need a separate app on another device.
That is not a figure of speech. Below is exactly what happens, in order, from the moment you hit upload.
Illustration: four files, including a PDF contract and a password file, are placed in the vault. The terminal shows the steps: the key is derived from your password on this device, the file is encrypted locally with AES-256-GCM, uploaded in chunks, its integrity is checked, and the server only receives an unreadable block. The key never leaves the device.
What happens, in numbers, between the moment you hit upload and the server confirmation.
Argon2id, with 64 MiB of memory and 3 passes, turns your password into a master key. It takes under a second on a mid-range phone and runs separately so the interface never freezes.
One goes to the server as proof it is you. The other stays on the device and opens the vault. The second cannot be derived from the first, so the server cannot open anything with what it receives.
AES-256-GCM, in 4 MiB chunks. Each chunk has its own counter so it never repeats, and carries its own authentication tag.
Three in parallel, with automatic resume if the connection drops. Close the page halfway and it continues where it left off.
It recomputes the SHA-256 digest of each chunk. If it matches, it confirms. It has not seen the file name, the content, and it does not have the key.
Exactly the reverse. You enter the password, the key is recomputed on the device, chunks are downloaded and decrypted in memory. The file only touches disk decrypted at the moment you save it.
That is why we ask for your password again on every page reload. The key is not saved anywhere, not in cookies, not in browser storage. It lives only while the page is open. It is intentional, and it is the only way the statement above stays true.
The same encryption as the rest of the vault, applied to your passwords. Nothing is decrypted at our end.
When you import a file exported from Google, Chrome, Firefox, Safari, LastPass, Bitwarden, 1Password, KeePass, Dashlane, NordPass or Proton Pass, the file is read and decrypted in your browser. The folder structure is rebuilt on import, including nested folders, so you get back the same organisation you had.
The server only ever receives encrypted entries, exactly like any other file in the vault. We do not see the service names, the usernames, or the passwords.
Import from
Two-factor codes are generated locally, from the encrypted secret. You do not need a separate app on another device.
Random passwords or passphrases, with length and complexity of your choosing, right as you add an entry.
The weak and reused password detector runs on your device, over the already decrypted passwords. The result never leaves the browser.
You enter it, choose a new password, and the data stays intact. The code is regenerated after use and you print a new one.
The data is permanently inaccessible. There is no recovery procedure and it does not matter whether you can prove you own the account. Not a support limitation, a direct consequence of the architecture.