Browser agents and bot checks, honestly
What triggers a CAPTCHA, what a browser agent can do about it, what it should never do, and why a residential proxy is not the whole answer.
If you run an agent in a browser for long enough, a site will stop and ask whether you are a person. Every browser-agent product has an answer to this, and most of the answers are either vague or dishonest. Here is ours.
What a bot check is actually scoring
Bot defenses, whether a site’s own or a vendor like Akamai, DataDome or PerimeterX, score three things:
- Where the traffic comes from. A datacenter address is on every list. Most of the challenges a hosted agent meets are this and nothing else.
- What the browser reports about itself. Headless mode, automation flags, a missing GPU, an odd screen size, a timezone that does not match the address.
- How the input behaves. Clicks that land on exact centres with no travel, typing at a constant rate, the same page order at the same minute every day.
A challenge is the site saying its score crossed a line. It is not a verdict on whether you are allowed to be there.
What Describe does about each
It is a real, headed browser. Each agent gets a full Chromium on its own virtual display with its own persistent profile. The renderer, the fonts and the window metrics are a desktop browser’s. Headless mode alone was enough to turn a couple of large retail sites into a wall from the same address; headed, they render.
It drops the automation tells. No automation banner, navigator.webdriver off, a real locale and timezone, a normal window size and position.
Input is shaped like a hand. Clicks land near a point inside the element, settle onto it, pause, then press and release. Typing runs at a person’s pace with longer gaps on spaces. The pointer does not sweep across the page between clicks, which, as a side effect, stops it opening every hover menu on the way.
The profile persists. A check you passed once stays passed, because the cookies that record it live in that browser’s profile.
It never solves a CAPTCHA. The agent is instructed that when a site shows a bot check it must not try. It says so, stops, and hands you the controls in the live view. You pass the check yourself, hand the browser back, and the agent carries on. Trying to solve the check would be the dishonest move, and it is also the one that gets accounts banned.
What a residential proxy does and does not fix
A residential or ISP proxy removes the biggest single trigger, the datacenter address. It is the lever for sites that still challenge a clean, headed browser. It is not a guarantee.
It does not fix the browser’s fingerprint: a hosted machine without a GPU reports a software renderer, and fingerprinting vendors weigh that. It does not fix behaviour over time; a hundred runs at 7am from one profile look like a hundred runs at 7am. It does not help on the pages that challenge everyone, including people: login, checkout, payment, password reset. And a cheap proxy pool’s addresses are often already burned.
Our view: a good proxy plus a real browser plus honest behaviour takes an agent from “challenged on most retail sites” to “rarely challenged on ordinary browsing, still challenged on sensitive flows.” The right design for the remainder is the one above: stop, say so, let the person pass it, keep the result.
What to expect as a customer
Expect your agent to tell you when it hit a wall rather than pretend it did not. Expect to pass the occasional check yourself, through the live view, and then not see it again for that site. And if you are evaluating any browser agent, ours included, be suspicious of a product that promises you will never see one.