{
  "sample": false,
  "measuredAt": "2026-10-15",
  "host": {
    "os": "Windows 11 Home 25H2 (build 26200)",
    "cpu": "AMD Ryzen 9 8940HX, 32 threads",
    "gpu": "NVIDIA GeForce RTX 5070 Laptop GPU",
    "timeZone": "Caucasus Standard Time (UTC+4)",
    "locale": "en-US"
  },
  "network": "A fresh US residential exit (New York area) for every browser session, from one pool of three accounts that every tool used",
  "runsPerCell": 5,
  "caveats": [
    "The computer is in UTC+4 and every proxy exit is in New York. Wayfern, Camoufox and CloakBrowser use the time zone of the exit; stock Playwright, Chrome + Playwright, Puppeteer stealth, Patchright and nodriver keep UTC+4 by default.",
    "Pixelscan consistency, iphey and the VPN signal of Fingerprint flag a time zone that does not match the IP address. On a computer in the time zone of the exit, the tools that keep UTC+4 could score higher on Pixelscan consistency and iphey.",
    "Tools that do not manage WebRTC send it outside the proxy. A page that reads WebRTC can then see the IP address of the computer.",
    "Camoufox and CloakBrowser ran from 03:51 to 04:40 UTC on 15 October, about 2 hours after the other seven tools (23:06 to 01:46 UTC). They used the same computer and proxy pool.",
    "Camoufox picks a random operating system for each launch by default. Its runs show Windows and macOS user agents.",
    "CloakBrowser ran its free Chromium 146 binary, because the latest binary needs a sign-in. Fingerprint and Pixelscan report its launch() context as incognito, and iphey never finished a scan for it.",
    "A run lost to a timeout, a network error or a page with no verdict is an error. Errors do not count as fails, and each one ran again in a new session."
  ],
  "tools": [
    {
      "id": "wayfern",
      "name": "Donut Browser",
      "engine": "Wayfern 152.0.7977.64 (Chromium)",
      "driver": "Playwright 1.64.1",
      "kind": "donut",
      "mode": "headed",
      "logo": "wayfern",
      "homepage": "https://donutbrowser.com",
      "config": "Wayfern engine via Playwright persistent context, headed, Windows fingerprint from the engine, time zone, locale and geolocation set to the proxy exit",
      "version": "152.0.7977.64",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
      "launchErrors": 0
    },
    {
      "id": "pw-headless",
      "name": "Playwright Chromium (headless)",
      "engine": "Chromium 156.0.8078.4 headless shell",
      "driver": "Playwright 1.64.1",
      "kind": "automation",
      "mode": "headless",
      "logo": "playwright",
      "homepage": "https://playwright.dev",
      "config": "chromium.launch() defaults, headless, proxy only",
      "version": "156.0.8078.4",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
      "launchErrors": 0
    },
    {
      "id": "pw-headed",
      "name": "Playwright Chromium (headed)",
      "engine": "Chromium 156.0.8078.4",
      "driver": "Playwright 1.64.1",
      "kind": "automation",
      "mode": "headed",
      "logo": "playwright",
      "homepage": "https://playwright.dev",
      "config": "chromium.launch({ headless: false }), proxy only",
      "version": "156.0.8078.4",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
      "launchErrors": 0
    },
    {
      "id": "chrome-pw",
      "name": "Google Chrome + Playwright",
      "engine": "Google Chrome 155.0.8059.80",
      "driver": "Playwright 1.64.1",
      "kind": "automation",
      "mode": "headed",
      "logo": "chrome",
      "homepage": "https://www.google.com/chrome/",
      "config": "chromium.launch({ channel: \"chrome\", headless: false }), proxy only",
      "version": "155.0.8059.80",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
      "launchErrors": 0
    },
    {
      "id": "puppeteer-stealth",
      "name": "Puppeteer + stealth plugin",
      "engine": "Chrome for Testing 155.0.8059.79",
      "driver": "Puppeteer 25.14.0, puppeteer-extra 3.3.6, stealth plugin 2.11.2",
      "kind": "stealth",
      "mode": "headless",
      "logo": "puppeteer",
      "homepage": "https://github.com/berstend/puppeteer-extra",
      "config": "puppeteer-extra with puppeteer-extra-plugin-stealth defaults, launch({ headless: true }) as in its README, proxy only",
      "version": "155.0.8059.79",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
      "launchErrors": 0
    },
    {
      "id": "patchright",
      "name": "Patchright",
      "engine": "Google Chrome 155.0.8059.80",
      "driver": "Patchright 1.64.0 (Node.js)",
      "kind": "stealth",
      "mode": "headed",
      "logo": "patchright",
      "homepage": "https://github.com/Kaliiiiiiiiii-Vinyzu/patchright",
      "config": "launchPersistentContext with channel \"chrome\", headless false, viewport null, no custom user agent (README best practice)",
      "version": "155.0.8059.80",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
      "launchErrors": 0
    },
    {
      "id": "nodriver",
      "name": "nodriver",
      "engine": "Google Chrome 155.0.8059.80",
      "driver": "nodriver 0.50.6 (Python 3.11.9)",
      "kind": "stealth",
      "mode": "headed",
      "logo": "nodriver",
      "homepage": "https://github.com/ultrafunkamsterdam/nodriver",
      "config": "nodriver.start() defaults with installed Chrome, headed, proxy flag only",
      "version": "155.0.8059.80",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
      "launchErrors": 0
    },
    {
      "id": "camoufox",
      "name": "Camoufox",
      "engine": "Camoufox 156.0.1-beta.36 (Firefox)",
      "driver": "camoufox 0.5.8 (Python 3.11.9)",
      "kind": "stealth",
      "mode": "headed",
      "logo": "camoufox",
      "homepage": "https://camoufox.com",
      "config": "AsyncCamoufox(headless=False, geoip=True, humanize=True) with the proxy",
      "version": "156.0.1-beta.36",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:156.0) Gecko/20100101 Firefox/156.0",
      "launchErrors": 0
    },
    {
      "id": "cloakbrowser",
      "name": "CloakBrowser",
      "engine": "CloakBrowser Chromium 146.0.7680.177",
      "driver": "cloakbrowser 0.6.3 (npm, Playwright 1.64.1)",
      "kind": "stealth",
      "mode": "headed",
      "logo": "cloakbrowser",
      "homepage": "https://github.com/CloakHQ/CloakBrowser",
      "config": "launch({ proxy, geoip: true, headless: false, humanize: true }) as in its README, free binary (no account)",
      "version": "146.0.7680.177",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
      "launchErrors": 0
    }
  ],
  "tests": [
    {
      "id": "recaptcha-v3",
      "name": "reCAPTCHA v3 score",
      "vendor": "Google",
      "logo": "recaptcha",
      "category": "captcha",
      "url": "https://antcpt.com/score_detector/",
      "metric": "Score that Google returns for a token made on page load, verified server-side by the page",
      "kind": "score",
      "better": "higher",
      "passRule": "score >= 0.7",
      "unit": "",
      "note": "Every tool got a score of 0.9, headless Playwright too."
    },
    {
      "id": "turnstile-noninteractive",
      "name": "Turnstile, non-interactive widget",
      "vendor": "Cloudflare",
      "logo": "turnstile",
      "category": "captcha",
      "url": "https://peet.ws/turnstile-test/non-interactive.html",
      "metric": "A Turnstile token appears in cf-turnstile-response within 40 s with no input",
      "kind": "passfail",
      "better": "higher",
      "passRule": "token issued",
      "unit": "",
      "note": "Wayfern missed 1 run on each Cloudflare row. All 3 misses were in one slow session."
    },
    {
      "id": "turnstile-managed",
      "name": "Turnstile, managed widget",
      "vendor": "Cloudflare",
      "logo": "turnstile",
      "category": "captcha",
      "url": "https://peet.ws/turnstile-test/managed.html",
      "metric": "A token appears with no input or after one click on the checkbox",
      "kind": "passfail",
      "better": "higher",
      "passRule": "token issued, at most one click",
      "unit": "",
      "note": "Wayfern missed 1 run on each Cloudflare row. All 3 misses were in one slow session."
    },
    {
      "id": "cloudflare-challenge",
      "name": "Cloudflare challenge page",
      "vendor": "Cloudflare",
      "logo": "cloudflare",
      "category": "antibot",
      "url": "https://www.scrapingcourse.com/cloudflare-challenge",
      "metric": "The \"Just a moment\" page lets the browser through to the site within 45 s (at most one click)",
      "kind": "passfail",
      "better": "higher",
      "passRule": "reaches the protected page",
      "unit": "",
      "note": "Wayfern missed 1 run on each Cloudflare row. All 3 misses were in one slow session."
    },
    {
      "id": "kasada",
      "name": "Kasada",
      "vendor": "Kasada",
      "logo": "kasada",
      "category": "antibot",
      "url": "https://www.nike.com/",
      "metric": "Kasada sensor answer (/tl) on nike.com carries x-kpsdk-cr: true",
      "kind": "passfail",
      "better": "higher",
      "passRule": "x-kpsdk-cr is true",
      "unit": "",
      "note": "Kasada cleared every tool. The verdict is a response header, so this row has no screenshot."
    },
    {
      "id": "fingerprint-bot",
      "name": "Fingerprint bot detection",
      "vendor": "Fingerprint",
      "logo": "fingerprint",
      "category": "antibot",
      "url": "https://demo.fingerprint.com/playground",
      "metric": "Server API response shown on the playground: bot field",
      "kind": "passfail",
      "better": "higher",
      "passRule": "bot is not_detected",
      "unit": "",
      "note": "The VPN signal on this page is not part of the pass rule. It fires for the tools that keep UTC+4.",
      "caveat": 2
    },
    {
      "id": "fingerprint-tampering",
      "name": "Fingerprint tampering",
      "vendor": "Fingerprint",
      "logo": "fingerprint",
      "category": "fingerprint",
      "url": "https://demo.fingerprint.com/playground",
      "metric": "Server API response: tampering and tampering_details.anti_detect_browser",
      "kind": "passfail",
      "better": "higher",
      "passRule": "tampering false and anti_detect_browser false",
      "unit": ""
    },
    {
      "id": "datadome",
      "name": "DataDome",
      "vendor": "DataDome",
      "logo": "datadome",
      "category": "antibot",
      "url": "https://www.tripadvisor.com/",
      "metric": "tripadvisor.com loads without the DataDome captcha (geo.captcha-delivery.com) or HTTP 403",
      "kind": "passfail",
      "better": "higher",
      "passRule": "page allowed",
      "unit": "",
      "note": "A first HTTP 403 that turns into the site is a DataDome check that the browser passed. Camoufox had this in 2 runs."
    },
    {
      "id": "human",
      "name": "HUMAN (PerimeterX)",
      "vendor": "HUMAN Security",
      "logo": "human",
      "category": "antibot",
      "url": "https://www.zillow.com/",
      "metric": "zillow.com loads without the HUMAN \"Press & Hold\" block page or HTTP 403",
      "kind": "passfail",
      "better": "higher",
      "passRule": "page allowed",
      "unit": ""
    },
    {
      "id": "akamai",
      "name": "Akamai edge",
      "vendor": "Akamai",
      "logo": "akamai",
      "category": "antibot",
      "url": "https://www.lowes.com/",
      "metric": "lowes.com loads without the Akamai \"Access Denied\" page",
      "kind": "passfail",
      "better": "higher",
      "passRule": "page allowed",
      "unit": "",
      "note": "The lowes.com deny page does not name the Akamai product. Only headless Playwright was blocked."
    },
    {
      "id": "hcaptcha",
      "name": "hCaptcha",
      "vendor": "hCaptcha",
      "logo": "hcaptcha",
      "category": "captcha",
      "url": "https://accounts.hcaptcha.com/demo",
      "metric": "After one click on the checkbox: a token with no image challenge, or an image challenge",
      "kind": "passfail",
      "better": "higher",
      "passRule": "token with no image challenge",
      "unit": "",
      "note": "Every tool got an image challenge after one click. A headed Microsoft Edge driven by Playwright on the same computer and proxy pool got one too, so this row does not separate the tools.",
      "separating": false
    },
    {
      "id": "browserscan-bot",
      "name": "BrowserScan bot detection",
      "vendor": "BrowserScan",
      "logo": "browserscan",
      "category": "fingerprint",
      "url": "https://www.browserscan.net/bot-detection",
      "metric": "\"Test Results\" verdict on the bot detection page",
      "kind": "passfail",
      "better": "higher",
      "passRule": "Normal",
      "unit": ""
    },
    {
      "id": "deviceandbrowserinfo",
      "name": "Device and Browser Info bot test",
      "vendor": "deviceandbrowserinfo.com",
      "logo": "deviceandbrowserinfo",
      "category": "fingerprint",
      "url": "https://deviceandbrowserinfo.com/are_you_a_bot",
      "metric": "isBot and the number of true signals in the page JSON",
      "kind": "count",
      "better": "lower",
      "passRule": "isBot false",
      "unit": "signals"
    },
    {
      "id": "webdriver",
      "name": "navigator.webdriver",
      "vendor": "",
      "logo": "",
      "category": "automation-signal",
      "url": "https://deviceandbrowserinfo.com/are_you_a_bot",
      "metric": "hasWebdriverTrue / hasWebdriverInFrameTrue read by the page",
      "kind": "passfail",
      "better": "higher",
      "passRule": "false in page and iframe",
      "unit": ""
    },
    {
      "id": "cdp-automation",
      "name": "CDP automation (Runtime.enable)",
      "vendor": "",
      "logo": "",
      "category": "automation-signal",
      "url": "https://deviceandbrowserinfo.com/are_you_a_bot",
      "metric": "isAutomatedWithCDP / isAutomatedWithCDPInWebWorker read by the page",
      "kind": "passfail",
      "better": "higher",
      "passRule": "not detected",
      "unit": ""
    },
    {
      "id": "headless-user-agent",
      "name": "Bot user agent (HeadlessChrome)",
      "vendor": "",
      "logo": "",
      "category": "automation-signal",
      "url": "https://deviceandbrowserinfo.com/are_you_a_bot",
      "metric": "hasBotUserAgent read by the page",
      "kind": "passfail",
      "better": "higher",
      "passRule": "false",
      "unit": ""
    },
    {
      "id": "chrome-object",
      "name": "window.chrome object",
      "vendor": "",
      "logo": "",
      "category": "automation-signal",
      "url": "https://deviceandbrowserinfo.com/are_you_a_bot",
      "metric": "hasInconsistentChromeObject read by the page",
      "kind": "passfail",
      "better": "higher",
      "passRule": "consistent",
      "unit": ""
    },
    {
      "id": "plugins",
      "name": "navigator.plugins.length",
      "vendor": "",
      "logo": "",
      "category": "automation-signal",
      "url": "https://bot.sannysoft.com/",
      "metric": "Plugins Length row on bot.sannysoft.com",
      "kind": "count",
      "better": "higher",
      "passRule": "> 0",
      "unit": "plugins"
    },
    {
      "id": "sannysoft",
      "name": "bot.sannysoft.com",
      "vendor": "sannysoft",
      "logo": "sannysoft",
      "category": "fingerprint",
      "url": "https://bot.sannysoft.com/",
      "metric": "Red (failed) rows in both result tables",
      "kind": "count",
      "better": "lower",
      "passRule": "0 red rows",
      "unit": "rows",
      "note": "The Chrome (New) row fails when window.chrome is absent, which is normal in Firefox. Camoufox fails that row in every run."
    },
    {
      "id": "incolumitas",
      "name": "bot.incolumitas.com",
      "vendor": "incolumitas",
      "logo": "incolumitas",
      "category": "fingerprint",
      "url": "https://bot.incolumitas.com/",
      "metric": "FAIL entries in the new and old detection test JSON",
      "kind": "count",
      "better": "lower",
      "passRule": "0 FAIL",
      "unit": "fails",
      "note": "Its old WEBDRIVER check flags every Chromium browser that has a navigator.webdriver property. No Chromium tool can score 0 here."
    },
    {
      "id": "creepjs-headless",
      "name": "CreepJS headless",
      "vendor": "CreepJS",
      "logo": "creepjs",
      "category": "fingerprint",
      "url": "https://abrahamjuliot.github.io/creepjs/",
      "metric": "\"% headless\" on the main page",
      "kind": "score",
      "better": "lower",
      "passRule": "0%",
      "unit": "%"
    },
    {
      "id": "creepjs-like-headless",
      "name": "CreepJS like-headless",
      "vendor": "CreepJS",
      "logo": "creepjs",
      "category": "fingerprint",
      "url": "https://abrahamjuliot.github.io/creepjs/",
      "metric": "\"% like headless\" on the main page",
      "kind": "score",
      "better": "lower",
      "passRule": "< 40%",
      "unit": "%"
    },
    {
      "id": "creepjs-lies",
      "name": "CreepJS lies",
      "vendor": "CreepJS",
      "logo": "creepjs",
      "category": "fingerprint",
      "url": "https://abrahamjuliot.github.io/creepjs/",
      "metric": "Elements with the .lies class on the main page",
      "kind": "count",
      "better": "lower",
      "passRule": "0",
      "unit": "lies"
    },
    {
      "id": "pixelscan-bot",
      "name": "Pixelscan bot check",
      "vendor": "Pixelscan",
      "logo": "pixelscan",
      "category": "fingerprint",
      "url": "https://pixelscan.net/fingerprint-check",
      "metric": "Bot check tile",
      "kind": "passfail",
      "better": "higher",
      "passRule": "No automated behavior detected",
      "unit": ""
    },
    {
      "id": "pixelscan-masking",
      "name": "Pixelscan masking",
      "vendor": "Pixelscan",
      "logo": "pixelscan",
      "category": "fingerprint",
      "url": "https://pixelscan.net/fingerprint-check",
      "metric": "Fingerprint tile",
      "kind": "passfail",
      "better": "higher",
      "passRule": "No masking detected",
      "unit": ""
    },
    {
      "id": "pixelscan-consistency",
      "name": "Pixelscan consistency",
      "vendor": "Pixelscan",
      "logo": "pixelscan",
      "category": "fingerprint",
      "url": "https://pixelscan.net/fingerprint-check",
      "metric": "\"Your Browser Fingerprint is consistent\" banner",
      "kind": "passfail",
      "better": "higher",
      "passRule": "consistent",
      "unit": "",
      "note": "For the tools that keep UTC+4, the location tile shows \"Timezone spoofed\".",
      "caveat": 2
    },
    {
      "id": "iphey",
      "name": "iphey",
      "vendor": "iphey",
      "logo": "iphey",
      "category": "fingerprint",
      "url": "https://iphey.com/",
      "metric": "Hero verdict",
      "kind": "passfail",
      "better": "higher",
      "passRule": "Trustworthy",
      "unit": "",
      "note": "For the tools that keep UTC+4, the location tile is red.",
      "caveat": 2
    },
    {
      "id": "tls",
      "name": "TLS and HTTP/2 fingerprint",
      "vendor": "tls.peet.ws",
      "logo": "",
      "category": "network",
      "url": "https://tls.peet.ws/api/all",
      "metric": "JA4 and Akamai HTTP/2 hash compared with the real browser of the same version on the same host",
      "kind": "passfail",
      "better": "higher",
      "passRule": "both equal the real browser",
      "unit": "",
      "note": "Puppeteer stealth and headless Playwright ran headless. Their JA4 differs from the headed browser of the same version."
    }
  ],
  "results": [
    {
      "test": "recaptcha-v3",
      "tool": "wayfern",
      "runs": [
        0.9,
        0.9,
        0.9,
        0.9,
        0.9
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0.9,
      "display": "0.9",
      "pass": true,
      "detail": "score 0.9 (server-verified by the page)",
      "evidence": "/img/benchmark/evidence/recaptcha-v3-wayfern.webp"
    },
    {
      "test": "recaptcha-v3",
      "tool": "pw-headless",
      "runs": [
        0.9,
        0.9,
        0.9,
        0.9,
        0.9
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0.9,
      "display": "0.9",
      "pass": true,
      "detail": "score 0.9 (server-verified by the page)",
      "evidence": "/img/benchmark/evidence/recaptcha-v3-pw-headless.webp"
    },
    {
      "test": "recaptcha-v3",
      "tool": "pw-headed",
      "runs": [
        0.9,
        0.9,
        0.9,
        0.9,
        0.9
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0.9,
      "display": "0.9",
      "pass": true,
      "detail": "score 0.9 (server-verified by the page)",
      "evidence": "/img/benchmark/evidence/recaptcha-v3-pw-headed.webp"
    },
    {
      "test": "recaptcha-v3",
      "tool": "chrome-pw",
      "runs": [
        0.9,
        0.9,
        0.9,
        null,
        0.9,
        0.9
      ],
      "passes": 5,
      "total": 5,
      "errors": 1,
      "value": 0.9,
      "display": "0.9",
      "pass": true,
      "detail": "score 0.9 (server-verified by the page). 1 more run(s) lost (the page showed no verdict in time) and rerun",
      "evidence": "/img/benchmark/evidence/recaptcha-v3-chrome-pw.webp"
    },
    {
      "test": "recaptcha-v3",
      "tool": "puppeteer-stealth",
      "runs": [
        0.9,
        0.9,
        0.9,
        0.9,
        0.9
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0.9,
      "display": "0.9",
      "pass": true,
      "detail": "score 0.9 (server-verified by the page)",
      "evidence": "/img/benchmark/evidence/recaptcha-v3-puppeteer-stealth.webp"
    },
    {
      "test": "recaptcha-v3",
      "tool": "patchright",
      "runs": [
        0.9,
        0.9,
        0.9,
        0.9,
        0.9
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0.9,
      "display": "0.9",
      "pass": true,
      "detail": "score 0.9 (server-verified by the page)",
      "evidence": "/img/benchmark/evidence/recaptcha-v3-patchright.webp"
    },
    {
      "test": "recaptcha-v3",
      "tool": "nodriver",
      "runs": [
        0.9,
        0.9,
        0.9,
        0.9,
        0.9
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0.9,
      "display": "0.9",
      "pass": true,
      "detail": "score 0.9 (server-verified by the page)",
      "evidence": "/img/benchmark/evidence/recaptcha-v3-nodriver.webp"
    },
    {
      "test": "recaptcha-v3",
      "tool": "camoufox",
      "runs": [
        0.9,
        0.9,
        0.9,
        0.9,
        null,
        null,
        0.9
      ],
      "passes": 5,
      "total": 5,
      "errors": 2,
      "value": 0.9,
      "display": "0.9",
      "pass": true,
      "detail": "score 0.9 (server-verified by the page). 2 more run(s) lost (page load timeout or network error; the page showed no verdict in time) and rerun",
      "evidence": "/img/benchmark/evidence/recaptcha-v3-camoufox.webp"
    },
    {
      "test": "recaptcha-v3",
      "tool": "cloakbrowser",
      "runs": [
        0.9,
        0.9,
        0.9,
        0.9,
        null,
        null,
        0.9
      ],
      "passes": 5,
      "total": 5,
      "errors": 2,
      "value": 0.9,
      "display": "0.9",
      "pass": true,
      "detail": "score 0.9 (server-verified by the page). 2 more run(s) lost (the page showed no verdict in time) and rerun",
      "evidence": "/img/benchmark/evidence/recaptcha-v3-cloakbrowser.webp"
    },
    {
      "test": "turnstile-noninteractive",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        false
      ],
      "passes": 4,
      "total": 5,
      "errors": 0,
      "value": 0.8,
      "display": "4/5",
      "pass": true,
      "detail": "4 of 5 runs: token issued, no interaction. 1 of 5: no token within 40 s",
      "evidence": null
    },
    {
      "test": "turnstile-noninteractive",
      "tool": "pw-headless",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: token issued, no interaction",
      "evidence": "/img/benchmark/evidence/turnstile-noninteractive-pw-headless.webp"
    },
    {
      "test": "turnstile-noninteractive",
      "tool": "pw-headed",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: token issued, no interaction",
      "evidence": null
    },
    {
      "test": "turnstile-noninteractive",
      "tool": "chrome-pw",
      "runs": [
        true,
        true,
        true,
        false,
        true
      ],
      "passes": 4,
      "total": 5,
      "errors": 0,
      "value": 0.8,
      "display": "4/5",
      "pass": true,
      "detail": "4 of 5 runs: token issued, no interaction. 1 of 5: no token within 40 s",
      "evidence": null
    },
    {
      "test": "turnstile-noninteractive",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: token issued, no interaction",
      "evidence": "/img/benchmark/evidence/turnstile-noninteractive-puppeteer-stealth.webp"
    },
    {
      "test": "turnstile-noninteractive",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: token issued, no interaction",
      "evidence": "/img/benchmark/evidence/turnstile-noninteractive-patchright.webp"
    },
    {
      "test": "turnstile-noninteractive",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: token issued, no interaction",
      "evidence": "/img/benchmark/evidence/turnstile-noninteractive-nodriver.webp"
    },
    {
      "test": "turnstile-noninteractive",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        false
      ],
      "passes": 4,
      "total": 5,
      "errors": 0,
      "value": 0.8,
      "display": "4/5",
      "pass": true,
      "detail": "4 of 5 runs: token issued, no interaction. 1 of 5: no token within 40 s",
      "evidence": null
    },
    {
      "test": "turnstile-noninteractive",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: token issued, no interaction",
      "evidence": "/img/benchmark/evidence/turnstile-noninteractive-cloakbrowser.webp"
    },
    {
      "test": "turnstile-managed",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        false
      ],
      "passes": 4,
      "total": 5,
      "errors": 0,
      "value": 0.8,
      "display": "4/5",
      "pass": true,
      "detail": "4 of 5 runs: token issued after a single click. 1 of 5: no token after a single click",
      "evidence": null
    },
    {
      "test": "turnstile-managed",
      "tool": "pw-headless",
      "runs": [
        true,
        true,
        false,
        true,
        true
      ],
      "passes": 4,
      "total": 5,
      "errors": 0,
      "value": 0.8,
      "display": "4/5",
      "pass": true,
      "detail": "4 of 5 runs: token issued after a single click. 1 of 5: no token after a single click",
      "evidence": "/img/benchmark/evidence/turnstile-managed-pw-headless.webp"
    },
    {
      "test": "turnstile-managed",
      "tool": "pw-headed",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: token issued after a single click",
      "evidence": null
    },
    {
      "test": "turnstile-managed",
      "tool": "chrome-pw",
      "runs": [
        true,
        true,
        true,
        false,
        true
      ],
      "passes": 4,
      "total": 5,
      "errors": 0,
      "value": 0.8,
      "display": "4/5",
      "pass": true,
      "detail": "4 of 5 runs: token issued after a single click. 1 of 5: no token with no click",
      "evidence": null
    },
    {
      "test": "turnstile-managed",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: token issued after a single click",
      "evidence": "/img/benchmark/evidence/turnstile-managed-puppeteer-stealth.webp"
    },
    {
      "test": "turnstile-managed",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: token issued after a single click",
      "evidence": "/img/benchmark/evidence/turnstile-managed-patchright.webp"
    },
    {
      "test": "turnstile-managed",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: token issued after a single click",
      "evidence": "/img/benchmark/evidence/turnstile-managed-nodriver.webp"
    },
    {
      "test": "turnstile-managed",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        false
      ],
      "passes": 4,
      "total": 5,
      "errors": 0,
      "value": 0.8,
      "display": "4/5",
      "pass": true,
      "detail": "4 of 5 runs: token issued after a single click. 1 of 5: no token with no click",
      "evidence": "/img/benchmark/evidence/turnstile-managed-camoufox.webp"
    },
    {
      "test": "turnstile-managed",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: token issued after a single click",
      "evidence": "/img/benchmark/evidence/turnstile-managed-cloakbrowser.webp"
    },
    {
      "test": "cloudflare-challenge",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        false
      ],
      "passes": 4,
      "total": 5,
      "errors": 0,
      "value": 0.8,
      "display": "4/5",
      "pass": true,
      "detail": "4 of 5 runs: reached the protected page. 1 of 5: still on the Cloudflare challenge after 45 s, single click",
      "evidence": "/img/benchmark/evidence/cloudflare-challenge-wayfern.webp"
    },
    {
      "test": "cloudflare-challenge",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: still on the Cloudflare challenge after 45 s, single click",
      "evidence": "/img/benchmark/evidence/cloudflare-challenge-pw-headless.webp"
    },
    {
      "test": "cloudflare-challenge",
      "tool": "pw-headed",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: still on the Cloudflare challenge after 45 s, single click",
      "evidence": "/img/benchmark/evidence/cloudflare-challenge-pw-headed.webp"
    },
    {
      "test": "cloudflare-challenge",
      "tool": "chrome-pw",
      "runs": [
        false,
        false,
        false,
        null,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 1,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: still on the Cloudflare challenge after 45 s, single click. 1 more run(s) lost (page load timeout or network error) and rerun",
      "evidence": "/img/benchmark/evidence/cloudflare-challenge-chrome-pw.webp"
    },
    {
      "test": "cloudflare-challenge",
      "tool": "puppeteer-stealth",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: still on the Cloudflare challenge after 45 s, single click",
      "evidence": "/img/benchmark/evidence/cloudflare-challenge-puppeteer-stealth.webp"
    },
    {
      "test": "cloudflare-challenge",
      "tool": "patchright",
      "runs": [
        null,
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 1,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: reached the protected page. 1 more run(s) lost (page load timeout or network error) and rerun",
      "evidence": "/img/benchmark/evidence/cloudflare-challenge-patchright.webp"
    },
    {
      "test": "cloudflare-challenge",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: reached the protected page; first status null",
      "evidence": "/img/benchmark/evidence/cloudflare-challenge-nodriver.webp"
    },
    {
      "test": "cloudflare-challenge",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        null,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 1,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: reached the protected page. 1 more run(s) lost (page load timeout or network error) and rerun",
      "evidence": "/img/benchmark/evidence/cloudflare-challenge-camoufox.webp"
    },
    {
      "test": "cloudflare-challenge",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: reached the protected page",
      "evidence": "/img/benchmark/evidence/cloudflare-challenge-cloakbrowser.webp"
    },
    {
      "test": "kasada",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: /tl HTTP 200, x-kpsdk-cr: true"
    },
    {
      "test": "kasada",
      "tool": "pw-headless",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: /tl HTTP 200, x-kpsdk-cr: true"
    },
    {
      "test": "kasada",
      "tool": "pw-headed",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: /tl HTTP 200, x-kpsdk-cr: true"
    },
    {
      "test": "kasada",
      "tool": "chrome-pw",
      "runs": [
        true,
        true,
        true,
        null,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 1,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: /tl HTTP 200, x-kpsdk-cr: true. 1 more run(s) lost (page load timeout or network error) and rerun"
    },
    {
      "test": "kasada",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: /tl HTTP 200, x-kpsdk-cr: true"
    },
    {
      "test": "kasada",
      "tool": "patchright",
      "runs": [
        null,
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 1,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: /tl HTTP 200, x-kpsdk-cr: true. 1 more run(s) lost (page load timeout or network error) and rerun"
    },
    {
      "test": "kasada",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: /tl HTTP 200, x-kpsdk-cr: true"
    },
    {
      "test": "kasada",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        null,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 1,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: /tl HTTP 200, x-kpsdk-cr: true. 1 more run(s) lost (page load timeout or network error) and rerun"
    },
    {
      "test": "kasada",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: /tl HTTP 200, x-kpsdk-cr: true"
    },
    {
      "test": "fingerprint-bot",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: bot not_detected; vm false; devtools false; incognito false; vpn false (tz mismatch false)",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-wayfern.webp"
    },
    {
      "test": "fingerprint-bot",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: bot bad/headless_chrome; vm true; devtools true; incognito true; vpn true (tz mismatch true)",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-pw-headless.webp"
    },
    {
      "test": "fingerprint-bot",
      "tool": "pw-headed",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: bot bad/webdriver; vm false; devtools true; incognito true; vpn true (tz mismatch true)",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-pw-headed.webp"
    },
    {
      "test": "fingerprint-bot",
      "tool": "chrome-pw",
      "runs": [
        false,
        false,
        false,
        null,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 1,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: bot bad/webdriver; vm false; devtools true; incognito true; vpn true (tz mismatch true). 1 more run(s) lost (the page showed no verdict in time) and rerun",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-chrome-pw.webp"
    },
    {
      "test": "fingerprint-bot",
      "tool": "puppeteer-stealth",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: bot bad/puppeteer_stealth; vm false; devtools true; incognito false; vpn true (tz mismatch true)",
      "evidence": null
    },
    {
      "test": "fingerprint-bot",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: bot not_detected; vm false; devtools false; incognito false; vpn true (tz mismatch true)",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-patchright.webp"
    },
    {
      "test": "fingerprint-bot",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: bot not_detected; vm false; devtools false; incognito false; vpn true (tz mismatch true)",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-nodriver.webp"
    },
    {
      "test": "fingerprint-bot",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        null,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 1,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: bot not_detected; vm false; devtools false; incognito false; vpn false (tz mismatch false). 1 more run(s) lost (the page showed no verdict in time) and rerun",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-camoufox.webp"
    },
    {
      "test": "fingerprint-bot",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: bot not_detected; vm false; devtools false; incognito true; vpn false (tz mismatch false)",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-cloakbrowser.webp"
    },
    {
      "test": "fingerprint-tampering",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: tampering false, anti_detect_browser false",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-wayfern.webp"
    },
    {
      "test": "fingerprint-tampering",
      "tool": "pw-headless",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: tampering false, anti_detect_browser false",
      "evidence": null
    },
    {
      "test": "fingerprint-tampering",
      "tool": "pw-headed",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: tampering false, anti_detect_browser false",
      "evidence": null
    },
    {
      "test": "fingerprint-tampering",
      "tool": "chrome-pw",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: tampering false, anti_detect_browser false",
      "evidence": null
    },
    {
      "test": "fingerprint-tampering",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: tampering false, anti_detect_browser false",
      "evidence": null
    },
    {
      "test": "fingerprint-tampering",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: tampering false, anti_detect_browser false",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-patchright.webp"
    },
    {
      "test": "fingerprint-tampering",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: tampering false, anti_detect_browser false",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-nodriver.webp"
    },
    {
      "test": "fingerprint-tampering",
      "tool": "camoufox",
      "runs": [
        true,
        false,
        false,
        true,
        false
      ],
      "passes": 2,
      "total": 5,
      "errors": 0,
      "value": 0.4,
      "display": "2/5",
      "pass": false,
      "detail": "2 of 5 runs: tampering false, anti_detect_browser false. 3 of 5: tampering true, anti_detect_browser false",
      "evidence": null
    },
    {
      "test": "fingerprint-tampering",
      "tool": "cloakbrowser",
      "runs": [
        false,
        true,
        false,
        false,
        false
      ],
      "passes": 1,
      "total": 5,
      "errors": 0,
      "value": 0.2,
      "display": "1/5",
      "pass": false,
      "detail": "1 of 5 runs: tampering false, anti_detect_browser false. 4 of 5: tampering true, anti_detect_browser true",
      "evidence": "/img/benchmark/evidence/fingerprint-bot-cloakbrowser.webp"
    },
    {
      "test": "datadome",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; DataDome captcha not shown; title \"Tripadvisor: Over a billion reviews & co\"",
      "evidence": "/img/benchmark/evidence/datadome-wayfern.webp"
    },
    {
      "test": "datadome",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: HTTP 403; DataDome captcha shown; title \"tripadvisor.com\"",
      "evidence": "/img/benchmark/evidence/datadome-pw-headless.webp"
    },
    {
      "test": "datadome",
      "tool": "pw-headed",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; DataDome captcha not shown; title \"Tripadvisor: Over a billion reviews & co\"",
      "evidence": "/img/benchmark/evidence/datadome-pw-headed.webp"
    },
    {
      "test": "datadome",
      "tool": "chrome-pw",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; DataDome captcha not shown; title \"Tripadvisor: Over a billion reviews & co\"",
      "evidence": "/img/benchmark/evidence/datadome-chrome-pw.webp"
    },
    {
      "test": "datadome",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; DataDome captcha not shown; title \"Tripadvisor: Over a billion reviews & co\"",
      "evidence": "/img/benchmark/evidence/datadome-puppeteer-stealth.webp"
    },
    {
      "test": "datadome",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; DataDome captcha not shown; title \"Tripadvisor: Over a billion reviews & co\"",
      "evidence": "/img/benchmark/evidence/datadome-patchright.webp"
    },
    {
      "test": "datadome",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP null; DataDome captcha not shown; title \"Tripadvisor: Over a billion reviews & co\"",
      "evidence": "/img/benchmark/evidence/datadome-nodriver.webp"
    },
    {
      "test": "datadome",
      "tool": "camoufox",
      "runs": [
        true,
        false,
        false,
        true,
        false
      ],
      "passes": 2,
      "total": 5,
      "errors": 0,
      "value": 0.4,
      "display": "2/5",
      "pass": false,
      "detail": "2 of 5 runs: first response HTTP 403 (vendor check), then the site loaded; DataDome captcha not shown; title \"Tripadvisor: Over a billion reviews & co\". 3 of 5: HTTP 403; DataDome captcha shown; title \"tripadvisor.com\"",
      "evidence": null
    },
    {
      "test": "datadome",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; DataDome captcha not shown; title \"Tripadvisor: Over a billion reviews & co\"",
      "evidence": "/img/benchmark/evidence/datadome-cloakbrowser.webp"
    },
    {
      "test": "human",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; HUMAN press-and-hold not shown; title \"Zillow: Real Estate, Apartments, Mortgag\"",
      "evidence": "/img/benchmark/evidence/human-wayfern.webp"
    },
    {
      "test": "human",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: HTTP 403; HUMAN press-and-hold shown; title \"Access to this page has been denied\"",
      "evidence": "/img/benchmark/evidence/human-pw-headless.webp"
    },
    {
      "test": "human",
      "tool": "pw-headed",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; HUMAN press-and-hold not shown; title \"Zillow: Real Estate, Apartments, Mortgag\"",
      "evidence": "/img/benchmark/evidence/human-pw-headed.webp"
    },
    {
      "test": "human",
      "tool": "chrome-pw",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; HUMAN press-and-hold not shown; title \"Zillow: Real Estate, Apartments, Mortgag\"",
      "evidence": "/img/benchmark/evidence/human-chrome-pw.webp"
    },
    {
      "test": "human",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; HUMAN press-and-hold not shown; title \"Zillow: Real Estate, Apartments, Mortgag\"",
      "evidence": "/img/benchmark/evidence/human-puppeteer-stealth.webp"
    },
    {
      "test": "human",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; HUMAN press-and-hold not shown; title \"Zillow: Real Estate, Apartments, Mortgag\"",
      "evidence": "/img/benchmark/evidence/human-patchright.webp"
    },
    {
      "test": "human",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP null; HUMAN press-and-hold not shown; title \"Zillow: Real Estate, Apartments, Mortgag\"",
      "evidence": "/img/benchmark/evidence/human-nodriver.webp"
    },
    {
      "test": "human",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; HUMAN press-and-hold not shown; title \"Zillow: Real Estate, Apartments, Mortgag\"",
      "evidence": "/img/benchmark/evidence/human-camoufox.webp"
    },
    {
      "test": "human",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; HUMAN press-and-hold not shown; title \"Zillow: Real Estate, Apartments, Mortgag\"",
      "evidence": "/img/benchmark/evidence/human-cloakbrowser.webp"
    },
    {
      "test": "akamai",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; Akamai Access Denied not shown; title \"Lowe’s Home Improvement\"",
      "evidence": "/img/benchmark/evidence/akamai-wayfern.webp"
    },
    {
      "test": "akamai",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: HTTP 200; Akamai Access Denied shown; title \"Access Denied\"",
      "evidence": "/img/benchmark/evidence/akamai-pw-headless.webp"
    },
    {
      "test": "akamai",
      "tool": "pw-headed",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; Akamai Access Denied not shown; title \"Lowe’s Home Improvement\"",
      "evidence": "/img/benchmark/evidence/akamai-pw-headed.webp"
    },
    {
      "test": "akamai",
      "tool": "chrome-pw",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; Akamai Access Denied not shown; title \"Lowe’s Home Improvement\"",
      "evidence": "/img/benchmark/evidence/akamai-chrome-pw.webp"
    },
    {
      "test": "akamai",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; Akamai Access Denied not shown; title \"Lowe’s Home Improvement\"",
      "evidence": "/img/benchmark/evidence/akamai-puppeteer-stealth.webp"
    },
    {
      "test": "akamai",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; Akamai Access Denied not shown; title \"Lowe’s Home Improvement\"",
      "evidence": "/img/benchmark/evidence/akamai-patchright.webp"
    },
    {
      "test": "akamai",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP null; Akamai Access Denied not shown; title \"Lowe’s Home Improvement\"",
      "evidence": "/img/benchmark/evidence/akamai-nodriver.webp"
    },
    {
      "test": "akamai",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        null,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 1,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; Akamai Access Denied not shown; title \"Lowe’s Home Improvement\". 1 more run(s) lost (page load timeout or network error) and rerun",
      "evidence": "/img/benchmark/evidence/akamai-camoufox.webp"
    },
    {
      "test": "akamai",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: HTTP 200; Akamai Access Denied not shown; title \"Lowe’s Home Improvement\"",
      "evidence": "/img/benchmark/evidence/akamai-cloakbrowser.webp"
    },
    {
      "test": "hcaptcha",
      "tool": "wayfern",
      "runs": [
        false,
        false,
        false,
        null,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 1,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: single click on the checkbox; outcome: challenge. 1 more run(s) lost (page load timeout or network error) and rerun",
      "evidence": "/img/benchmark/evidence/hcaptcha-wayfern.webp"
    },
    {
      "test": "hcaptcha",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: single click on the checkbox; outcome: challenge",
      "evidence": "/img/benchmark/evidence/hcaptcha-pw-headless.webp"
    },
    {
      "test": "hcaptcha",
      "tool": "pw-headed",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: single click on the checkbox; outcome: challenge",
      "evidence": "/img/benchmark/evidence/hcaptcha-pw-headed.webp"
    },
    {
      "test": "hcaptcha",
      "tool": "chrome-pw",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: single click on the checkbox; outcome: challenge",
      "evidence": "/img/benchmark/evidence/hcaptcha-chrome-pw.webp"
    },
    {
      "test": "hcaptcha",
      "tool": "puppeteer-stealth",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: single click on the checkbox; outcome: challenge",
      "evidence": "/img/benchmark/evidence/hcaptcha-puppeteer-stealth.webp"
    },
    {
      "test": "hcaptcha",
      "tool": "patchright",
      "runs": [
        null,
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 1,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: single click on the checkbox; outcome: challenge. 1 more run(s) lost (page load timeout or network error) and rerun",
      "evidence": "/img/benchmark/evidence/hcaptcha-patchright.webp"
    },
    {
      "test": "hcaptcha",
      "tool": "nodriver",
      "runs": [
        false,
        false,
        false,
        null,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 1,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: single click on the checkbox; outcome: challenge. 1 more run(s) lost (the page showed no verdict in time) and rerun",
      "evidence": "/img/benchmark/evidence/hcaptcha-nodriver.webp"
    },
    {
      "test": "hcaptcha",
      "tool": "camoufox",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: single click on the checkbox; outcome: challenge",
      "evidence": "/img/benchmark/evidence/hcaptcha-camoufox.webp"
    },
    {
      "test": "hcaptcha",
      "tool": "cloakbrowser",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: single click on the checkbox; outcome: challenge",
      "evidence": "/img/benchmark/evidence/hcaptcha-cloakbrowser.webp"
    },
    {
      "test": "browserscan-bot",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: verdict Normal; robot rows: none of 17",
      "evidence": "/img/benchmark/evidence/browserscan-bot-wayfern.webp"
    },
    {
      "test": "browserscan-bot",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: verdict Robot; robot rows: WebDriver of 17",
      "evidence": "/img/benchmark/evidence/browserscan-bot-pw-headless.webp"
    },
    {
      "test": "browserscan-bot",
      "tool": "pw-headed",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: verdict Robot; robot rows: WebDriver of 17",
      "evidence": "/img/benchmark/evidence/browserscan-bot-pw-headed.webp"
    },
    {
      "test": "browserscan-bot",
      "tool": "chrome-pw",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: verdict Robot; robot rows: WebDriver of 17",
      "evidence": "/img/benchmark/evidence/browserscan-bot-chrome-pw.webp"
    },
    {
      "test": "browserscan-bot",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: verdict Normal; robot rows: none of 17",
      "evidence": "/img/benchmark/evidence/browserscan-bot-puppeteer-stealth.webp"
    },
    {
      "test": "browserscan-bot",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: verdict Normal; robot rows: none of 17",
      "evidence": "/img/benchmark/evidence/browserscan-bot-patchright.webp"
    },
    {
      "test": "browserscan-bot",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: verdict Normal; robot rows: none of 17",
      "evidence": "/img/benchmark/evidence/browserscan-bot-nodriver.webp"
    },
    {
      "test": "browserscan-bot",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: verdict Normal; robot rows: none of 17",
      "evidence": "/img/benchmark/evidence/browserscan-bot-camoufox.webp"
    },
    {
      "test": "browserscan-bot",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: verdict Normal; robot rows: none of 17",
      "evidence": "/img/benchmark/evidence/browserscan-bot-cloakbrowser.webp"
    },
    {
      "test": "deviceandbrowserinfo",
      "tool": "wayfern",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "isBot false; true flags: none",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-wayfern.webp"
    },
    {
      "test": "deviceandbrowserinfo",
      "tool": "pw-headless",
      "runs": [
        7,
        7,
        7,
        7,
        7
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 7,
      "display": "7",
      "pass": false,
      "detail": "isBot true; true flags: hasBotUserAgent, hasWebdriverTrue, hasWebdriverInFrameTrue, hasInconsistentTimingResolution, isAutomatedWithCDP, isAutomatedWithCDPInWebWorker, hasSuspiciousWeakSignals",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-pw-headless.webp"
    },
    {
      "test": "deviceandbrowserinfo",
      "tool": "pw-headed",
      "runs": [
        5,
        5,
        5,
        5,
        5
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 5,
      "display": "5",
      "pass": false,
      "detail": "isBot true; true flags: hasWebdriverTrue, hasWebdriverInFrameTrue, hasInconsistentTimingResolution, isAutomatedWithCDP, isAutomatedWithCDPInWebWorker",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-pw-headed.webp"
    },
    {
      "test": "deviceandbrowserinfo",
      "tool": "chrome-pw",
      "runs": [
        5,
        5,
        5,
        5,
        5
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 5,
      "display": "5",
      "pass": false,
      "detail": "isBot true; true flags: hasWebdriverTrue, hasWebdriverInFrameTrue, hasInconsistentTimingResolution, isAutomatedWithCDP, isAutomatedWithCDPInWebWorker",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-chrome-pw.webp"
    },
    {
      "test": "deviceandbrowserinfo",
      "tool": "puppeteer-stealth",
      "runs": [
        4,
        4,
        4,
        3,
        4
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 4,
      "display": "4",
      "pass": false,
      "detail": "isBot true; true flags: hasInconsistentTimingResolution, isAutomatedWithCDP, isAutomatedWithCDPInWebWorker, hasInconsistentWorkerValues (4 of 5 runs)",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-puppeteer-stealth.webp"
    },
    {
      "test": "deviceandbrowserinfo",
      "tool": "patchright",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "isBot false; true flags: none",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-patchright.webp"
    },
    {
      "test": "deviceandbrowserinfo",
      "tool": "nodriver",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "isBot false; true flags: none",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-nodriver.webp"
    },
    {
      "test": "deviceandbrowserinfo",
      "tool": "camoufox",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "isBot false; true flags: none",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-camoufox.webp"
    },
    {
      "test": "deviceandbrowserinfo",
      "tool": "cloakbrowser",
      "runs": [
        1,
        1,
        1,
        1,
        1
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "1",
      "pass": false,
      "detail": "isBot true; true flags: hasInconsistentTimingResolution",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-cloakbrowser.webp"
    },
    {
      "test": "webdriver",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasWebdriverTrue false, in iframe false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-wayfern.webp"
    },
    {
      "test": "webdriver",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: hasWebdriverTrue true, in iframe true",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-pw-headless.webp"
    },
    {
      "test": "webdriver",
      "tool": "pw-headed",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: hasWebdriverTrue true, in iframe true",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-pw-headed.webp"
    },
    {
      "test": "webdriver",
      "tool": "chrome-pw",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: hasWebdriverTrue true, in iframe true",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-chrome-pw.webp"
    },
    {
      "test": "webdriver",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasWebdriverTrue false, in iframe false",
      "evidence": null
    },
    {
      "test": "webdriver",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasWebdriverTrue false, in iframe false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-patchright.webp"
    },
    {
      "test": "webdriver",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasWebdriverTrue false, in iframe false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-nodriver.webp"
    },
    {
      "test": "webdriver",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasWebdriverTrue false, in iframe false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-camoufox.webp"
    },
    {
      "test": "webdriver",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasWebdriverTrue false, in iframe false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-cloakbrowser.webp"
    },
    {
      "test": "cdp-automation",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: isAutomatedWithCDP false, in worker false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-wayfern.webp"
    },
    {
      "test": "cdp-automation",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: isAutomatedWithCDP true, in worker true",
      "evidence": null
    },
    {
      "test": "cdp-automation",
      "tool": "pw-headed",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: isAutomatedWithCDP true, in worker true",
      "evidence": null
    },
    {
      "test": "cdp-automation",
      "tool": "chrome-pw",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: isAutomatedWithCDP true, in worker true",
      "evidence": null
    },
    {
      "test": "cdp-automation",
      "tool": "puppeteer-stealth",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: isAutomatedWithCDP true, in worker true",
      "evidence": null
    },
    {
      "test": "cdp-automation",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: isAutomatedWithCDP false, in worker false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-patchright.webp"
    },
    {
      "test": "cdp-automation",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: isAutomatedWithCDP false, in worker false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-nodriver.webp"
    },
    {
      "test": "cdp-automation",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: isAutomatedWithCDP false, in worker false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-camoufox.webp"
    },
    {
      "test": "cdp-automation",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: isAutomatedWithCDP false, in worker false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-cloakbrowser.webp"
    },
    {
      "test": "headless-user-agent",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasBotUserAgent false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-wayfern.webp"
    },
    {
      "test": "headless-user-agent",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: hasBotUserAgent true",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-pw-headless.webp"
    },
    {
      "test": "headless-user-agent",
      "tool": "pw-headed",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasBotUserAgent false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-pw-headed.webp"
    },
    {
      "test": "headless-user-agent",
      "tool": "chrome-pw",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasBotUserAgent false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-chrome-pw.webp"
    },
    {
      "test": "headless-user-agent",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasBotUserAgent false",
      "evidence": null
    },
    {
      "test": "headless-user-agent",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasBotUserAgent false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-patchright.webp"
    },
    {
      "test": "headless-user-agent",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasBotUserAgent false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-nodriver.webp"
    },
    {
      "test": "headless-user-agent",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasBotUserAgent false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-camoufox.webp"
    },
    {
      "test": "headless-user-agent",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasBotUserAgent false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-cloakbrowser.webp"
    },
    {
      "test": "chrome-object",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasInconsistentChromeObject false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-wayfern.webp"
    },
    {
      "test": "chrome-object",
      "tool": "pw-headless",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasInconsistentChromeObject false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-pw-headless.webp"
    },
    {
      "test": "chrome-object",
      "tool": "pw-headed",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasInconsistentChromeObject false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-pw-headed.webp"
    },
    {
      "test": "chrome-object",
      "tool": "chrome-pw",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasInconsistentChromeObject false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-chrome-pw.webp"
    },
    {
      "test": "chrome-object",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasInconsistentChromeObject false",
      "evidence": null
    },
    {
      "test": "chrome-object",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasInconsistentChromeObject false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-patchright.webp"
    },
    {
      "test": "chrome-object",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasInconsistentChromeObject false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-nodriver.webp"
    },
    {
      "test": "chrome-object",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasInconsistentChromeObject false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-camoufox.webp"
    },
    {
      "test": "chrome-object",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: hasInconsistentChromeObject false",
      "evidence": "/img/benchmark/evidence/deviceandbrowserinfo-cloakbrowser.webp"
    },
    {
      "test": "plugins",
      "tool": "wayfern",
      "runs": [
        5,
        5,
        5,
        5,
        5
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 5,
      "display": "5",
      "pass": true,
      "detail": "navigator.plugins.length 5 (sannysoft row)",
      "evidence": "/img/benchmark/evidence/sannysoft-wayfern.webp"
    },
    {
      "test": "plugins",
      "tool": "pw-headless",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": false,
      "detail": "navigator.plugins.length 0 (sannysoft row)",
      "evidence": "/img/benchmark/evidence/sannysoft-pw-headless.webp"
    },
    {
      "test": "plugins",
      "tool": "pw-headed",
      "runs": [
        5,
        5,
        5,
        5,
        5
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 5,
      "display": "5",
      "pass": true,
      "detail": "navigator.plugins.length 5 (sannysoft row)",
      "evidence": "/img/benchmark/evidence/sannysoft-pw-headed.webp"
    },
    {
      "test": "plugins",
      "tool": "chrome-pw",
      "runs": [
        5,
        5,
        5,
        5,
        5
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 5,
      "display": "5",
      "pass": true,
      "detail": "navigator.plugins.length 5 (sannysoft row)",
      "evidence": "/img/benchmark/evidence/sannysoft-chrome-pw.webp"
    },
    {
      "test": "plugins",
      "tool": "puppeteer-stealth",
      "runs": [
        5,
        5,
        5,
        5,
        5
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 5,
      "display": "5",
      "pass": true,
      "detail": "navigator.plugins.length 5 (sannysoft row)",
      "evidence": "/img/benchmark/evidence/sannysoft-puppeteer-stealth.webp"
    },
    {
      "test": "plugins",
      "tool": "patchright",
      "runs": [
        5,
        5,
        5,
        5,
        5
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 5,
      "display": "5",
      "pass": true,
      "detail": "navigator.plugins.length 5 (sannysoft row)",
      "evidence": "/img/benchmark/evidence/sannysoft-patchright.webp"
    },
    {
      "test": "plugins",
      "tool": "nodriver",
      "runs": [
        5,
        5,
        5,
        5,
        5
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 5,
      "display": "5",
      "pass": true,
      "detail": "navigator.plugins.length 5 (sannysoft row)",
      "evidence": "/img/benchmark/evidence/sannysoft-nodriver.webp"
    },
    {
      "test": "plugins",
      "tool": "camoufox",
      "runs": [
        5,
        5,
        5,
        5,
        5
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 5,
      "display": "5",
      "pass": true,
      "detail": "navigator.plugins.length 5 (sannysoft row)",
      "evidence": "/img/benchmark/evidence/sannysoft-camoufox.webp"
    },
    {
      "test": "plugins",
      "tool": "cloakbrowser",
      "runs": [
        5,
        5,
        5,
        5,
        5
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 5,
      "display": "5",
      "pass": true,
      "detail": "navigator.plugins.length 5 (sannysoft row)",
      "evidence": "/img/benchmark/evidence/sannysoft-cloakbrowser.webp"
    },
    {
      "test": "sannysoft",
      "tool": "wayfern",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "red rows: none of 31",
      "evidence": "/img/benchmark/evidence/sannysoft-wayfern.webp"
    },
    {
      "test": "sannysoft",
      "tool": "pw-headless",
      "runs": [
        7,
        12,
        12,
        12,
        12
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 12,
      "display": "12",
      "pass": false,
      "detail": "red rows: User Agent (Old), WebDriver (New), Chrome (New), Permissions (New), Plugins Length (Old), Plugins is of type PluginArray, WebGL Renderer, HEADCHR_UA, HEADCHR_CHROME_OBJ, HEADCHR_PERMISSIONS, HEADCHR_IFRAME, CHR_MEMORY of 30 (4 of 5 runs)",
      "evidence": "/img/benchmark/evidence/sannysoft-pw-headless.webp"
    },
    {
      "test": "sannysoft",
      "tool": "pw-headed",
      "runs": [
        1,
        1,
        1,
        1,
        1
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "1",
      "pass": false,
      "detail": "red rows: WebDriver (New) of 31",
      "evidence": "/img/benchmark/evidence/sannysoft-pw-headed.webp"
    },
    {
      "test": "sannysoft",
      "tool": "chrome-pw",
      "runs": [
        1,
        1,
        1,
        1,
        1
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "1",
      "pass": false,
      "detail": "red rows: WebDriver (New) of 31 (4 of 5 runs)",
      "evidence": "/img/benchmark/evidence/sannysoft-chrome-pw.webp"
    },
    {
      "test": "sannysoft",
      "tool": "puppeteer-stealth",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "red rows: none of 31",
      "evidence": "/img/benchmark/evidence/sannysoft-puppeteer-stealth.webp"
    },
    {
      "test": "sannysoft",
      "tool": "patchright",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "red rows: none of 31",
      "evidence": "/img/benchmark/evidence/sannysoft-patchright.webp"
    },
    {
      "test": "sannysoft",
      "tool": "nodriver",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "red rows: none of 31 (4 of 5 runs)",
      "evidence": "/img/benchmark/evidence/sannysoft-nodriver.webp"
    },
    {
      "test": "sannysoft",
      "tool": "camoufox",
      "runs": [
        1,
        1,
        1,
        1,
        1
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "1",
      "pass": false,
      "detail": "red rows: Chrome (New) of 31",
      "evidence": "/img/benchmark/evidence/sannysoft-camoufox.webp"
    },
    {
      "test": "sannysoft",
      "tool": "cloakbrowser",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "red rows: none of 31",
      "evidence": "/img/benchmark/evidence/sannysoft-cloakbrowser.webp"
    },
    {
      "test": "incolumitas",
      "tool": "wayfern",
      "runs": [
        1,
        1,
        1,
        1,
        1
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "1",
      "pass": false,
      "detail": "FAIL: old:WEBDRIVER",
      "evidence": "/img/benchmark/evidence/incolumitas-wayfern.webp"
    },
    {
      "test": "incolumitas",
      "tool": "pw-headless",
      "runs": [
        13,
        13,
        13,
        13,
        13
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 13,
      "display": "13",
      "pass": false,
      "detail": "FAIL: new:webdriverPresent, new:connectionRTT, old:userAgent, old:webDriver, old:webDriverAdvanced, old:pluginsLength, old:pluginArray, old:HEADCHR_UA, old:WEBDRIVER, old:HEADCHR_CHROME_OBJ, old:HEADCHR_PERMISSIONS, old:HEADCHR_IFRAME, old:CHR_MEMORY",
      "evidence": "/img/benchmark/evidence/incolumitas-pw-headless.webp"
    },
    {
      "test": "incolumitas",
      "tool": "pw-headed",
      "runs": [
        3,
        3,
        3,
        3,
        3
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 3,
      "display": "3",
      "pass": false,
      "detail": "FAIL: new:webdriverPresent, old:webDriver, old:WEBDRIVER",
      "evidence": "/img/benchmark/evidence/incolumitas-pw-headed.webp"
    },
    {
      "test": "incolumitas",
      "tool": "chrome-pw",
      "runs": [
        3,
        3,
        3,
        3,
        3
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 3,
      "display": "3",
      "pass": false,
      "detail": "FAIL: new:webdriverPresent, old:webDriver, old:WEBDRIVER",
      "evidence": "/img/benchmark/evidence/incolumitas-chrome-pw.webp"
    },
    {
      "test": "incolumitas",
      "tool": "puppeteer-stealth",
      "runs": [
        3,
        3,
        3,
        3,
        3
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 3,
      "display": "3",
      "pass": false,
      "detail": "FAIL: new:inconsistentWebWorkerNavigatorPropery, new:inconsistentServiceWorkerNavigatorPropery, old:WEBDRIVER",
      "evidence": "/img/benchmark/evidence/incolumitas-puppeteer-stealth.webp"
    },
    {
      "test": "incolumitas",
      "tool": "patchright",
      "runs": [
        1,
        1,
        1,
        null,
        1,
        1
      ],
      "passes": 0,
      "total": 5,
      "errors": 1,
      "value": 1,
      "display": "1",
      "pass": false,
      "detail": "FAIL: old:WEBDRIVER. 1 more run(s) lost (page load timeout or network error) and rerun",
      "evidence": "/img/benchmark/evidence/incolumitas-patchright.webp"
    },
    {
      "test": "incolumitas",
      "tool": "nodriver",
      "runs": [
        1,
        1,
        1,
        1,
        1
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "1",
      "pass": false,
      "detail": "FAIL: old:WEBDRIVER",
      "evidence": "/img/benchmark/evidence/incolumitas-nodriver.webp"
    },
    {
      "test": "incolumitas",
      "tool": "camoufox",
      "runs": [
        1,
        1,
        1,
        1,
        1
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "1",
      "pass": false,
      "detail": "FAIL: old:webDriverAdvanced",
      "evidence": "/img/benchmark/evidence/incolumitas-camoufox.webp"
    },
    {
      "test": "incolumitas",
      "tool": "cloakbrowser",
      "runs": [
        2,
        2,
        2,
        2,
        2
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 2,
      "display": "2",
      "pass": false,
      "detail": "FAIL: new:connectionRTT, old:WEBDRIVER",
      "evidence": "/img/benchmark/evidence/incolumitas-cloakbrowser.webp"
    },
    {
      "test": "creepjs-headless",
      "tool": "wayfern",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0%",
      "pass": true,
      "detail": "headless 0%, like-headless 25%, stealth 0%, lies 0 (4 of 5 runs)",
      "evidence": "/img/benchmark/evidence/creepjs-headless-wayfern.webp"
    },
    {
      "test": "creepjs-headless",
      "tool": "pw-headless",
      "runs": [
        100,
        100,
        100,
        100,
        100
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 100,
      "display": "100%",
      "pass": false,
      "detail": "headless 100%, like-headless 88%, stealth 0%, lies 0",
      "evidence": "/img/benchmark/evidence/creepjs-headless-pw-headless.webp"
    },
    {
      "test": "creepjs-headless",
      "tool": "pw-headed",
      "runs": [
        33,
        33,
        33,
        33,
        33
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 33,
      "display": "33%",
      "pass": false,
      "detail": "headless 33%, like-headless 31%, stealth 0%, lies 0",
      "evidence": "/img/benchmark/evidence/creepjs-headless-pw-headed.webp"
    },
    {
      "test": "creepjs-headless",
      "tool": "chrome-pw",
      "runs": [
        33,
        33,
        33,
        33,
        33
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 33,
      "display": "33%",
      "pass": false,
      "detail": "headless 33%, like-headless 31%, stealth 0%, lies 0",
      "evidence": "/img/benchmark/evidence/creepjs-headless-chrome-pw.webp"
    },
    {
      "test": "creepjs-headless",
      "tool": "puppeteer-stealth",
      "runs": [
        33,
        33,
        33,
        33,
        33
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 33,
      "display": "33%",
      "pass": false,
      "detail": "headless 33%, like-headless 25%, stealth 80%, lies 2",
      "evidence": "/img/benchmark/evidence/creepjs-headless-puppeteer-stealth.webp"
    },
    {
      "test": "creepjs-headless",
      "tool": "patchright",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0%",
      "pass": true,
      "detail": "headless 0%, like-headless 25%, stealth 0%, lies 0 (4 of 5 runs)",
      "evidence": "/img/benchmark/evidence/creepjs-headless-patchright.webp"
    },
    {
      "test": "creepjs-headless",
      "tool": "nodriver",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0%",
      "pass": true,
      "detail": "headless 0%, like-headless 19%, stealth 0%, lies 0",
      "evidence": "/img/benchmark/evidence/creepjs-headless-nodriver.webp"
    },
    {
      "test": "creepjs-headless",
      "tool": "camoufox",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0%",
      "pass": true,
      "detail": "headless 0%, like-headless 0%, stealth 0%, lies 0",
      "evidence": "/img/benchmark/evidence/creepjs-headless-camoufox.webp"
    },
    {
      "test": "creepjs-headless",
      "tool": "cloakbrowser",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0%",
      "pass": true,
      "detail": "headless 0%, like-headless 25%, stealth 0%, lies 3",
      "evidence": "/img/benchmark/evidence/creepjs-headless-cloakbrowser.webp"
    },
    {
      "test": "creepjs-like-headless",
      "tool": "wayfern",
      "runs": [
        25,
        25,
        25,
        25,
        19
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 25,
      "display": "25%",
      "pass": true,
      "detail": "like-headless 25% (4 of 5 runs)",
      "evidence": "/img/benchmark/evidence/creepjs-headless-wayfern.webp"
    },
    {
      "test": "creepjs-like-headless",
      "tool": "pw-headless",
      "runs": [
        88,
        88,
        88,
        88,
        88
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 88,
      "display": "88%",
      "pass": false,
      "detail": "like-headless 88%",
      "evidence": "/img/benchmark/evidence/creepjs-headless-pw-headless.webp"
    },
    {
      "test": "creepjs-like-headless",
      "tool": "pw-headed",
      "runs": [
        31,
        31,
        31,
        31,
        31
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 31,
      "display": "31%",
      "pass": true,
      "detail": "like-headless 31%",
      "evidence": "/img/benchmark/evidence/creepjs-headless-pw-headed.webp"
    },
    {
      "test": "creepjs-like-headless",
      "tool": "chrome-pw",
      "runs": [
        31,
        31,
        31,
        31,
        31
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 31,
      "display": "31%",
      "pass": true,
      "detail": "like-headless 31%",
      "evidence": "/img/benchmark/evidence/creepjs-headless-chrome-pw.webp"
    },
    {
      "test": "creepjs-like-headless",
      "tool": "puppeteer-stealth",
      "runs": [
        25,
        25,
        25,
        25,
        25
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 25,
      "display": "25%",
      "pass": true,
      "detail": "like-headless 25%",
      "evidence": "/img/benchmark/evidence/creepjs-headless-puppeteer-stealth.webp"
    },
    {
      "test": "creepjs-like-headless",
      "tool": "patchright",
      "runs": [
        31,
        25,
        25,
        25,
        25
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 25,
      "display": "25%",
      "pass": true,
      "detail": "like-headless 25% (4 of 5 runs)",
      "evidence": "/img/benchmark/evidence/creepjs-headless-patchright.webp"
    },
    {
      "test": "creepjs-like-headless",
      "tool": "nodriver",
      "runs": [
        19,
        19,
        19,
        19,
        19
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 19,
      "display": "19%",
      "pass": true,
      "detail": "like-headless 19%",
      "evidence": "/img/benchmark/evidence/creepjs-headless-nodriver.webp"
    },
    {
      "test": "creepjs-like-headless",
      "tool": "camoufox",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0%",
      "pass": true,
      "detail": "like-headless 0%",
      "evidence": "/img/benchmark/evidence/creepjs-headless-camoufox.webp"
    },
    {
      "test": "creepjs-like-headless",
      "tool": "cloakbrowser",
      "runs": [
        25,
        25,
        25,
        25,
        25
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 25,
      "display": "25%",
      "pass": true,
      "detail": "like-headless 25%",
      "evidence": "/img/benchmark/evidence/creepjs-headless-cloakbrowser.webp"
    },
    {
      "test": "creepjs-lies",
      "tool": "wayfern",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "0 lie markers on the main page",
      "evidence": null
    },
    {
      "test": "creepjs-lies",
      "tool": "pw-headless",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "0 lie markers on the main page",
      "evidence": null
    },
    {
      "test": "creepjs-lies",
      "tool": "pw-headed",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "0 lie markers on the main page",
      "evidence": null
    },
    {
      "test": "creepjs-lies",
      "tool": "chrome-pw",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "0 lie markers on the main page",
      "evidence": null
    },
    {
      "test": "creepjs-lies",
      "tool": "puppeteer-stealth",
      "runs": [
        2,
        2,
        2,
        2,
        2
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 2,
      "display": "2",
      "pass": false,
      "detail": "2 lie markers on the main page",
      "evidence": null
    },
    {
      "test": "creepjs-lies",
      "tool": "patchright",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "0 lie markers on the main page",
      "evidence": null
    },
    {
      "test": "creepjs-lies",
      "tool": "nodriver",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "0 lie markers on the main page",
      "evidence": null
    },
    {
      "test": "creepjs-lies",
      "tool": "camoufox",
      "runs": [
        0,
        0,
        0,
        0,
        0
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0",
      "pass": true,
      "detail": "0 lie markers on the main page",
      "evidence": null
    },
    {
      "test": "creepjs-lies",
      "tool": "cloakbrowser",
      "runs": [
        3,
        3,
        3,
        3,
        3
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 3,
      "display": "3",
      "pass": false,
      "detail": "3 lie markers on the main page",
      "evidence": null
    },
    {
      "test": "pixelscan-bot",
      "tool": "wayfern",
      "runs": [
        null,
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 1,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: bot check: no automated behavior; masking false; consistent; location \"United States\". 1 more run(s) lost (the page showed no verdict in time) and rerun",
      "evidence": null
    },
    {
      "test": "pixelscan-bot",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: bot check: automated behavior detected; masking false; inconsistent; location \"Timezone spoofed\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-pw-headless.webp"
    },
    {
      "test": "pixelscan-bot",
      "tool": "pw-headed",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: bot check: automated behavior detected; masking false; inconsistent; location \"Timezone spoofed\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-pw-headed.webp"
    },
    {
      "test": "pixelscan-bot",
      "tool": "chrome-pw",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: bot check: automated behavior detected; masking false; inconsistent; location \"Timezone spoofed\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-chrome-pw.webp"
    },
    {
      "test": "pixelscan-bot",
      "tool": "puppeteer-stealth",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: bot check: no automated behavior; masking true; inconsistent; location \"Timezone spoofed\"",
      "evidence": null
    },
    {
      "test": "pixelscan-bot",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: bot check: no automated behavior; masking false; inconsistent; location \"Timezone spoofed\"",
      "evidence": null
    },
    {
      "test": "pixelscan-bot",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: bot check: no automated behavior; masking false; inconsistent; location \"Timezone spoofed\"",
      "evidence": null
    },
    {
      "test": "pixelscan-bot",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: bot check: no automated behavior; masking false; consistent; location \"United States\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-camoufox.webp"
    },
    {
      "test": "pixelscan-bot",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: bot check: no automated behavior; masking true; inconsistent; location \"United States\"",
      "evidence": null
    },
    {
      "test": "pixelscan-masking",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: masking not detected",
      "evidence": null
    },
    {
      "test": "pixelscan-masking",
      "tool": "pw-headless",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: masking not detected",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-pw-headless.webp"
    },
    {
      "test": "pixelscan-masking",
      "tool": "pw-headed",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: masking not detected",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-pw-headed.webp"
    },
    {
      "test": "pixelscan-masking",
      "tool": "chrome-pw",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: masking not detected",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-chrome-pw.webp"
    },
    {
      "test": "pixelscan-masking",
      "tool": "puppeteer-stealth",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: masking detected",
      "evidence": null
    },
    {
      "test": "pixelscan-masking",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: masking not detected",
      "evidence": null
    },
    {
      "test": "pixelscan-masking",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: masking not detected",
      "evidence": null
    },
    {
      "test": "pixelscan-masking",
      "tool": "camoufox",
      "runs": [
        true,
        false,
        false,
        true,
        true
      ],
      "passes": 3,
      "total": 5,
      "errors": 0,
      "value": 0.6,
      "display": "3/5",
      "pass": false,
      "detail": "3 of 5 runs: masking not detected. 2 of 5: masking detected",
      "evidence": null
    },
    {
      "test": "pixelscan-masking",
      "tool": "cloakbrowser",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: masking detected",
      "evidence": null
    },
    {
      "test": "pixelscan-consistency",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: fingerprint consistent; location tile \"United States\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-wayfern.webp"
    },
    {
      "test": "pixelscan-consistency",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: fingerprint inconsistent; location tile \"Timezone spoofed\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-pw-headless.webp"
    },
    {
      "test": "pixelscan-consistency",
      "tool": "pw-headed",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: fingerprint inconsistent; location tile \"Timezone spoofed\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-pw-headed.webp"
    },
    {
      "test": "pixelscan-consistency",
      "tool": "chrome-pw",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: fingerprint inconsistent; location tile \"Timezone spoofed\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-chrome-pw.webp"
    },
    {
      "test": "pixelscan-consistency",
      "tool": "puppeteer-stealth",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: fingerprint inconsistent; location tile \"Timezone spoofed\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-puppeteer-stealth.webp"
    },
    {
      "test": "pixelscan-consistency",
      "tool": "patchright",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: fingerprint inconsistent; location tile \"Timezone spoofed\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-patchright.webp"
    },
    {
      "test": "pixelscan-consistency",
      "tool": "nodriver",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: fingerprint inconsistent; location tile \"Timezone spoofed\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-nodriver.webp"
    },
    {
      "test": "pixelscan-consistency",
      "tool": "camoufox",
      "runs": [
        true,
        false,
        false,
        true,
        true
      ],
      "passes": 3,
      "total": 5,
      "errors": 0,
      "value": 0.6,
      "display": "3/5",
      "pass": false,
      "detail": "3 of 5 runs: fingerprint consistent; location tile \"United States\". 2 of 5: fingerprint inconsistent; location tile \"United States\"",
      "evidence": null
    },
    {
      "test": "pixelscan-consistency",
      "tool": "cloakbrowser",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: fingerprint inconsistent; location tile \"United States\"",
      "evidence": "/img/benchmark/evidence/pixelscan-bot-cloakbrowser.webp"
    },
    {
      "test": "iphey",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: Trustworthy; red tiles: none",
      "evidence": "/img/benchmark/evidence/iphey-wayfern.webp"
    },
    {
      "test": "iphey",
      "tool": "pw-headless",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: Unreliable; red tiles: browser, location, software",
      "evidence": "/img/benchmark/evidence/iphey-pw-headless.webp"
    },
    {
      "test": "iphey",
      "tool": "pw-headed",
      "runs": [
        false,
        false,
        null,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 1,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: Unreliable; red tiles: location, software. 1 more run(s) lost (the page showed no verdict in time) and rerun",
      "evidence": "/img/benchmark/evidence/iphey-pw-headed.webp"
    },
    {
      "test": "iphey",
      "tool": "chrome-pw",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: Unreliable; red tiles: location, software",
      "evidence": "/img/benchmark/evidence/iphey-chrome-pw.webp"
    },
    {
      "test": "iphey",
      "tool": "puppeteer-stealth",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: Unreliable; red tiles: location, software",
      "evidence": "/img/benchmark/evidence/iphey-puppeteer-stealth.webp"
    },
    {
      "test": "iphey",
      "tool": "patchright",
      "runs": [
        false,
        false,
        false,
        null,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 1,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: Unreliable; red tiles: location. 1 more run(s) lost (the page showed no verdict in time) and rerun",
      "evidence": "/img/benchmark/evidence/iphey-patchright.webp"
    },
    {
      "test": "iphey",
      "tool": "nodriver",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: Unreliable; red tiles: location",
      "evidence": "/img/benchmark/evidence/iphey-nodriver.webp"
    },
    {
      "test": "iphey",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: Trustworthy; red tiles: none",
      "evidence": "/img/benchmark/evidence/iphey-camoufox.webp"
    },
    {
      "test": "iphey",
      "tool": "cloakbrowser",
      "runs": [
        null,
        null,
        null,
        null,
        null,
        null
      ],
      "passes": 0,
      "total": 0,
      "errors": 6,
      "value": null,
      "display": "n/a",
      "pass": null,
      "detail": "No verdict: the iphey scan did not finish within 60 s in 6 of 6 loads (the page stayed on its loading state).",
      "evidence": "/img/benchmark/evidence/iphey-cloakbrowser.webp"
    },
    {
      "test": "tls",
      "tool": "wayfern",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: JA4 t13d1517h2_8daaf6152771_cb7bf5808d99, real Chrome 152 has t13d1517h2_8daaf6152771_cb7bf5808d99; HTTP/2 hash equal",
      "evidence": "/img/benchmark/evidence/tls-wayfern.webp"
    },
    {
      "test": "tls",
      "tool": "pw-headless",
      "runs": [
        false,
        null,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 1,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: JA4 t13d1516h2_8daaf6152771_806a8c22fdea, real Chrome 156 has t13d1517h2_8daaf6152771_cb7bf5808d99; HTTP/2 hash equal. 1 more run(s) lost (page load timeout or network error) and rerun",
      "evidence": "/img/benchmark/evidence/tls-pw-headless.webp"
    },
    {
      "test": "tls",
      "tool": "pw-headed",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: JA4 t13d1517h2_8daaf6152771_cb7bf5808d99, real Chrome 156 has t13d1517h2_8daaf6152771_cb7bf5808d99; HTTP/2 hash equal",
      "evidence": "/img/benchmark/evidence/tls-pw-headed.webp"
    },
    {
      "test": "tls",
      "tool": "chrome-pw",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: JA4 t13d1517h2_8daaf6152771_cb7bf5808d99, real Chrome 155 has t13d1517h2_8daaf6152771_cb7bf5808d99; HTTP/2 hash equal",
      "evidence": "/img/benchmark/evidence/tls-chrome-pw.webp"
    },
    {
      "test": "tls",
      "tool": "puppeteer-stealth",
      "runs": [
        false,
        false,
        false,
        false,
        false
      ],
      "passes": 0,
      "total": 5,
      "errors": 0,
      "value": 0,
      "display": "0/5",
      "pass": false,
      "detail": "5 of 5 runs: JA4 t13d1518h2_8daaf6152771_4980c97edce0, real Chrome 155 has t13d1517h2_8daaf6152771_cb7bf5808d99; HTTP/2 hash equal",
      "evidence": "/img/benchmark/evidence/tls-puppeteer-stealth.webp"
    },
    {
      "test": "tls",
      "tool": "patchright",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: JA4 t13d1517h2_8daaf6152771_cb7bf5808d99, real Chrome 155 has t13d1517h2_8daaf6152771_cb7bf5808d99; HTTP/2 hash equal",
      "evidence": null
    },
    {
      "test": "tls",
      "tool": "nodriver",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: JA4 t13d1517h2_8daaf6152771_cb7bf5808d99, real Chrome 155 has t13d1517h2_8daaf6152771_cb7bf5808d99; HTTP/2 hash equal",
      "evidence": "/img/benchmark/evidence/tls-nodriver.webp"
    },
    {
      "test": "tls",
      "tool": "camoufox",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: JA4 t13d1517h2_8daaf6152771_3cbfd9057e0d, real Firefox 156 has t13d1517h2_8daaf6152771_3cbfd9057e0d; HTTP/2 hash equal",
      "evidence": "/img/benchmark/evidence/tls-camoufox.webp"
    },
    {
      "test": "tls",
      "tool": "cloakbrowser",
      "runs": [
        true,
        true,
        true,
        true,
        true
      ],
      "passes": 5,
      "total": 5,
      "errors": 0,
      "value": 1,
      "display": "5/5",
      "pass": true,
      "detail": "5 of 5 runs: JA4 t13d1516h2_8daaf6152771_d8a2da3f94cd, real Chrome 146 has t13d1516h2_8daaf6152771_d8a2da3f94cd; HTTP/2 hash equal",
      "evidence": "/img/benchmark/evidence/tls-cloakbrowser.webp"
    }
  ],
  "notTested": [
    {
      "name": "AWS WAF Bot Control",
      "reason": "No public page was found that shows an AWS WAF bot verdict on a page load."
    },
    {
      "name": "Arkose Labs",
      "reason": "It runs on sign-in and sign-up forms only. Reading it needs a form submission."
    },
    {
      "name": "Commercial anti-detect browsers and cloud browser services",
      "reason": "They need an account."
    },
    {
      "name": "CloakBrowser latest binary (Chromium 154)",
      "reason": "It needs a GitHub sign-in. The free binary (Chromium 146) was tested."
    },
    {
      "name": "undetected-chromedriver",
      "reason": "nodriver, its successor from the same author, was tested."
    }
  ]
}
