What actually gets a profile flagged, how agents drive a real browser, and the detector runs behind our claims.
No GPU, almost no fonts, no audio device, a datacenter IP and a clean profile every run. Each of those is fixable to some degree, and a couple are not, so know which is which before you spend a sprint tuning a container.
A WebRTC leak test shows a local IP, a public IP and an SDP log, and only one comparison on that page actually decides whether you leak. What each field means, why a random .local address is not a leak, and the IPv6 case most people miss.
navigator.webdriver, the automation infobar and the cdc_ variables injected into every page come from the driver process, not from your Selenium script. What to check on your own setup, and when a framework switch genuinely is not worth the rewrite.
CreepJS is a research page for finding where a browser lies about itself, not a score to beat. What the FP ID, lies, headless and worker sections measure, why a spoofed value usually lands in the lies list instead of changing your fingerprint, and why a clean result predicts little about a real site.
An agent's MCP browser is usually identified by the machine it runs on, not by the model driving it. The four signals that give it away, what a stealth MCP setup has to fix at each one, and where a stock Playwright MCP server is already enough.
The first frames of an HTTP/2 connection, SETTINGS, WINDOW_UPDATE, PRIORITY and the pseudo-header order, identify the client library that sent them. Here is the Akamai fingerprint format field by field, and why it is checked together with TLS rather than alone.
The User-Agent string has been frozen and trimmed, and the detail moved to Client Hints, split across headers and a JS API. That gives every browser session three separate places to describe its platform, and a spoofer that only changes one of them creates a contradiction that is easier to catch than the original signal.
Solving the challenge treats the symptom and leaves the risk score that triggered it untouched, so the next session gets challenged again. Here is what actually causes the challenge, and when paying to solve it is still the right call.
Add teammates by email, share whole profile groups or single profiles, and pick read, edit or delete access. Cookies, fingerprint and proxy travel with the profile.
A page cannot list your installed fonts directly, so it measures text instead, rendering a candidate font against a fallback and comparing the width. The resulting set reflects OS, locale and installed software so precisely that a single impossible font is worse than a thousand unlikely ones.
Chrome 155 reached the stable channel on 2026-09-23 and the AntiBrow kernel now ships a build of it. The last two release notes were about when to move profiles. This one is about how: one throwaway profile first, a short checklist, then the rest in batches.
Chrome 154 reached the stable channel on 2026-09-09 and the AntiBrow kernel now ships a build of it. The last release note was about not jumping too early. This one is about the other end: how long a profile can sit on an old major before the version itself becomes the odd thing about it.
Named, sourced, and dated. Where a vendor's price is not on their own page, we say so instead of quoting a number.
// Every competitor figure on those pages carries its source and the date we captured it. Where we could not source a number, it is missing rather than estimated.