Skip to content
Botscent

Reasons

Every reason id a verdict can carry, strongest first, and what each one means.

A verdict lists its reasons in the order of this table. The Half column says where Botscent reads the evidence. The Names column says whether the reason can name the agent.

ReasonHalfNamesWhat it means
signer.web-bot-auth.verifiedrequestyes, signerA Web Bot Auth signature on the request verified against a key bundled with this release.
signer.edge-verified-botrequestnoThe hosting platform verified the request as a known bot (Cloudflare's verified-bot category).
signer.web-bot-auth.declaredrequestyes, signerThe request carries a Web Bot Auth signature that did not verify here: an unknown or expired key, a signature outside its window, or a check that failed.
ua.declared-agent-tokenrequestyes, tokenThe user agent contains a token that declares software: an agent, fetcher, crawler, link previewer or HTTP client.
ua.page-declared-enginepageyes, page-declarationThe page's own navigator declares a hosted browser engine.
browser.webdriver-flagpagenonavigator.webdriver is true: the browser declares that automation controls it.
ua.headless-chromerequestnoThe user agent declares headless Chrome.
muse.cloud-browser.password-managerpageyes, muse1Password's accessor family on the credential methods, in Chrome 139 or later on Linux x86_64 rendering WebGL with SwiftShader: Muse's cloud browser.
instinct.credentials.wrapperspageyes, instinctThe credential methods are wrapped the way Instinct's cloud desktop wraps them; counts only together with the GeeTest pair.
instinct.geetest.accessor-pairpageyes, instinctThe GeeTest initialisers are the accessor pair Instinct installs; counts only together with the credential wrappers.
grok.cloud-computer.environmentpageyes, grok-botGrok Bot's cloud computer: Chrome 139 or later on Linux x86_64 rendering WebGL with SwiftShader, with at least 5 of 6 signs (a 1280x800 screen, the Ubuntu, Droid Sans and Cambria fonts, conditional mediation unavailable, the Google Chrome brand).
codex.prompt.anonymous-nativepageyes, codex-browserwindow.prompt has the Codex in-app browser's shape; counts only with a second Codex shell signal.
codex.keyboard.empty-layout-mappageyes, codex-browserThe keyboard layout map is empty, as in the Codex in-app browser; counts only with a second Codex shell signal.
codex.overlay.shadow-rootpageyes, codex-browserThe Codex in-app browser's overlay is attached to the document; counts only with a second Codex shell signal.
chatgpt.badge.activepageyes, chatgpt-chromeChatGPT for Chrome's activity badge was drawn on the page while its agent acted.
claude.marker.activepageyes, claude-chromeClaude for Chrome's activity marker was drawn on the page while its agent acted.
hidden.input.focus-emulatedpagenoTrusted input arrived while the document was hidden yet reported focus, which needs focus emulation.
hidden.input.trusted-pointerdownpagenoA trusted pointerdown arrived while the document was hidden, which no person can produce.