AIVIS

Can a website tell an AI agent from a person?

10 automation stacks actually launched against a live page — not a list of tips.

AI agents are starting to browse, compare and buy on your pages. Whether you want to welcome them or keep them out, the first question is the same: can your site even see them? We launched real automated browsers — plain headless, headed, and progressively better stealth patches — against a live page and recorded, for each one, which detection checks fired. Read the ladder, not the last cell: every check a hiding stack defeats costs its author another specific fix, in every session and on every site.

10Automation stacks launched
24Detection checks
3Stacks that came out clean
89%Automated sessions in the census

What do AI agents get from your pages?

Free scan: what ChatGPT, Claude and Perplexity read on your site, and what to fix.

The stacks, and what gave them away

Each row is a browser actually launched against the page. The badges are the checks that fired on it.

Which checks earn their keep

How many stacks each check catches, counted only on the rows where it can be judged.

CheckLayerStacks caught
No real interaction observed on the pageIn page7 of 9
No Accept-Language header sentHTTP headers7 of 10
Sec-CH-UA version disagrees with the User-AgentHTTP headers6 of 10
navigator.webdriver is trueIn page3 of 9
WebGL renderer is a software rasterizerIn page3 of 9
Spoofed properties answer to an object that is not a browserIn page2 of 9
"Headless" in the User-Agent stringIn page2 of 9
"Headless" in the User-Agent headerHTTP headers2 of 10
Native browser functions have been replacedIn page1 of 9
navigator.plugins is not a real PluginArrayIn page1 of 8
Zero browser plugins and MIME typesIn page1 of 9
Pointer moved in a perfectly even progressionIn page1 of 1
A fresh realm disagrees with this oneIn page1 of 9
The refusal itself is acted out by page codeIn page1 of 8
User-Agent string disagrees with Client HintsIn page1 of 9
The webdriver flag has been rewrittenIn page1 of 9
Headers arrive in an order no Chromium emitsHTTP headers1 of 10
Known Selenium / ChromeDriver / PhantomJS markersIn page0 of 9
navigator.hardwareConcurrency is zeroIn page0 of 9
Empty navigator.languagesIn page0 of 9
Window outerWidth/outerHeight is zeroIn page0 of 9
Permissions API vs Notification.permission mismatchIn page0 of 9
No sec-fetch-* headers sentHTTP headers0 of 10
Header User-Agent differs from the in-page oneHTTP headers0 of 10

Live census

112 sessions have run the self-check in their own browser and posted back an anonymous verdict — never a fingerprint. Share of those sessions where each signal fired:

CheckShare of sessions
Zero browser plugins and MIME types95%
"Headless" in the User-Agent string92%
navigator.webdriver is true90%
WebGL renderer is a software rasterizer90%
No real interaction observed on the page17%
Pointer moved in a perfectly even progression5%
User-Agent string disagrees with Client Hints2%
The webdriver flag has been rewritten1%
Native browser functions have been replaced1%

Most sessions so far come from our own bench and from crawlers, not from a third-party audience: read it as a catalogue of signals, not as a measurement of the web.

Chromium-family browsers only (what the measuring machine has installed) and no GPU on it, so the software-renderer check fires on every row — there it is a property of the machine, not of automation. Last measured: 2026-09-20.