Auto Auth Filler

Frequently asked questions

The awkward ones first, because those are the ones worth answering honestly.

Why do I see an “unverified app” warning?

Because verification is behind a paid annual audit

Google classifies gmail.readonly as a restricted scope. Clearing that warning requires an annual third-party security assessment called CASA, which costs several hundred euro a year. This is a free extension with no revenue, written by one person, so that assessment has not been paid for.

Google permits an unverified app to be published with a limit of 100 users. At the warning screen, click Advanced and then continue.

On Firefox that link names allizom.org rather than Auto Auth Filler. That is Mozilla's own domain: Firefox derives the OAuth redirect address from it, and Google's warning names the redirect target rather than the application. The address has no DNS record at all, so nothing is ever sent there. The extension reads the authorisation code out of the tab address locally and closes the tab.

What is the 100 user limit?

An unverified Google app can have at most 100 users, permanently

The cap is set by Google and does not reset. Once 100 Google accounts have granted access, no further account can sign in until the app is fully verified. If that becomes a real problem, it is a good problem, and it would justify paying for the assessment.

Why only Gmail?

Because a second provider is a second OAuth integration

Outlook, iCloud Mail and IMAP each mean their own authentication, their own API, their own review process and their own privacy disclosures. Gmail was chosen because it is the one most people use. Support for another provider is possible but is a substantial piece of work rather than a setting.

Why does it run on every website?

Because a verification field can appear on any domain

Sites email one-time codes during sign-in, sign-up, password reset, email confirmation and checkout. That set is not something anyone can list, so a list of allowed sites would silently fail on the one site you needed.

What the content script actually reads is form-field metadata: the field name, id, placeholder, aria-label, the associated label, the input mode, the maximum length and the text of the surrounding form. It does not read page content generally, does not watch what you type and sends nothing anywhere. On a page where nothing scores above the detection threshold it does nothing at all: no overlay, no network request.

The alternative, activeTab, only grants access after you click the toolbar icon. At that point you have done as much work as opening your inbox, and the extension has no reason to exist.

Will it touch my payment details?

No. Card fields are refused outright

Card fields are rejected on three signals: the browser's own cc-csc, cc-number and cc-exp autocomplete tokens, unambiguous card wording in both languages and words that mean a card security number only on a payment form. Refusal is absolute rather than a low score, so no other evidence can outvote it.

A 3-D Secure challenge during checkout still works, because that is a genuine emailed code rather than card data.

Is Safari, iPhone or iPad supported?

Safari is not supported, and will not be soon. Here is the honest reason

Safari extensions can only be built, signed and tested with Xcode, which runs on macOS only. The developer of this extension works on Windows and has no Mac, so a Safari build cannot be produced, let alone tested. Shipping one would also require an Apple Developer membership at $99 a year, and an iOS extension has to be delivered inside an App Store app.

There is also an unresolved technical question. Safari's support for the identity API that this extension uses to sign in to Google is inconsistent between sources, and it would have to be tested on real hardware rather than researched. Until someone can do that, claiming Safari support would be a guess.

Chrome, Edge, Brave, Opera and Vivaldi all work on macOS, so the extension is usable on a Mac today, just not in Safari.

Is my mail safe?

Nothing leaves your browser, and you can verify that yourself

There is no server, no account and no analytics. The only network requests go to three Google addresses, to read your own mail. Message contents are held in memory only while the patterns run over them and are never written to disk or logged.

The scope requested is gmail.readonly, which Google enforces: the extension cannot send, delete or change anything, whatever its code says. The source is public, unminified and readable exactly as shipped, so none of this has to be taken on trust. Full detail is in the privacy policy.

I read that the client secret is inside the extension

It is, by necessity, and PKCE is what protects the flow

Google's Web application client type requires a client secret at the token endpoint even when PKCE is used, and Firefox forces that client type because its redirect address is an HTTPS URL. The secret therefore ships inside the package, where anyone who unpacks it can read it.

The authorisation flow uses PKCE with SHA-256, so an intercepted authorisation code cannot be exchanged for a token without the verifier, which never leaves the extension. Somebody with the secret could impersonate this application on a Google consent screen; they could not read anyone's mail, use anyone's tokens or bypass consent. This is documented rather than hidden, in SECURITY.md.

Something is broken, or I have an idea

Bug reports and suggestions go to GitHub issues. There are forms for a bug and for a site that does not work, and they ask for the shape of the code rather than the code itself, since the shape is what determines whether a pattern matches.

Please never paste a real verification code, a real email address or an access token into a public issue.

A security flaw should go through private vulnerability reporting instead of a public issue.