Detection vendors are writing their own obituary, accurately
The most credible critique of device fingerprinting comes from the companies selling it. Browsers are removing the signals, attackers are running real browsers, and probability is all that is left.
Why is observational bot detection running out of signal?
Because the observable differences are disappearing. Automation now runs real browser engines on real operating systems with human-like timing, so the fingerprint, the headers and the interaction pattern all match. The vendors describe this themselves, in the sections of their sites explaining why they added new signals.
- Every fingerprinting signal is either being removed by browsers or is reproducible by an attacker running a real browser.
- The agent era removes the premise entirely: much legitimate traffic is now automated and should be allowed.
- The question worth answering is not whether traffic is automated but whether a human authorised the action behind it.
Part of Category comparisons
What detection observes, and what happened to it
| Signal | Status |
|---|---|
| IP reputation | Defeated by residential proxy networks sold as a service |
| TLS and TCP stack fingerprint | Identical when the attacker runs a real browser |
| Canvas and WebGL fingerprint | Being deliberately reduced or randomised by browsers |
| Mouse and scroll dynamics | Synthesisable, and increasingly well |
| Timing and interaction cadence | Synthesisable |
| Header order and composition | Identical from a real browser |
| Behavioural consistency across sessions | Undermined by privacy features that partition state |
Two forces, pulling the same direction. Browsers are removing signals because they are tracking vectors, and attackers are eliminating the rest by using real browsers instead of emulating them.
Why running a real browser settles it
Early automation was detectable because it was not a browser. Headless tooling had distinguishing properties, missing APIs and characteristic timing.
An attacker today runs actual browser binaries on actual machines, driven programmatically, through residential connections. There is no property that distinguishes this from a person using the same browser, because in every measurable respect it is the same browser.
What remains is behaviour, and behaviour is generated well enough to sit inside the distribution of real users.
The premise that disappeared
Detection assumed automated equals unwanted. That assumption is now simply false.
- A user's assistant browsing on their behalf is automated and legitimate
- A price comparison agent acting for a customer is automated and legitimate
- An accessibility tool is automated and legitimate
- A scraper building a competitor's dataset is automated and unwanted
- A credential stuffing run is automated and unwanted
Detecting automation does not separate those. The distinction is about authority and purpose, which is not a property of the traffic.
The false positive cost
Probabilistic systems produce errors in both directions, and the two are not symmetric in consequence.
| Error | Who bears it |
|---|---|
| False positive | A real user blocked — often a privacy-conscious one, or someone on a VPN, or using assistive technology |
| False negative | The operator, eventually |
The first row is systematically under-counted because blocked users rarely complain; they leave. And the users most affected are those whose configuration is unusual, which correlates with privacy tooling and accessibility needs.
Changing the question
Instead of asking what produced this request, ask whether a human authorised this action.
# Detection question
is_bot(request) → 0.72
→ a probability, requiring a threshold, producing errors
# Authorisation question
did a human authorise this specific action?
→ a valid receipt exists, or it does not
→ an agent acting under a signed human delegation: allowed
→ an agent with no delegation: refused
→ a human with no delegation, on a gated action: refused
This permits legitimate automation, which detection struggles to do, and refuses unauthorised action whether it came from a script or a person.
Where detection still has a place
Being fair about this. Detection is not worthless; it is being asked to do something it cannot do.
- Volumetric abuse — the deviation is enormous and unambiguous
- Rate limiting and resource protection, where a probability is an acceptable input
- Prioritising which requests get a stronger check
- Public content with no authenticated user, where there is nothing else to work with
The last is the honest limit of the alternative. Where there is no account and no action to authorise, there is nothing to sign, and probabilistic defence is what remains.
What to do about it
- Separate your surfaces: public content where detection is the only option, and authenticated actions where authorisation applies.
- For the second category, identify the actions that matter and gate them on a signature rather than on a bot score.
- Provide a legitimate path for agents — a delegation mechanism — so that blocking becomes a policy decision rather than a detection failure.
- Measure your false positive rate. Most operators cannot, which means they are unaware of the cost they are paying.
Objections and honest limits
“Detection still catches most traffic.” It catches unsophisticated volume, which is most traffic by count and none of the traffic that matters. The targeted attacker is the one running a real browser.
“So detection is worthless.” No — it is valuable as a filter and as routing input. What it cannot be is the thing standing between an attacker and a consequential action.
Terms used here
- Fingerprinting
- Inferring automation from browser and device characteristics, which converge as automation uses real browsers.
- False positive cost
- Legitimate users blocked by a detection system — borne by the business, not the attacker.
Frequently asked questions
Is bot detection useless? No. It handles volumetric abuse and works as an input to rate limiting. It cannot distinguish authorised automation from unauthorised, which is the question that now matters.
Why can't fingerprinting keep up? Browsers are removing the signals as tracking vectors, and attackers run real browsers rather than emulating them. There is nothing left to measure.
What is wrong with the automated-equals-unwanted premise? Much legitimate traffic is now automated — assistants, comparison agents, accessibility tools. Detecting automation does not separate wanted from unwanted.
Where does detection remain the only option? Public surfaces with no authenticated user and no action to authorise. There is nothing to sign, so probability is what remains.
Where does detection still belong? As a filter for volume abuse and as routing input for investigation, not as the control in front of a consequential action.
Where this fits in Manav
The longer argument, with the numbers, is in our piece on detection debt.
Sources and further reading
- Cloudflare — bot management and Web Bot Auth
- Published research on automated browser detection and evasion.
- FCC — protecting consumers from SIM swap and port-out fraud