✓ Allowlisted — indexing crawler (ClaudeBot, UA only). Enforcement bypassed.
PENDING 0% |
Clean environment, non-human input client A pristine real-browser environment combined with teleporting/trail-less input or teleport scroll — an agent driving a real browser. |
awaiting browser JS + input provenance |
PENDING 0% |
Human editing keys client Non-printing keys a human naturally uses while typing (Shift, Tab, Backspace, arrows, Ctrl/Cmd). A script that sets values or types plain characters won't emit these. |
awaiting typing |
PENDING 0% |
Scripted form fill client Sub-human fill time, zero-variance typing, or values set with no keystrokes. |
awaiting form typing |
PENDING 0% |
Click with no approach trail client A click with no preceding pointer movement and/or at the exact element center — injected input. |
awaiting the landing-page link click |
PENDING 0% |
Fixed click placement client Clicks land at the same relative spot inside targets (e.g. always dead-center) across many clicks — a scripted, fixed offset. Needs several clicks to conclude. |
awaiting clicks to watch placement |
PENDING 0% |
scrollIntoView teleport client Reached the link via a gesture-less, pixel-aligned scroll jump (scrollIntoView/scrollTo). |
awaiting scroll on the landing page |
| PENDING |
Patched navigator getter client A navigator property getter is not native code — an anti-detect patch. |
awaiting browser JS |
| PENDING |
CDP Runtime.enable leak client A console-getter fired, revealing a Chrome DevTools Protocol client (Puppeteer/Playwright/Selenium). |
awaiting browser JS |
| PENDING |
Node globals in the browser client Buffer/process/require present — Node context leaking into the page. |
awaiting browser JS |
| PENDING |
PhantomJS/Nightmare globals client Headless scripting globals (_phantom, __nightmare) present. |
awaiting browser JS |
| PENDING |
Playwright/Puppeteer bindings client Automation binding globals detected (__pwInitScripts etc.). |
awaiting browser JS |
| PENDING |
Selenium DOM attributes client Selenium leaves __webdriver/__selenium attributes on the document. |
awaiting browser JS |
| PENDING |
ChromeDriver cdc_ artifacts client cdc_ properties are injected by ChromeDriver (Selenium). |
awaiting browser JS |
| PENDING |
navigator.webdriver client Set to true by WebDriver-controlled browsers. |
awaiting browser JS |
| PENDING |
window.chrome object missing client UA claims Chrome but the window.chrome object is absent/stripped. (chrome.runtime alone is NOT expected on normal pages.) |
awaiting browser JS |
| PENDING |
Impossible window geometry client outerWidth/Height is 0 or screen.width < innerWidth. |
awaiting browser JS |
| PENDING |
Canvas blocked/zeroed client Canvas readback is blocked or zeroed. |
awaiting browser JS |
| PENDING |
Permissions/Notification contradiction client Permissions API state is impossible vs. Notification.permission (classic headless tell). |
awaiting browser JS |
| PENDING |
Empty navigator.languages client navigator.languages is empty or missing. |
awaiting browser JS |
| PENDING |
No plugins/mimeTypes client plugins.length and mimeTypes.length are 0 on a desktop Chrome UA. |
awaiting browser JS |
| PENDING |
Software WebGL renderer client SwiftShader/llvmpipe renderer — common in headless/VM/CI. |
awaiting browser JS |
| PENDING |
Implausible hardwareConcurrency client hardwareConcurrency is 0/1 or absurdly high. |
awaiting browser JS |
| PENDING |
Fingerprint changed between pages server JA4/UA/IP changed across the funnel's navigations — a multi-tool pipeline. |
awaiting the next page |
| UNCLEAR |
Funnel bypass / deep-link server Reached a later step out of order or without a real click on the previous page. |
landed directly (refresh or deep-link) |
| PASS |
Real-time AI agent server User-Agent of an on-demand AI fetcher (ChatGPT-User, Perplexity-User, Claude-User, Meta-ExternalFetcher) — a user driving an agent in real time, not an indexer. |
not a real-time AI agent |
| PASS |
HeadlessChrome in UA server User-Agent contains HeadlessChrome. |
no HeadlessChrome token |
| WARN |
Minimal Accept/Accept-Encoding server Accept/Accept-Encoding look like an HTTP library default, not a browser. |
*/* | gzip, br, zstd, deflate |
| PASS |
Non-browser User-Agent server The User-Agent is a known HTTP library or CLI tool (curl, wget, requests, Go, Java, PowerShell...) or is empty — a self-identified non-browser client. |
Mozilla/5.0 AppleWebKit/537.36 (KHTML, l… |
| FAIL |
Header order matches an HTTP library server The request header order matches curl/requests/Go rather than any browser. |
library:unknown |
| N/A |
TLS fingerprint vs User-Agent server The TLS ClientHello matches a scripting stack (curl/Go/Python) but the UA claims a browser. A real browser cannot emit that ClientHello. |
UA doesn't claim a browser |
| WARN |
IP is datacenter-owned server Datacenter/cloud ASN. A contributor, not proof (VPNs, cloud shells). |
AS16509 AMAZON-02 |