Skip to content
botfilter

Guide

How to spot and filter AI-written email in Gmail

Gmail’s spam filter looks at senders and user reports, not at who wrote a message. Botfilter reads the writing and marks likely AI-written email on your device.

Drafted with AI from the source code and reviewed by Claude Opus 5.5 (claude-opus-5-5), an AI model.

Gmail’s spam filter is built to stop spam, phishing, and malware, not to tell you who wrote a message. To see which emails are likely AI-written, you need a detector that reads the message itself. Botfilter is a browser extension that does this inside Gmail: it stripes likely AI-written rows in your inbox and marks the body of an open message, with the probability on hover.

It runs on your device. The detection model ships inside the extension, there is no account, and it never signs in to your Google account. No email text or score ever leaves your browser, and Botfilter has no server to send anything to.

What Gmail’s spam filter checks, and what it leaves alone

Google describes its spam filters as machine learning trained on user feedback. In a 2022 post on the Google Workspace blog, it names signals including characteristics of the sending IP address and domains, whether bulk senders are authenticated, and what users do, such as marking a message as spam or moving a sender back to the inbox. Google says the filters block more than 99.9% of spam, phishing, and malware.

Since February 1, 2024, Google’s sender guidelines have required every sender to Gmail accounts to set up SPF or DKIM and keep reported spam below 0.3%. Senders of more than 5,000 messages a day must also set up SPF, DKIM, and DMARC, and support one-click unsubscribe on marketing and subscribed mail.

The signals Google names are about the sender and about how users react. A cold email tool that authenticates its domain, sends in small batches, and rarely gets reported can pass them all, whoever or whatever wrote the words. Nothing in Google’s description says the filter asks whether a person wrote the message, and Gmail offers its own drafting tool: “Help me write” uses Gemini to generate a new draft or refine one for tone. AI-generated cold email is ordinary mail as far as the inbox is concerned. Gmail decides what reaches your inbox; Botfilter marks what already arrived, so you can decide what to read first.

Signs an email was likely written with AI

You can often spot AI-written email by reading for what is missing. None of these signs proves anything on its own, because people wrote formal, template-shaped email long before chat assistants existed. Taken together, they are worth a second look:

  • Praise that fits anyone. “I came across your work and was truly impressed by your innovative approach” names no project, post, or product of yours.
  • No detail only the sender could know. A real prospect mentions the meeting where you met, the invoice number, or the thing that broke. Generated outreach describes benefits in general terms.
  • Every paragraph the same shape. A compliment, then three benefits in a row, then a soft request for “a quick 15-minute call,” each paragraph about the same length.
  • Follow-ups that repeat the pitch. “Just circling back in case this got buried” arrives on a schedule and adds nothing new.
  • A register that doesn’t match the sender. A newsletter or a colleague who usually writes in short lines suddenly sends polished, even, upbeat paragraphs.

Greetings and sign-offs are weak evidence, and Botfilter was trained to lean on them less. Its human work email had greetings and sign-offs stripped, and short greetings such as “Hi” and “Hello” were added to human and AI training text until both carried them at the same rate. They still move scores a little: in a validation test, adding a generic sign-off to human chat text raised its flag rate by 4.4 points.

How to detect AI-written email in Gmail with Botfilter

Botfilter marks inbox rows and open messages in different ways.

Inbox rows

Each row in the message list is judged on its subject line and preview text together. A likely AI-written row gets a thin orange stripe on its left edge. Rows are never outlined, folded, or removed, so your inbox keeps its order and nothing goes missing from the list. In Collapse and Hide, flagged rows are also dimmed so the rest stand out.

When you open a message, Botfilter scores its body and carries that score back to the thread’s row, so the row reflects the message instead of the short preview. In a long thread, the row shows the most recently scored message. If a row’s subject and preview come to fewer than 25 words, the row gets no mark until you open the message, and a body under 25 words gets no score at all.

The open message

In an open message, Botfilter scores the body only: not the sender, the subject, or the header. What happens next depends on the display mode you pick in the toolbar popup:

  • Outline draws an orange outline inside the message body and leaves it readable. Hover it to see the probability, such as “Likely AI-written · 97%.”
  • Collapse folds the body to a one-line bar. Click the bar to read the message.
  • Hide removes the body and leaves the header. The toolbar popup still counts it, and switching modes brings it back.
Outline, at Balanced. Two inbox rows carry the orange stripe, and the open cold email keeps its text with an outline and the probability on hover. The senders and messages are made up.
Collapse, at Balanced. Flagged rows are striped and dimmed, and the open message folds to a one-line bar you can click open. The senders and messages are made up.
Hide, at Balanced. Flagged rows stay in the list, striped and dimmed, and the open message’s body is removed while its header stays. The senders and messages are made up.

Botfilter changes only how Gmail looks in your tab. It cannot block, move, label, archive, delete, or report a message, and your mail is unchanged everywhere else you read it. To block a sender, use Gmail. If a message is marked by mistake, hover it and choose “Not AI,” and Botfilter stops marking that text on this device. In Hide, switch to Outline first, or use Not AI on the striped row. To turn Botfilter off in Gmail but keep it elsewhere, use the switch for this site in the toolbar popup.

The same modes work in feeds. For X, LinkedIn, and Reddit, see how to filter AI-generated posts on social media.

Your email stays on your device

Botfilter never signs in to your Google account or uses Gmail’s API. It reads only the Gmail page open in your tab, the same text you can see, which the browser’s site-data permission allows. Chrome’s install prompt names that permission: Botfilter can read and change data on the sites you visit. It scores that text with a 23.6 MB model that runs inside the browser.

  • No account. There is nothing to sign up for, and Botfilter has no server to sign in to.
  • No network requests for detection. The model and its runtime load from inside the extension. An automated test records every request while Botfilter scores a page and checks that none leave the browser.
  • What you type is never scored. Botfilter skips compose boxes and anything you can type into, so a reply you are writing is never read. Saved drafts and sent mail shown in Gmail’s lists are scored like any other row, on your device.
  • No email text is stored. On your device it keeps scores keyed by a hash of the text. For email it also keeps each thread’s score and word count under Gmail’s own thread ID, for up to 3,000 threads, until you clear it or the detector changes.

Other Gmail AI detectors work differently. GPTZero advertises its Chrome extension for automatic AI detection on Gmail. Pangram’s paid Individual plan, $20 a month billed annually, adds a Gmail integration, and Pangram’s data privacy page says it stores submitted text on its servers while your account is active. Botfilter scores the text in your tab and keeps none of it. It makes no claim to be more accurate than either; to weigh them for other jobs, see AI detectors compared and a private Pangram alternative.

Reporting spam also works differently: Gmail’s help page says Google receives a copy of any message you report or move to Spam. That is the right choice for real spam. Marking a message with Botfilter sends nothing to anyone.

To check the privacy claims yourself, including how to watch the model load with no network traffic, see how Botfilter runs AI detection on your device. The full list of what is stored, and for how long, is on the privacy page.

How often it flags human email

We tested Botfilter on a sealed split of texts held out from training and scored once. It included 3,605 human work emails and 952 AI-written emails. The sensitivity setting trades wrong flags against missed AI text:

Email results on the sealed test split, by sensitivity
SensitivityHuman work email flaggedAI email caught, 25 to 80 wordsAI email caught, over 80 words
Fewer0.8%94.3%99.7%
Balanced1.6%96.3%100%
More4.3%98.7%100%

Human work email: 3,605 texts from the Enron corpus, written 1999 to 2002, with headers, addresses, greetings, and sign-offs removed. Enron email was also used in training; these test texts were held out from it. AI email: 299 short and 653 long texts. Balanced is the default.

At Balanced, that means about 16 wrong flags for every 1,000 human work emails like the ones we tested. Short emails are harder: 1.9% of human emails between 25 and 80 words were flagged, against 1.2% of longer ones. Work email is one of the hardest kinds of human writing we measured: only web pages written before 2020 were flagged more often (1.8%). GitHub discussion was 1.2%, and news, Reddit posts, and UK Parliament transcripts stayed at or below 0.5%.

Mixed writing sits in between. In a smaller test of 401 edited texts across all kinds of writing, at Balanced, Botfilter flagged 10.6% of 180 human texts that an AI lightly polished, 55.6% of 124 heavy AI rewrites of human text, and 93.8% of 97 rough notes that an AI expanded into full prose. A message you wrote and then asked a tool to smooth out is usually left alone. A heavy rewrite is close to a coin flip. A message an assistant wrote from your bullet points usually is flagged.

Limits

Each mark is a probability, not a verdict. Human email can be flagged, especially formal work email, and a flag is not proof that anyone used AI, so don’t use it to accuse a sender. The human emails we measured are two decades old and had greetings and sign-offs removed, so real inboxes may see more wrong flags than the table shows. Botfilter was trained on English only, and it works in Gmail in a desktop browser, not in the Gmail mobile apps or other mail clients.

For why a small error rate can still mean many wrong flags in a busy inbox, see how accurate AI detectors are.

Combine Botfilter with Gmail’s tools in a busy inbox

If most of your inbox is cold outreach, use Botfilter alongside Gmail’s own tools:

  1. Choose a mode for how much you want to see. Outline suits a work inbox where you still read everything. Collapse suits a sales or recruiting inbox where you want to skim past likely AI-written pitches and open them only when the subject looks relevant.
  2. Choose a sensitivity for how costly a mistake is. Fewer flags about half as much human email as Balanced. Use it if missing a real person’s message would hurt. More catches the most AI text and flags the most human email.
  3. Report real spam to Gmail. For scams and mail you never asked for, use Report spam. Gmail says that as you report more spam, it identifies similar messages more efficiently.
  4. Unsubscribe or block repeat senders. Gmail says mail from a sender after you unsubscribe goes to Spam, and a blocked sender’s mail keeps going there.
  5. Filter senders you already know you don’t want. In Gmail, open search options, enter the criteria, and choose Create filter to label, archive, or delete matching mail. Gmail’s search operators let you match several senders at once, as in this search you can turn into a filter:
    A Gmail search you can turn into a filter
    from:dana@brightpath.example OR from:outreach@growth.example

Botfilter is in development, and its Chrome Web Store listing is coming soon. The install section will have the Chrome link as soon as the listing is live. Until then, Introducing Botfilter shows what it marks on each site.