Skip to content

Does your browser look like a bot?

Anti-bot scripts run a short list of checks before anything else: driver flags, injected globals, headless traits and patched functions. This page runs the same kind of checks locally and shows exactly what gave you away.

Not run

Nothing has been measured yet.

The test runs nine automation and headless probes in this page and scores what they find. One of them writes a single entry to the console's verbose log.

Runs in your browser. Nothing is kept.
Bot score
-
Checks run
-
Flagged
-

01Reading

How detection works

One contradiction is enough.

Detection scripts do not need certainty. They need one value a real browser could not produce.
  • 01

    Stock automation fails before the first click

    An unpatched driver sets navigator.webdriver, leaves cdc_ keys or helper globals on the page, and headless builds miss plugins, languages or window.chrome. Each of these is free to read and none of them occurs in a browser a person is using.
  • 02

    Patching the tell is a tell

    Overwriting a native function, deleting a property or faking the plugin list leaves its own trace: functions that no longer report native code, properties missing from a build that always has them, arrays that do not agree with each other. Passing means the browser never had the tell to begin with.

VeilBrowser profiles run on a patched Chromium build rather than a stock driver with stealth scripts on top, so there is no driver artifact to remove and no patch to detect.