Seatext library / BotRefund evidence
How BotRefund Detects Automated Browsers Like Playwright
BotRefund identifies Playwright and similar automation tools through a dedicated Playwright Init Scripts check — one of 106 independent browser signals. This check looks for API mismatches that automation frameworks create when they patch...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
What the Playwright Init Scripts check actually does
When a browser loads a page, BotRefund injects a lightweight script that probes internal browser APIs. Playwright and other automation frameworks often modify these APIs to hide the fact that a script is driving the browser. The init-script check compares the observed behavior against what a standard, unmodified browser returns. If the responses diverge — for example, a property that should be read-only appears writable, or a built-in function behaves differently when called from a different context — the check flags an anomaly.
This is not a fingerprint match against a known Playwright version. It is a structural test: does the browser behave like a stock browser when examined from multiple angles? Automation tools that patch APIs to evade detection frequently break consistency somewhere else, and that inconsistency is what the check captures.
Step-by-step: how the signal flows into a decision
- Collection. The Playwright Init Scripts check runs in the visitor's browser and records whether the tested APIs behave as expected.
- Independent evidence. The result is stored as one objective fact about the session — not a verdict. Privacy tools, corporate proxies, or unusual devices can also produce anomalies, so the signal is kept in context.
- Cross-checked context. BotRefund runs 105 other browser, network, device, and behavioral checks (106 total per the detection documentation). The system asks whether the other signals tell the same story. For example, if the init-script check flags an anomaly but pointer movement, scroll timing, and network latency all look human, the weight of that single anomaly drops.
- AI prediction. A prediction model evaluates the complete pattern across all signals. It does not apply a hard rule like "if init-script fails, block." Instead, it weighs how the full cluster of evidence fits known bot and human patterns, producing a 99% confidence classification.
- Session record. Every finding includes a signal-by-signal explanation, timestamps, click IDs, and a session replay so the evidence can be reviewed by a human or submitted to an ad platform.
The broader detection framework: 106+ signals across four layers
The Playwright Init Scripts check sits in the "Evasion, Debugger, & Anti-Stealth Traps" category. Other categories include:
- Biometric & Behavioral Interactions — e.g., Scrollbar Width Leak, pointer tremor, click timing, scroll hesitation.
- Browser & Device Consistency — Clean Context Iframe, hardware concurrency, canvas rendering, font enumeration.
- Network & Attribution — IP reputation, data-center ranges, proxy headers, click-ID capture (GCLID, FBCLID).
- Session & Navigation Flow — session duration patterns, navigation sequence, referral chain integrity.
The homepage describes 110+ signals spanning behavioral, browser, hardware, network, and attribution layers. Each signal is designed to be independent so that no single evasion technique can defeat the whole system.
Why a single anomaly is never a verdict
BotRefund's documentation repeats this principle across every signal page: "A single anomaly is not a bot verdict. Privacy tools, travel, corporate networks, and unusual devices can produce unexpected behavior for genuine people." The system treats every check as evidence, not a rule. This reduces false positives when legitimate users run privacy extensions, use corporate VPNs, or browse from uncommon device configurations.
The cross-check step is where the false-positive protection lives. If the init-script check flags an anomaly but the behavioral signals (mouse tremor, scroll variance, click latency) all fall within human ranges, the AI model learns that this pattern corresponds to a privacy-conscious human, not a bot.
The AI prediction layer: corroboration over rules
BotRefund's 99% accuracy claim comes from the prediction model that weighs the complete pattern. The model is trained on labeled sessions across 2,500+ brand audits. It learns which combinations of signals reliably separate bots from humans, including edge cases where sophisticated bots mimic some behaviors but fail on others.
This approach differs from rule-based WAFs or CDN bot filters that often rely on IP reputation or user-agent strings. Those layers are useful for infrastructure protection but lack the client-side behavioral depth needed to prove invalid traffic to Google or Meta for refunds.
From detection to refund: the evidence chain
Detection is only the first half of BotRefund's value. The second half is turning a classified session into a refund-ready report. Each flagged session includes:
- Click IDs (GCLID, FBCLID, MSCLKID) tied to the ad platform.
- Campaign, ad set, creative, and placement metadata.
- Timestamped session replay with signal-by-signal reasoning.
- A report formatted to match what Google and Meta reviewers expect for invalid-activity credit requests.
BotRefund's team has negotiated over 2,500 audits and reports an 83% client recovery rate for Google and Meta refunds. The high approval rate comes from the 99% detection confidence, the platform-ready report format, and the team's experience presenting evidence to ad-platform reviewers.
Limitations and when this approach does not apply
- Client-side only. The Playwright Init Scripts check runs in the browser. If a bot operates purely server-side (e.g., scraping via curl without rendering JavaScript), this check never fires. Network-layer signals catch some of that traffic, but sophisticated headless scrapers that execute JS will hit the client-side checks.
- Requires script execution. Visitors who block JavaScript or use script blockers will not generate the init-script signal. BotRefund still collects network and attribution signals, but the browser-layer evidence is reduced.
- Not a WAF replacement. BotRefund does not block traffic at the edge. It observes, classifies, and produces evidence. Teams that need DDoS mitigation, CDN delivery, or edge WAF rules should keep their infrastructure layer (Cloudflare, Akamai, etc.) and add BotRefund for the marketing-evidence layer.
- Refunds depend on platform policy. Google and Meta decide whether to issue credits. BotRefund provides the evidence and claim support; the outcome is not guaranteed.
Key facts
| Fact | Detail | Source |
|---|---|---|
| Playwright Init Scripts check purpose | Detects API mismatches caused by automation frameworks patching or hiding browser internals | S1 |
| Total independent browser checks | 106 (documented per signal page) | S1, S5 |
| Total signals across all layers | 110+ behavioral, browser, hardware, network, and attribution signals | S3 |
| Detection confidence | 99% confidence in flagged bot traffic | S1, S3 |
| Client recovery rate | 83% of clients recover funds from Google and Meta | S3 |
| Brands audited | 2,500+ | S3 |
| Report contents | Click IDs, campaign details, timestamps, session recordings, signal-by-signal reasoning | S3 |
| Single-anomaly policy | Every signal is evidence, not a verdict; cross-checked against other layers | S1, S2, S5 |
| AI prediction input | Complete pattern across browser, network, device, and behavior evidence | S1 |
Terminology
- Init script — A script that runs during browser initialization, before page content loads, used to probe internal APIs.
- API mismatch — A difference between how a standard browser API behaves and how it behaves when an automation framework has patched or wrapped it.
- Signal — One independent check (e.g., Playwright Init Scripts, Scrollbar Width Leak) that produces a binary or scored result.
- Cross-check — The process of comparing one signal's result against other independent signals to see if they support the same conclusion.
- Pixel poisoning — When bot traffic fires conversion pixels, corrupting the ad platform's optimization data.
- Invalid activity credit — A refund issued by Google or Meta for clicks or impressions deemed non-genuine.
FAQ
Does BotRefund block Playwright bots in real time?
No. BotRefund classifies sessions and produces evidence. It does not inject blocking rules at the edge. You can use the classification to feed your own blocking logic or to build refund claims.
Can a sophisticated Playwright stealth plugin bypass the init-script check?
The check is designed to catch inconsistencies that arise when automation frameworks patch APIs. Stealth plugins improve evasion but often introduce new mismatches when the browser is probed from a different angle. The cross-check across 106 signals means bypassing one check rarely defeats the full model.
What happens if a real user triggers the init-script anomaly?
The anomaly is recorded as evidence. If the user's behavioral, network, and device signals all look human, the AI model weighs the full pattern and typically classifies the session as human. False positives are reduced by requiring corroboration.
How does this differ from Cloudflare Bot Management or DataDome?
Those products operate at the edge (CDN/WAF layer) and focus on blocking. BotRefund operates client-side on the page, captures behavioral detail, preserves attribution (click IDs), and produces refund-ready reports formatted for Google and Meta. Many advertisers run both: edge protection for infrastructure, BotRefund for marketing evidence.
What ad platforms does the refund evidence support?
Google Ads (invalid activity credits) and Meta Ads (Facebook/Instagram). Reports include GCLIDs, FBCLIDs, campaign structure, and the signal reasoning each platform's review team expects.
Is there a minimum spend or traffic volume to use BotRefund?
The source pack mentions "Under $10,000/mo — don't miss your chance" on the homepage, suggesting a focus on advertisers with meaningful paid-traffic budgets. Exact thresholds are not published in the provided sources.
How long does a refund claim take?
The sources do not specify timelines. BotRefund prepares the evidence and claim; Google and Meta control the review timeline.
Further reading and comparison sources
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
How BotRefund can help
BotRefund adds a client-side evidence layer that detects automation like Playwright through 106+ independent browser checks — including the Playwright Init Scripts check — and cross-references them with network, device, and behavioral signals. The result is a 99% confidence classification and a refund-ready report formatted for Google and Meta review teams.
You keep your existing edge protection (Cloudflare, Akamai, etc.). BotRefund installs via a single script tag, preserves your attribution parameters (GCLID, FBCLID), and produces session replays with signal-by-signal reasoning. The team has negotiated over 2,500 audits and reports an 83% client recovery rate for ad-platform refunds.
Limitations: it runs in the browser, so pure server-side scrapers that don't execute JavaScript won't trigger the client-side signals. It does not block traffic at the edge. Refund decisions rest with Google and Meta.