Detection matrix

Real anti-detect tools and stealth browsers, run against the detector — one row each. You get its verdict, its coherence score, and exactly which tells gave it away. The suspicious near-misses sort to the top. For what each tool actually is, see the annotated evasion catalog.

105evaders
95caught (bot)
10suspicious
EvaderVerdictScoreConvicting tells
patchright-headfulsuspicious46%
camoufox-headfulsuspicious47%
camoufox-hardened-behavesuspicious49%
camoufox-hardenedsuspicious49%
camoufox-linux-coherentsuspicious49%
camoufox-linuxsuspicious49%
camoufox-socks-webrtcsuspicious49%
webrtc-leaksuspicious49%
zendriver-uach-behavesuspicious49%
zendriver-uachsuspicious50%
zendriverbot80%net.h2_header_order_vs_ua
camoufox-touch-incoherentbot85%br.pointer_touch_incoherent
fp-rotationbot85%br.fingerprint_unstable_within_session
curl-impersonatebot90%net.no_js_execution
nodriverbot92%br.headless_ua
pydollbot92%br.headless_ua
selenium-driverlessbot92%br.headless_ua
undetectedbot92%br.headless_ua
baseline-firefoxbot95%br.webdriver_present
camoufox-macosbot95%net.tcp_os_vs_ua, br.font_mac_internal
firefox-coherentbot95%br.webdriver_present
screen-depth-spoofbot95%br.screen_depth_incoherent, net.ch_platform_header_vs_ua
h2-settings-splitbot96%net.h2_settings_vs_order, net.no_js_execution
primpbot97%net.tcp_os_vs_ua, net.no_js_execution
go-tls-web-bot-auth-replaybot98%net.web_bot_auth_nonce_replay, net.no_js_execution
go-tls-web-bot-authbot98%net.web_bot_auth_invalid, net.no_js_execution
bravebot99%br.webdriver_present, br.headless_ua
go-tls-h2-rotatebot99%net.h2_unknown_vs_ua, net.h2_unstable_within_session, net.no_js_execution
go-tlsbot99%net.h2_unknown_vs_ua, net.no_js_execution, net.tls_pq_keyshare_vs_ua
h2-continuation-floodbot99%net.h2_continuation_flood, net.no_js_execution
h2-control-floodbot99%net.h2_control_flood, net.no_js_execution
h2-rapid-resetbot99%net.h2_rapid_reset, net.no_js_execution
max-stealthbot99%br.webdriver_spoofed, br.permissions_anomaly, br.no_chrome_object
accept-lang-spoofbot100%br.cdp_runtime_enabled, net.accept_lang_vs_navigator, br.headless_ua +5
apify-fp-injectbot100%br.cdp_runtime_enabled, br.permissions_anomaly, br.no_chrome_object +3
audio-noisebot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
audio-readback-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
azuretlsbot100%net.h2_header_order_vs_ua, net.tcp_os_vs_ua, net.no_js_execution +1
brave-fake-proxybot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
brave-fakebot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
camoufoxbot100%net.tcp_os_vs_ua, net.no_js_execution, net.tls_grease_vs_ua
canvas-geometry-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
canvas-liebot100%br.cdp_runtime_enabled, br.canvas_lie, br.headless_ua +5
canvas-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +6
cdc-leakbot100%br.webdriver_present, br.cdp_runtime_enabled, br.headless_ua +4
ch-ua-hardcodedbot100%net.tcp_os_vs_ua, net.no_js_execution, net.sec_fetch_vs_ua +3
chrome-clone-1bot100%br.webdriver_present, br.cdp_runtime_enabled, br.headless_ua +2
chrome-clone-2bot100%br.webdriver_present, br.cdp_runtime_enabled, br.headless_ua +2
chromium-firefox-ua-spoofbot100%net.tls_vs_ua_browser, net.h2_vs_ua_browser, net.ch_ua_vs_ua_browser +1
coalesce-proxybot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
coalesce-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
csp-bypassbot100%br.cdp_runtime_enabled, br.csp_bypassed, br.headless_ua +4
curl-http2bot100%net.h2_unknown_vs_ua, net.h2_header_order_vs_ua, net.tcp_os_vs_ua +4
datacenter-origin-proxiedbot100%net.datacenter_origin_proxied
domrect-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
electron-leakbot100%br.automation_globals, br.electron_process, br.cdp_runtime_enabled +5
firefox-os-spoofbot100%br.webdriver_present, net.tcp_os_vs_ua, br.navplatform_vs_ua +2
floor-spoofbot100%br.tostring_tampered, br.nav_property_spoofed, br.webdriver_getter_tampered +1
font-os-leakbot100%br.cdp_runtime_enabled, net.ch_ua_version_vs_ua, net.tcp_os_vs_ua +7
full-stealthbot100%br.cdp_runtime_enabled, net.ch_ua_version_vs_ua, br.ch_he_headless +7
go-tls-madeyouresetbot100%net.h2_unknown_vs_ua, net.h2_header_order_vs_ua, net.h2_madeyoureset +3
go-tls-rotatebot100%net.h2_unknown_vs_ua, net.ja4_unstable_within_session, net.no_js_execution +2
go-tls-static-extbot100%net.h2_unknown_vs_ua, net.tls_ext_order_static_within_session, net.no_js_execution +1
honeypotbot100%br.webdriver_present, br.cdp_runtime_enabled, br.honeypot_interaction +4
http2-naivebot100%net.h2_header_order_vs_ua, net.h2_vs_tls_browser, net.tcp_os_vs_ua +4
human-mousebot100%br.webdriver_present, br.cdp_runtime_enabled, br.headless_ua +3
iframe-spoofbot100%br.ua_platform_vs_ch_platform, br.cdp_runtime_enabled, net.ch_platform_header_vs_ua +9
ios-ua-spoofbot100%net.tls_vs_ua_browser, net.h2_vs_ua_browser, br.ua_platform_vs_ch_platform +11
ip-rotationbot100%net.ip_rotation_within_session, net.no_js_execution, net.sec_fetch_vs_ua +2
keystroke-humanbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +3
lang-list-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
lang-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
linear-botbot100%br.webdriver_present, br.cdp_runtime_enabled, br.headless_ua +3
measuretext-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
mobile-emulationbot100%br.webdriver_present, br.cdp_runtime_enabled, br.ch_he_headless +3
mobile-no-touchbot100%net.tls_vs_ua_browser, net.h2_vs_ua_browser, br.automation_globals +11
naive-tz-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +6
native-spoofbot100%br.native_invariant_violated, br.cdp_runtime_enabled, br.headless_ua +6
os-spoofbot100%br.cdp_runtime_enabled, net.ch_ua_version_vs_ua, net.tcp_os_vs_ua +5
patchrightbot100%br.headless_ua, br.ch_he_headless, br.permissions_anomaly +1
playwright-extra-coherentbot100%br.cdp_runtime_enabled, br.ch_he_headless, br.worker_divergence +2
playwright-extrabot100%br.cdp_runtime_enabled, net.tcp_os_vs_ua, br.ch_he_headless +3
quic-no-greasebot100%net.no_js_execution, net.sec_fetch_vs_ua, net.accept_encoding_vs_ua +1
rebrowserbot100%br.webdriver_present, br.headless_ua, br.permissions_anomaly +1
renderer-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +6
screen-impossiblebot100%br.screen_impossible, br.cdp_runtime_enabled, br.headless_ua +4
spoof-uabot100%net.tls_vs_ua_browser, net.h2_vs_ua_browser, net.ch_ua_vs_ua_browser +8
stale-enginebot100%br.cdp_runtime_enabled, net.ch_ua_version_vs_ua, br.ch_he_headless +5
stealth-naivebot100%br.webdriver_present, br.cdp_runtime_enabled, br.headless_ua +3
stealth-patchedbot100%br.cdp_runtime_enabled, net.ch_ua_version_vs_ua, net.tcp_os_vs_ua +7
tls-stale-templatebot100%net.tcp_os_vs_ua, net.no_js_execution, net.sec_fetch_vs_ua +3
trace-replaybot100%bh.trace_replay_within_session, br.cdp_runtime_enabled, br.headless_ua +4
tz-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +6
ua-rotationbot100%net.h2_unknown_vs_ua, net.h2_header_order_vs_ua, net.ua_rotation_within_session +5
uach-coherentbot100%br.cdp_runtime_enabled, br.permissions_anomaly, br.no_chrome_object +1
vanillabot100%net.tcp_os_vs_ua, net.no_js_execution, net.sec_fetch_vs_ua +2
webgl-caps-worker-spoofbot100%br.automation_globals, net.tls_ext_order_static_within_session, br.webdriver_present +3
webgl-renderer-spoofbot100%br.automation_globals, net.tls_ext_order_static_within_session, br.webdriver_present +9
webkit-safari-coherentbot100%net.h2_unknown_vs_ua, br.webdriver_present, net.tcp_os_vs_ua +3
webkit-ua-spoofbot100%net.tls_vs_ua_browser, net.h2_unknown_vs_ua, net.h2_header_order_vs_ua +8
webrtc-origin-datacenterbot100%net.datacenter_origin_proxied
worker-proxy-fixbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
worker-proxybot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
worker-spoofbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4
worker-wrapbot100%br.cdp_runtime_enabled, br.headless_ua, br.ch_he_headless +4