Last updated 24 September 2026.
AutoAuthAPI holds two-factor secrets, so it is worth being exact about what is stored, what never is, and how to get rid of all of it.
| Data | Why | How |
|---|---|---|
| Your email address | It is your username, and the only way to recognise your account. | Plain text. |
| Your password | To sign you in. | Salted hash (scrypt). The password itself is never written down. |
| Your API key | To authenticate machine requests, and to re-show the key in your vault. | A SHA-256 hash for lookup, plus a Fernet-encrypted copy so the vault can display it again. |
| Your TOTP secrets | To compute your codes. | Fernet-encrypted (AES-128-CBC + HMAC-SHA256). The encryption key is held outside the database. |
| Issuer and label | So you can tell your entries apart. | Plain text — whatever you typed or the QR code contained. |
| Account creation time | Housekeeping. | Timestamp. |
| Account status | The operator can disable an account, for example when it is being abused. While it is disabled nobody can sign in to it and its API key is refused; nothing in it is deleted. | The time it was disabled, or nothing. |
| Operator action log | A record of what the operator did to an account — signing it out everywhere, replacing its API key, disabling, re-enabling or deleting it — so every such action can be checked afterwards. | The action, when, the account’s id and its email address as it was at that moment, and the operator’s own IP address. Kept when the account is deleted, because it is the record that the deletion happened, and not removed automatically. |
| Recent attempts (rate limiting) | To slow down password guessing and keep one account's API traffic from crowding out anyone else's. | The time of each recent sign-in attempt, signup, reset request and API or vault request, with the IP address or the account it counted against. A failed sign-in is recorded under a keyed hash of the address typed, never the address itself. A wrong password re-entered to change a password, to export an entry, to delete the account, to change sign-in methods, or by the operator to confirm an account action, is counted against the account and against the IP address, for ten minutes. The operator’s own attempts at the actions in the operator action log are counted too, against the operator’s account, for ten minutes; that count is not the log, which records only actions that changed something. Kept until the limit it counts toward has run its course: one minute for API and vault requests, ten minutes for sign-in, signup, and password re-checks (including attempts to connect Google), and one hour for password reset requests. Expired entries are then deleted and overwritten — in the file and in its write-ahead log — by a clean-up that runs about once a minute while the service is in use and the request that follows it; never included in a backup. |
If you use Continue with Google, AutoAuthAPI receives and stores only two things from Google — your email address and your Google account ID — and never your name, photo, contacts or Google password. Alongside them it keeps one yes/no flag: whether Google vouched that the Google account owns this AutoAuthAPI account's email address (true for Gmail and Google Workspace addresses).
otpauth:// string it contains is sent, over HTTPS.404.
Your data is never sold, rented, or shared with third parties, and it is not
used to train anything.Your TOTP secrets are yours, and you can take them with you. Each entry in your
vault has an Export link that shows the setup QR code and the
otpauth:// URI behind it, which any authenticator — Google
Authenticator, Authy, 1Password, Aegis, Bitwarden — can import. Exporting does not
remove the entry from AutoAuthAPI.
Be clear about what comes out. An export gives you the seed itself, in
plain text — the QR code, the base32 setup key and the otpauth://
URI are three renderings of the same secret, and nothing encrypts or wraps any of
them. It is a bearer credential: anyone who ends up with it — from a
screenshot, a photo of your screen, your clipboard, a screen share — can generate
valid codes for that account indefinitely, without your password and without
touching AutoAuthAPI at all. It cannot be revoked. The only way to invalidate an
exported seed is to turn two-factor off at the site it belongs to and set it up
again, which issues a new one. AutoAuthAPI produces no file and keeps no extra copy;
once it is on your screen, where it goes next is outside anything we control.
Because of that, the path to it is deliberately narrow — it is the only one in the whole service that reveals a stored secret rather than a code:
/api/. An API key lives in CI config and shell history, so it is
the credential most likely to leak; keeping seeds out of its reach is what
makes rotating a leaked key a complete fix rather than a partial one.HttpOnly,
SameSite=Lax and Secure. A session lasts 14 days
from when you sign in, and resetting your password or rotating your API key
signs out every other browser. We email you whenever a Google account is
connected to yours, and a password reset disconnects one that was connected
with only your password. The first password reset on an account whose
address had never been confirmed also replaces its API key.frame-ancestors and X-Frame-Options
so no other origin can frame your vault.AutoAuthAPI is not intended for anyone under 13, and accounts are not knowingly created for them.
If this page changes materially, the date at the top changes with it.
Alpha Marketing Group — privacy@autoauthapi.com.