Seatext library / BotRefund evidence

How to Test if Your Browser Automation Is Detectable: Stealth Readiness Checklist

To test if your browser automation is detectable, use public detection tools, compare pre- and post-script browser fingerprints, and check the console for automation flags like navigator.webdriver. This readiness checklist walks you through step-by-step...

Built for advertisers who need clear, refund-ready traffic evidence.

To test if your browser automation is detectable, start with public automation detection tools, compare browser fingerprints before and after your script runs, and inspect the browser console for automation-specific flags like navigator.webdriver. This readiness checklist walks you through ordered verification steps to catch stealth leaks in Playwright, Puppeteer, or similar automation scripts before they trigger bot detection systems.

Most modern detection systems do not rely on a single telltale sign. Instead, they look for mismatches between real user browsing behavior and the artifacts left by automation toolkits, such as patched browser APIs, inconsistent fingerprints, or unnatural interaction timing. A single anomaly is rarely enough to flag a session as automated, but multiple mismatches create a clear pattern.

What Browser Automation Detection Tools Look For

Detection systems scan for inconsistencies that almost never appear in genuine user sessions. Common targets include modified browser properties (like hidden plugins or non-standard user agents), runtime manipulation of built-in APIs, and behavioral patterns such as instant page loads or perfectly timed clicks. As BotRefund notes, automation tools often patch or hide browser APIs, but these changes can create mismatches when the browser is checked from a different angle (S1).

Advanced systems also cross-check signals across multiple layers: browser properties, network data, device hardware, and user behavior. This corroboration approach reduces false positives from legitimate edge cases like privacy-focused browsers, corporate networks, or unusual devices (S1).

Readiness Checklist to Test Automation Detectability

Follow these ordered steps to evaluate your script’s stealth before running it in production:

  1. Run a public automation detection tool first: Use free tools like Scrapfly’s Automation Detector, Rebrowser’s Bot Detector, or BrowserScan’s Bot Test to catch common, easy-to-spot leaks. These tools check for flags like navigator.webdriver, Chrome DevTools Protocol (CDP) exposure, headless mode indicators, and runtime API manipulation.
  2. Capture a baseline browser fingerprint: Before running your automation script, use a tool like BrowserLeaks or AmIUnique to record your browser’s default fingerprint, including canvas rendering, WebGL settings, screen resolution, user agent, installed fonts, and timezone.
  3. Run your script and capture a second fingerprint: Immediately after your script finishes executing, run the same fingerprinting tool again. Compare the two results: any unexpected changes to fingerprint attributes are a potential leak, as real user sessions do not have script-induced shifts in these values.
  4. Inspect the browser console for automation flags: Open the developer console during script execution and run navigator.webdriver — if it returns true, your browser is in WebDriver automation mode. Also check for automation-specific globals (like __puppeteer_evaluation_script__ for Puppeteer or Playwright-specific hidden properties), missing default plugins, or inconsistent language/timezone settings.
  5. Test against common anti-bot traps: Try accessing a site protected by Cloudflare Turnstile, Google reCAPTCHA, or a known bot-protected endpoint. Note if your script triggers an immediate challenge or block. Also test for asset starvation: confirm your browser loads all expected resources (images, fonts, third-party scripts) without automation-specific shortcuts that skip non-critical assets.
  6. Test across multiple environments: Run checks in both headless and headed modes, across different proxy setups, and with varying network speeds. A leak that only appears in one environment is still a risk if your production setup matches that environment.

Key Facts About Automation Detection Signals

Below is a summary of common detection signals and their context, based on published bot detection methodologies:

Detection SignalWhat It Checks ForCommon Automation ArtifactAccuracy Context
Playwright Init Scripts CheckMismatched browser API behavior from patched automation toolsHidden or modified APIs that break under alternate checksUsed as one of 110+ corroborating signals to avoid false positives from privacy tools or corporate networks (S1)
Asset Starvation CheckAutomation-specific shortcuts or missing browser resourcesIncomplete resource loading or tool-specific browser remnantsCross-checked with other signals; single anomalies are not treated as bot verdicts (S7, S1)
Multi-Signal CorroborationConsistency across browser, network, device, and behavior dataMismatched patterns across different data layersDelivers 99% detection confidence by weighing full visit patterns instead of single rules (S2)

Limitations of DIY Detection Testing

Public detection tools and DIY fingerprint checks only cover a small subset of the signals production anti-bot systems use. Spoofing individual flags like navigator.webdriver is trivial, but advanced detection systems look for inconsistencies across dozens of data points that are easy to overlook.

DIY testing also cannot replicate real-world behavioral analysis. Production systems track subtle patterns like mouse movement jitter, scroll speed variation, and typing cadence — traits that are hard to mimic perfectly with automation. A script that passes all DIY checks may still be flagged if its behavior is too uniform or too fast compared to real users.

Finally, a single clean test run does not guarantee long-term stealth. Detection systems update their checks regularly, and new leaks may appear when you update your browser version, automation library, or stealth plugins.

Common Mistakes When Testing Automation Stealth

  • Only testing in headless mode: Headless browsers have well-documented default leaks, but many teams only test in headless mode and forget to check headed mode, which is what most real users employ.
  • Spoofing flags without fixing root causes: Setting navigator.webdriver to false does not fix underlying API mismatches or fingerprint inconsistencies that detection systems can still spot.
  • Relying only on public detection tools: These tools check a limited set of common leaks, while production anti-bot systems use hundreds of checks, including proprietary behavioral and network signals.
  • Ignoring behavioral leaks: Even a perfectly spoofed browser fingerprint will be flagged if your script has unnatural timing, no scroll pauses, or identical click intervals that do not match real user behavior.

Frequently Asked Questions

Can I make Playwright completely undetectable?

No tool can guarantee 100% undetectability, as detection systems constantly update their checks. You can reduce detectability to near-zero by patching all API leaks, matching real user behavior, and testing against multiple detection suites, but new checks may emerge over time that expose previously hidden artifacts.

What's the fastest way to check for automation leaks?

Start with a public tool like Scrapfly’s Automation Detector or Rebrowser’s Bot Detector to catch common, high-impact flags like navigator.webdriver or CDP exposure. Follow up with a fingerprint comparison test to spot mismatches between your baseline browser state and your script’s modified state.

Do headless browsers always get detected?

Not always, but default headless mode has well-documented leaks (like missing default plugins, inconsistent screen resolution, and non-standard user agents) that make detection far easier. You can patch many of these leaks with stealth plugins, but headed mode with proper configuration is always harder to detect than default headless.

How often should I test my automation script for detectability?

Test every time you update your script, browser version, or stealth plugins. Detection systems update their checks regularly, so a script that was stealthy during your last test may have new, unpatched leaks today.

Does spoofing navigator.webdriver make my script undetectable?

No. navigator.webdriver is one of the easiest flags to spoof, and modern detection systems prioritize other signals like API behavior mismatches, fingerprint inconsistencies, and behavioral patterns. Spoofing this flag alone will not hide automation from advanced checks.

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.

Learn more