Builds Scalebrowser, the browser layer for AI agents that runs on your own machine. Measures every change a web page could observe against a real browser before it ships, and writes up the ones that turned out wrong.
Challenges · Nov 4, 2026 · 6 min readreCAPTCHA vs hCaptcha vs Turnstile for an AI agent
reCAPTCHA, hCaptcha and Cloudflare Turnstile compared by what each asked of an AI agent's browser in August 2026: a score, a puzzle, 35 seconds or no click at all.
Detection · Nov 3, 2026 · 5 min readBrowserScan: 1 timezone costs an agent 10 percent
What BrowserScan checks in an automated browser, how its 100 percent score loses points, and the two findings that cost us: a timezone and noisy canvas pixels.
Detection · Nov 2, 2026 · 6 min readAudio fingerprinting: why the readback stays honest
Audio fingerprinting renders a signal through the Web Audio API and reads it back: what it reveals, the 8 ms grid Chrome imposes, and why added noise is a tell.
Detection · Nov 1, 2026 · 5 min readAccept-Language header: 1 value, block page or login
What the Accept-Language header is, how Chrome builds it from a language list, and the malformed value that got a DataDome captcha instead of a login page.
Proxies · Oct 31, 2026 · 6 min readMobile proxy for AI agents: 4 readings of a Unix TCP stack
What a mobile proxy changes for an AI agent's browser: 4 TCP readings through a mobile exit, why it covers no mismatch, and what its carrier address does bring.
Security · Oct 30, 2026 · 7 min readLLM secrets in agent runs: 214 false alarms down to 0
How an agent's secret filter recognises keys in 4 stages, why reading the whole page caused 214 false alarms on 19 sites, and what cut them to 0 on 8 Sep 2026.
Proxies · Oct 29, 2026 · 6 min readIP reputation for browser automation: 19% vs 0 of 70 runs
IP reputation against profile maturity in 191 reCAPTCHA measurements: what the exit address decided, why aged profiles did not help, and how to test an exit.
Infrastructure · Oct 28, 2026 · 6 min readHeadless browser: why an attached tab ignores clicks
What a headless browser is, why a tab a driver only attaches to runs at 0 frames per second and ignores input in both modes, and what a site can tell from headless.
Infrastructure · Oct 27, 2026 · 6 min readMultiple browser profiles on one machine: about 340 MB each
How many browser profiles one machine runs for AI agents: what a profile is, the memory a running browser takes, what refuses a start, and why plans count browsers.
Infrastructure · Oct 26, 2026 · 6 min readChrome DevTools Protocol (CDP): can a site detect it?
What the Chrome DevTools Protocol is, what a driver does with it, what a page notices, from a tab at 0 frames per second to a click, and why header order is lost.
Proxies · Oct 25, 2026 · 6 min readGeolocation and timezone spoofing: 5 checks behind 1 proxy
Geolocation and timezone spoofing behind a proxy: the 5 places a location shows, which one anchors the rest, and why an unknown exit is left untouched.
Infrastructure · Oct 24, 2026 · 6 min readComputer use agent or browser agent: 2 ways to see a page
Computer use agents read screenshots, browser agents read a page map: tokens per step, precision, what each can reach, and why a site detects neither by its method.
Security · Oct 23, 2026 · 8 min readAI agent security: what a signed-in agent never gets
How to limit an AI agent that works in a signed-in browser: the 3 prompt kinds it never answers, server-side limits instead of prompt rules, and keys kept out.
Infrastructure · Oct 22, 2026 · 6 min readAI agent observability: 1 still image for every browser step
How to record and audit what an AI agent did in a browser: 1 step per tool call, a still per step, stated outcomes, and proof recording leaves input timing alone.
Detection · Oct 21, 2026 · 5 min readUser agent spoofing: why 2 Chrome versions behind is a tell
User agent spoofing against client hints, TLS and Chrome's two-week release cycle: why a changed string contradicts itself and why a frozen version stands out.
Proxies · Oct 20, 2026 · 6 min readProxy detection: 4 signals that give a proxy exit away
How a site detects a proxy exit from 4 signals: IP reputation, the exit's TCP fingerprint, a WebRTC route and the clock, with our readings of September 2026.
Detection · Oct 19, 2026 · 6 min readWebGL fingerprint: why SwiftShader is a bot signal
What a WebGL fingerprint reveals about the graphics card, why SwiftShader rendering is a bot signal, and why a spoofed renderer string contradicts its own pixels.
Detection · Oct 18, 2026 · 6 min readnavigator.webdriver and CDP detection: 9 checks Reddit runs
What Reddit's 9 platform health checks read, run verbatim on 8 September 2026 against a person, a bare CDP driver and our browser, and why webdriver is 1 of 17.
Challenges · Oct 17, 2026 · 5 min readSlider captcha: measure the gap instead of guessing
How an AI agent solves a slider captcha by measuring the gap first: GeeTest v3 at 112 pixels in one drag, GeeTest v4 in 2 of 2 runs, the rotation variant not at all.
Sign in · Oct 16, 2026 · 6 min readPlaywright storage state: what a persistent profile keeps
What Playwright's storage state saves in 2026, the 4 things a restored state still lacks next to a persistent profile, and how a session moves between machines.
Sign in · Oct 15, 2026 · 5 min readPermission prompts in automation: 14 kinds a browser draws
Why automation cannot see Chrome's permission prompts, which 14 kinds a browser draws beside the page, and which 3 an AI agent should never answer.
Detection · Oct 14, 2026 · 6 min readFont fingerprinting: 130 of 187 fonts drawn but not listed
Font fingerprinting compares the fonts a browser lists with the fonts it draws. Our persona list left 130 of 187 families unlisted; voices follow the same rule.
Sign in · Oct 13, 2026 · 5 min readTemporary email for verification: 1 address per profile
Why temporary email fails for agent sign-ups, and how a catch-all domain gives every profile 1 address of its own, read outside the browser within 60 seconds.
Sign in · Oct 12, 2026 · 6 min readCan an automated browser sign in with a passkey?
How an automated browser signs in with a passkey: what real machines answer, what Chrome's virtual authenticator gives away, and why the time has to vary.
Challenges · Oct 11, 2026 · 6 min readPerimeterX press and hold: 2 presses, 1 call
How the HUMAN (PerimeterX) press and hold works, why one long press fails, and how an AI agent passed it on Microsoft's sign-up in 3 runs on 4 August 2026.
Detection · Oct 10, 2026 · 6 min readHow does Cloudflare bot management detect an agent?
What Cloudflare's bot management reads before it challenges a browser: the 1 to 99 score, JA4, JavaScript detections, behaviour, and what stealth plugins miss.
Detection · Oct 9, 2026 · 5 min readDataDome detection: 1 header turned a block into a login
What DataDome reacted to on PayPal in 4 runs on 12 August 2026: one Accept-Language header decided captcha or login, while the block page blamed the IP.
Stealth tools · Oct 8, 2026 · 6 min readChromium fork for automation: 29 patches instead of a script
Why hiding automation takes a patched Chromium rather than a script, and what a fork costs to keep: releases every two weeks, rebased patches, signing, rollback.
Infrastructure · Oct 7, 2026 · 7 min readbrowser-use alternative: 1 identity per profile
browser-use compared with a fixed identity per profile: what Browser Use Cloud randomises per session, what a profile keeps, and 5 USD per GB of proxy traffic.
Challenges · Oct 6, 2026 · 5 min readAudio captcha: transcribed locally in 1.3 seconds
How an AI agent answers the audio captcha of reCAPTCHA v2 on its own machine: a local Whisper tiny model, 1.3 seconds, no speech service and no model shipped.
Sign in · Oct 5, 2026 · 6 min readAutomate 2FA for an AI agent: 6 digits every 30 seconds
How an AI agent passes two-factor authentication: the 6-digit TOTP code computed per RFC 6238 inside its profile, and why cloud guides say to disable 2FA.
Infrastructure · Oct 4, 2026 · 6 min readAccessibility tree for LLM agents: 462 tokens per step
What the accessibility tree is, why LLM agents read it instead of HTML, what a page map built from it costs per step, and how it catches a page's error message.
Infrastructure · Oct 3, 2026 · 7 min readCloud browser or local browser for AI agents?
What a cloud browser for AI agents costs at 5 vendors: session caps, hour and gigabyte meters, GPU and fingerprint, set against a browser on your own machine.
Infrastructure · Sep 25, 2026 · 7 min readBrowser agents: how sites detect them and how to pass
What a browser agent is, the 4 layers a site reads to detect the browser it drives, which stacks exist today, and what stops an agent after detection.
Sign in · Sep 25, 2026 · 5 min readAI agent login: the 4 walls before a signed-in session
How an AI agent signs in to websites and stays signed in: the second factor, the emailed code, the passkey and the lost session, each with what we measured.
Detection · Sep 25, 2026 · 5 min readBehavioral biometrics: 11 mouse measures against 120 people
How behavioral biometrics tell an automated mouse and keyboard from a person, the 11 pointer measures we track against 120 people, and the 5 still outside.
Detection · Sep 25, 2026 · 6 min readBot detection: 4 layers that flag an agent's browser
How bot detection reads a browser on 4 layers before and after the page loads, how the layers add up to one verdict, and where our own runs went wrong.
Detection · Sep 25, 2026 · 5 min readBrowser fingerprint test sites: what 8 detectors check
8 browser fingerprint test sites and what each one reads, how long each takes, and the results that flag even a real Chrome if the test is set up wrong.
Detection · Sep 25, 2026 · 5 min readWhat browser fingerprinting reads
What browser fingerprinting reads, which values have to agree with each other, why a random value stands out, and how to check your own browser.
Infrastructure · Sep 25, 2026 · 7 min readBrowser MCP servers compared: tokens per step across 6 tools
Six browser MCP servers measured on live pages: tokens to see a page, tokens per step, the tool list's fixed cost, and which server fits which job.
Infrastructure · Sep 25, 2026 · 5 min readA Browserbase alternative on your own machine
Browserbase compared with a browser on your own machine for AI agents: session length, billing, proxies, fingerprint, second factor and passkeys, as documented.
Stealth tools · Sep 25, 2026 · 5 min readCamoufox review: Firefox patches and a new device per launch
What Camoufox's C++ Firefox patches do well, why a new fingerprint at every launch hurts a returning login, and the 2025 build 63.4% of downloads still run.
Detection · Sep 25, 2026 · 5 min readCanvas fingerprinting: why profiles on one machine match
What canvas fingerprinting reads, which parts of a machine decide the hash, and why browser profiles on one computer share it without looking fake.
Challenges · Sep 25, 2026 · 7 min readCaptcha solving without a service: 18 types measured
18 challenge types an AI agent solved in its own browser on live widgets with real keys, no solving service, with run counts and the 2 that stay open.
Infrastructure · Sep 25, 2026 · 5 min readChrome DevTools MCP: 393,149 tokens per Wikipedia page
Chrome DevTools MCP measured as an agent's browser: tokens per page and per step on 3 live pages, the context window it fills and what it is built for.
Stealth tools · Sep 25, 2026 · 5 min readIs CloakBrowser good for AI agents? Fix the seed and noise
CloakBrowser reviewed: what its 87 Chromium patches cover, its 26 of 31 benchmark result, the free and Pro builds, and which 2 defaults to change on day one.
Challenges · Sep 25, 2026 · 5 min readCloudflare Turnstile: can an AI agent pass it?
Cloudflare Turnstile measured with an AI agent on 3 live pages with production keys: tokens in 1.7 and 2.9 seconds, one variant that failed twice, and why.
Challenges · Sep 25, 2026 · 5 min readhCaptcha and AI agents: 4 of 4 solved, 0 on its own demo
How an AI agent solved hCaptcha's growing-shape task by measuring frames, 4 of 4 on one site, and why hCaptcha's own demo refused the same correct answers.
Detection · Sep 25, 2026 · 7 min readJA4 fingerprint: 1 TLS extension tells Chrome from a fork
What the JA4 TLS fingerprint reads before any script runs, why JA3 cannot follow Chrome, and the one extension that split our Chromium build from real Chrome.
Stealth tools · Sep 25, 2026 · 5 min readnodriver vs undetected-chromedriver: which one to use
nodriver against undetected-chromedriver: releases, licences, a 31 target benchmark, and the 3 things nodriver leaves to your code: profile, input, licence.
Stealth tools · Sep 25, 2026 · 5 min readPatchright: Playwright minus its CDP leaks, and what remains
Patchright swaps one import and hides Playwright's Runtime.enable and Console.enable leaks. What a detector still sees, and its score in a 31-site benchmark.
Infrastructure · Sep 25, 2026 · 5 min readPlaywright MCP token usage: 604,785 tokens to see 1 page
Playwright MCP measured in tokens per page and per step against 5 other browser tools, with the cost curve of a session and what cuts it.
Stealth tools · Sep 25, 2026 · 5 min readPlaywright stealth for Python and Node: what it patches
What playwright-stealth (Python) and playwright-extra (Node) patch, what a detector still sees, and what Playwright's own typing looks like to a page.
Stealth tools · Sep 25, 2026 · 5 min readIs puppeteer-extra-plugin-stealth still maintained?
The Puppeteer stealth plugin read on 22 September 2026: maintenance, what its 17 evasions change, where they stop, and which maintained tools replace it.
Challenges · Sep 25, 2026 · 4 min readreCAPTCHA v3 score test: why a 0.9 on a demo means little
We read reCAPTCHA v3 scores on Google's demo and on a fresh key: 0.9 for every browser, even without mouse movement. Plus the token trap that fakes a 0.3.
Stealth tools · Sep 25, 2026 · 6 min readStealth browsers for automation: 7 free tools compared
nodriver, Patchright, Camoufox, CloakBrowser, playwright-stealth, undetected-chromedriver and the Puppeteer plugin: what each changes and how current it is.
Measurements · Aug 1, 2026 · 5 min readCanvas noise and mouse tremor: why adding noise is the tell
We added noise to hide two browser signals, canvas pixels and pointer paths. Both times the noise itself gave us away. The numbers, and what replaced it.
