We're on Product Hunt today! Leave a comment
Authenticator 1.15.2 is here. See what's new
Version 1.15.0
With Pro, the extension keeps an encrypted copy of your accounts on our server. It is locked with a recovery code that never leaves your browser — we cannot open it.
{ "iid": "8b0e3c1a-4f5d-4e2b-9a7c-1d2e3f4a5b6c", "kid": "3f9a1c07d2b84e65", "auth": "q0Zt8xVb3N…5mR2kE=", "data": "v1.L7m2Qx9cT1aB4nVe.8sK3pW0yZ…fH6uJ2dR9cQ=="}
A cloud copy as it reaches our server, field by field. The accounts are the last line: encrypted in your browser before they are sent.
A backup of your 2FA secrets on someone else's server deserves a hard look, so here is exactly what reaches ours and what it can do with it.
Your accounts are encrypted in the extension with AES-256-GCM, under a key derived from your recovery code. What we store is that ciphertext — no name, issuer, secret or code can be read in it.
Our server keeps a short id of the code and a hash of a second value derived from it, which proves a browser holds the code. Neither lets anyone work out the code or the key. If you lose the code, we cannot open your copies either.
Like the automatic copies on your computer, a cloud copy only adds the accounts that are missing. Nothing you have is replaced or removed by a restore.
Turning cloud backup off deletes every copy, and it takes the code to do it — the install id the extension uses elsewhere is not enough. With password protection on, the code kept in the extension is encrypted under your password too.
None of this has to be taken on trust. The encryption, the request and the restore are in one file: read it on GitHub.
The full technical changelog is on GitHub: release notes.