Seatext library / BotRefund evidence
How Anti-Bot Services Cross-Check Browser Signals: A Practical Guide
Anti-bot services cross-check browser signals by collecting dozens of independent data points across browser APIs, network attributes, device characteristics, and behavioral patterns, then feeding the full pattern into an AI model that weighs corroborating...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
Anti-bot services don't trust a single browser signal. They gather independent evidence from browser APIs, network attributes, device characteristics, and behavioral patterns, then cross-reference every signal against the others. When a visit shows a Playwright init script mismatch but normal mouse tremor, humanlike tab timing, and a residential IP with consistent timezone, the service treats the anomaly as noise. When the same mismatch appears alongside superhuman input speed, grid-aligned pointer paths, and a data-center IP, the combined pattern triggers a bot verdict. This corroboration approach is what lets BotRefund claim 99% accuracy across 106 checks.
How Cross-Checking Works: The Core Principle
Cross-checking means treating every signal as a witness, not a judge. A single anomaly — like a missing navigator.webdriver property or an unusual canvas fingerprint — can come from privacy tools, corporate proxies, or unusual hardware. Anti-bot engines therefore collect many signals, group them by category (browser, network, device, behavior), and look for internal consistency within each group and across groups.
BotRefund's architecture illustrates this: each of its 106 checks produces one objective fact. The Playwright Init Scripts check looks for API patches that automation tools leave behind. The Impossible Tab Speed check measures tab-switch timing that scripts can't replicate. Ghost Click Detection watches for clicks without the natural human intent sequence. None of these alone decides the outcome. The prediction AI weighs the complete pattern across all four evidence dimensions.
The Four Signal Categories Anti-Bot Services Monitor
Browser Signals
These come from JavaScript APIs and rendering behavior. Examples include navigator properties, canvas and WebGL fingerprints, permission states, and whether browser internals have been patched by automation frameworks. The Playwright Init Scripts check specifically hunts for mismatches between what a normal browser exposes and what an automated browser reveals after patching.
Network Signals
IP reputation, ASN type (residential vs. data center), TLS fingerprint (JA3), HTTP header order, and connection timing. A visit from a known proxy ASN with a mismatched timezone header raises suspicion, but only when paired with behavioral anomalies.
Device Signals
Screen resolution, color depth, battery status, hardware concurrency, touch support, and sensor data. Headless browsers often report generic or inconsistent device profiles — for example, a desktop user-agent with touch events enabled but no pointer events.
Behavioral Signals
Mouse movement curves, click timing, scroll patterns, form interaction speed, tab focus/blur sequences, and session duration. BotRefund's homepage lists specific behavioral checks: ghost click detection, honeypot trap interactions, robotic linear mouse movements, absence of humanlike mouse tremor, superhuman input speed (<1ms), grid-aligned movement patterns, absence of clicks or scrolling, and unnatural session durations.
From Raw Signals to Verdict: The Correlation Process
- Collection: Client-side scripts gather 100+ signals during the visit.
- Normalization: Each signal is mapped to an expected range for genuine traffic.
- Independent scoring: Every check produces a binary or weighted anomaly flag.
- Cross-category correlation: The engine asks: do browser anomalies align with network anomalies? Do behavioral anomalies match device anomalies?
- AI weighting: A model trained on labeled traffic weighs the full pattern. Corroborating signals amplify each other; contradictory signals cancel out.
- Verdict with confidence: Output is a probability score, not a hard rule. High-confidence bot verdicts trigger blocking or refund evidence; low-confidence visits get monitored.
This process explains why privacy-focused users rarely get blocked: their browser signals may look unusual, but their network, device, and behavior signals remain consistent with a real person.
Common Browser Signals That Get Cross-Checked
| Signal | What It Checks | Typical Bot Anomaly | Cross-Check Partners |
|---|---|---|---|
| Playwright Init Scripts | Browser API patching by automation frameworks | Patched navigator.webdriver, overridden chrome.runtime | Canvas fingerprint, WebGL renderer, permission states |
| Impossible Tab Speed | Tab activation/deactivation timing | Instant tab switches (<50ms) impossible for humans | Mouse movement, scroll events, focus/blur sequences |
| Ghost Click Detection | Clicks without natural intent sequence | Click events with no preceding mousemove/mousedown | Pointer behavior, motion tremor, input speed |
| Mouse Tremor | Micro-jitter in pointer movement | Perfectly smooth or perfectly linear paths | Click timing, path curvature, speed variance |
| Input Speed | Keystroke and form fill intervals | Sub-millisecond field population | Focus events, paste detection, scroll behavior |
| Honeypot Traps | Interaction with hidden page elements | Clicks or fills on CSS-hidden fields | Viewport position, scroll depth, element visibility |
Each row represents one of BotRefund's 106 independent checks. The power comes from the columns on the right — every anomaly is evaluated against its natural partners.
Why Single Signals Fail: Evasion and False Positives
Automation tools actively evade detection. Puppeteer Stealth, Playwright Stealth, and undetected-chromedriver patch the most famous tells — navigator.webdriver, chrome.runtime, permissions API. But evasion creates new inconsistencies. A patched navigator.webdriver may return undefined while the underlying browser still exposes automation traces in WebGL or timing APIs.
False positives are the other side. Privacy extensions (Privacy Badger, uBlock Origin), corporate MITM proxies, Tor Browser, and unusual hardware (e-readers, kiosks) all produce browser signals that look "wrong" in isolation. Cross-checking solves this: a Tor user has consistent network signals (exit node IP), device signals (standardized fingerprint), and behavior signals (human timing). The browser anomaly is real but uncorroborated.
Step-by-Step: How a Visit Gets Scored in Practice
- Page load: Client-side script initializes, starts collecting browser, device, and network signals.
- Interaction phase: As the user moves, clicks, scrolls, types, the script records behavioral streams at high resolution.
- Signal packaging: Every 100-500ms, a compressed payload ships to the detection API.
- Independent checks run: Each of the 106 checks evaluates its specific signal against expected ranges.
- Correlation matrix: The engine builds a signal-by-signal agreement map. Do browser anomalies cluster? Do they align with network anomalies?
- Model inference: The trained model outputs a bot probability (0-100%).
- Action threshold: Above a configurable threshold (e.g., 90%), the visit is flagged for blocking, refund evidence, or pixel suppression.
- Evidence logging: For flagged visits, the full signal set, correlation map, and model reasoning are stored for audit and ad-platform disputes.
BotRefund's case study with FinTrust shows this in action: suppressed conversion events for automated browser emulation signals ensured Facebook and Google AI trained only on verified bank accounts, recovering $140,000 in ad spend.
Limitations and When Cross-Checking Isn't Enough
- Sophisticated human-in-the-loop farms: Real humans paid to solve CAPTCHAs or fill forms produce genuine browser, device, and behavior signals. Cross-checking sees a real person. Detection shifts to pattern analysis across sessions (velocity, duplicate data, CRM outcomes).
- Residential proxy networks with real devices: Traffic routed through consumer devices with real browsers looks authentic at the signal level. Correlation across sessions (same device fingerprint across campaigns, impossible geo-velocity) becomes the primary signal.
- Zero-day automation frameworks: New tools that perfectly mimic browser internals may pass all 106 checks until the detection engine updates. This is an arms race; update latency matters.
- Privacy-preserving architectures: Browsers like Brave or hardened Firefox intentionally normalize fingerprints, reducing signal entropy. Cross-checking must rely more heavily on behavioral and network dimensions.
Key Facts
| Fact | Detail | Source |
|---|---|---|
| Independent checks per visit | 106 | S1 |
| Claimed detection accuracy | 99% | S1 |
| Signal categories | Browser, network, device, behavior | S1 |
| Playwright Init Scripts check purpose | Detect API patching by automation frameworks | S1 |
| Impossible Tab Speed check purpose | Detect tab-switch timing impossible for humans | S9 |
| Behavioral checks listed | Ghost click, honeypot, linear mouse, missing tremor, superhuman speed, grid-aligned paths, static sessions, unnatural durations | S2, S5 |
| Refund evidence capability | Video proof per bot click, GCLID logs, Google/Meta dispute support | S2, S8 |
| Setup time | About one minute, no credit card | S2, S5 |
| Ad spend recovery window | Google Ads back to 2017 | S2 |
FAQ
How many signals does a typical anti-bot service check?
BotRefund runs 106 independent checks per visit. Enterprise competitors (Cloudflare, DataDome, PerimeterX, Kasada) typically evaluate 50-200 signals across similar categories. The exact count matters less than whether signals are independent and cross-checked.
Can a VPN or privacy browser trigger a false positive?
Usually not. A VPN changes the network signal (IP, ASN) but leaves browser, device, and behavior signals intact. Privacy browsers normalize fingerprints, which reduces browser-signal entropy but creates a consistent pattern across all four categories. Cross-checking looks for corroboration, not perfection.
What happens when automation tools patch the famous tells?
Patching navigator.webdriver or chrome.runtime often introduces new inconsistencies — timing mismatches, WebGL renderer differences, or permission state conflicts. The Playwright Init Scripts check specifically hunts for these secondary mismatches. Evasion tends to shift anomalies rather than eliminate them.
How does cross-checking help with ad-platform refunds?
Google and Meta require evidence that clicks were invalid. A single anomaly (e.g., "no mouse movement") is weak evidence. A correlated pattern — data-center IP + superhuman input speed + honeypot interaction + impossible tab speed + Playwright patch artifacts — builds a case the platforms accept. BotRefund packages this as video proof and GCLID logs per click.
Does cross-checking work against human fraud farms?
Not at the single-visit level. Real humans on real devices produce genuine signals across all categories. Detection shifts to cross-session analysis: velocity (too many leads from one device), duplicate data patterns, CRM outcome correlation (no calls connected, no demos booked), and placement-level quality spikes.
How often do detection models update?
Continuous. New automation frameworks, browser versions, and evasion techniques appear weekly. BotRefund's AI model retrains on labeled traffic from its customer base. The 106 checks themselves expand as new browser APIs and evasion methods are discovered.
What's the practical difference between 99% and 99.9% accuracy?
At 1 million visits/month, 99% accuracy means 10,000 misclassifications (false positives + false negatives). 99.9% means 1,000. For ad budgets, each false negative is wasted spend; each false positive risks blocking a real customer. The cost difference scales with traffic volume and average CPC.
Further reading and comparison sources
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Learn more
Visit the website for more information.