Skip to content
LR Defender
Book a demo
All posts

Engineering

Headless browsers and AI agents: what every check looks for

Every identification checks for headless browsers, WebDriver and automation frameworks. AI agent detection is on by default and can be switched off per account. How the two fit.

Lightning Research teamUpdated 2 min read

Automated traffic comes in two shapes today. The familiar one is a script driving a headless browser through a framework such as Playwright, Puppeteer or Selenium. The newer one is an AI agent driving a real browser on a real machine, one careful session at a time. They leave different traces, so LR Defender looks for them differently.

On every identification

Every identification checks for headless browsers, WebDriver and automation frameworks. These are hard signals: a browser that reports it is under WebDriver control, or shows the marks of a headless build, is not a person at a keyboard. A behavioral model also scores pointer movement.

The bot checks end in one of three actions: allow, challenge or block. A block from the bot checks needs at least one hard signal, so a visitor who only moves the mouse oddly is never blocked on that alone. The thresholds are yours to tune, per account.

What a default headless run looks like

On September 25, 2026 we drove our own test page with Chrome, launched headless by Playwright with its default settings, and fetched the verdict. The bot checks flagged the visit as an automation tool, and the recommended action was challenge. That is the easy case, because default settings announce themselves. You can repeat the test on your own pages: the quick start shows how.

AI agents driving a real browser

An agent that drives a real browser does not trip the headless checks, because nothing about the browser is headless. What gives it away is how the browser is driven: signs that its debugging protocol is in use, and a session without the small, unplanned interactions people make.

LR Defender's detection for AI agents driving a real browser is on by default, and you can switch it off for your account under Detection settings in the dashboard. When it is on, strong evidence blocks and ambiguous evidence challenges. You can talk to an engineer about what it finds.

What we do not do

We do not let crawlers through on their own say-so. Keep your existing allow list for the crawlers you trust.

We also do not publish a detection rate, because we have not measured one we would stand behind. Instead, each verdict carries its evidence, so you can judge every decision yourself.

Get a verdict in your own app.

After a demo call, we set up your account and email you a link to set your password. It starts with a 90-day free trial on the Pro plan's limits, with no card.