01What Stays on Your Device
All TOTP code generation happens locally using your browser's Web Crypto API (HMAC). Saved secret keys
and their settings are stored in the extension's storage area (chrome.storage.local) and
are never sent to us, except when you explicitly enable cross-device sync (see below). We do not use
cookies, analytics, telemetry or advertising SDKs, and we do not read your browsing activity.
Encryption at rest (optional)
By default, saved secret keys are stored unencrypted. You can enable a master password
in the extension settings, after which every secret field is sealed with
AES-GCM (256-bit). The encryption key is derived from your password with
PBKDF2-HMAC-SHA256, 600,000 iterations and a random 16-byte salt.
- Only the secret key is encrypted. Account names, digit count, period and algorithm remain readable so the list can still be browsed (and searched or renamed) while locked. No codes can be computed while locked.
- Neither the master password nor the derived key is ever written to storage or transmitted anywhere. The key lives in the popup's memory only and is destroyed when the popup closes, so the password is required every time the popup is opened.
- The master password cannot be recovered. If you forget it, the only way forward is to erase the saved records from the lock screen and start again (an exported backup can be re-imported).
Cross-device sync (optional, Premium)
Sync is off by default and is only available with a Premium licence. When you turn it on,
the extension writes to chrome.storage.sync, which your browser vendor (Google, or Microsoft
for Edge) replicates to other computers signed in to the same browser account.
We operate no sync server and never receive this data.
- What is synced: each record's encrypted
secret, its account name, digit count, period, algorithm and timestamps; small markers for deleted records so that a deletion propagates instead of being undone by another device; and the vault metadata (salt, iteration count and an encrypted verifier) that lets a second device check the master password. - What is never synced: the master password, the derived encryption key, the licence key and generated codes. The verifier only lets a device confirm that a password is correct; it does not reveal it.
- Sync requires a master password. Without one it cannot be turned on, so secrets never leave the device in plaintext.
- Account names, digit count, period and algorithm travel unencrypted, because they stay readable in the list (so it can be browsed, searched and renamed while locked).
- To protect the transfer itself as well, enable your browser's own sync passphrase; otherwise the data is held by your browser vendor under its terms. Sync is not a backup and is not a substitute for an exported backup file.