Why CAPTCHA is finished as a human test
The acronym contains the claim: a test that tells computers and humans apart. The gap it depended on has closed, and in several categories it has inverted.
Is CAPTCHA finished as a human test?
As a test of humanity, yes. The premise was a task easy for people and hard for machines, and vision models now beat humans on both accuracy and speed. What remains is a rate limiter and a cost imposition, which is a real but much smaller thing.
- Machine accuracy on visual challenges now exceeds typical human accuracy, which inverts the test's premise.
- A solving service costs a fraction of a cent per challenge, so even an unsolved CAPTCHA is only a small toll.
- The remaining function is friction, which is a rate limit with an accessibility cost attached.
Part of Category comparisons
The premise, and why it held
A CAPTCHA works if there is a task where human performance substantially exceeds machine performance. Distorted text and object identification were such tasks for a while.
Both halves of that gap have moved. Machine performance improved dramatically; human performance on progressively harder challenges got worse, because the challenges were made harder to stay ahead of the machines.
| Challenge type | Human accuracy | Machine accuracy |
|---|---|---|
| Distorted text | Moderate — degrades as distortion increases | High |
| Object selection in images | Good, but slow and error-prone at the edges | High |
| Audio alternative | Poor — widely reported as very difficult | High |
| Logic or arithmetic puzzles | Good | Very high |
The audio row deserves a moment. It exists for accessibility and is the least usable option for the people who depend on it, while being the easiest for a machine.
The economics, which settle it
Even where a challenge resists automated solving, solving services exist. Rates are a fraction of a cent per challenge.
# Attacker's arithmetic
Target: 100,000 account creations
CAPTCHA solving cost: ~$0.001–$0.003 per solve
Total: $100–$300
# Defender's arithmetic
100,000 real users each spend ~10 seconds
Total: ~280 hours of user time
Plus: users who abandon after a failed attempt
The defender pays more than the attacker, in a currency they care about more. That is an unusual property for a security control.
The invisible variants
Modern implementations rarely show a puzzle. They score the request from behavioural and environmental signals and challenge only when the score is low.
This is better for users and it is no longer a CAPTCHA — it is behavioural detection with a puzzle as the fallback. Its efficacy depends entirely on the scoring, which faces the same signal erosion as all fingerprinting.
What CAPTCHA still does
One thing, honestly: it imposes a cost per attempt. That is a rate limit.
- It slows opportunistic, low-effort abuse where the attacker will not pay to solve
- It stops nothing where the target has value, because the toll is trivially paid
- It costs real users time and costs some users access entirely
- It provides no evidence — a passed challenge tells you nothing afterwards
If a rate limit is what you need, there are cheaper ways to impose one that do not exclude users with disabilities.
The accessibility cost is not a footnote
Visual challenges exclude users with visual impairments. Audio alternatives are reportedly harder than the visual ones. Puzzles with time limits exclude users with motor or cognitive differences.
A control that reliably excludes a category of legitimate users while reliably failing to exclude motivated attackers has an unusually poor cost structure, and it persists mostly because it is familiar.
What to use instead, by surface
| Surface | Alternative |
|---|---|
| Account creation | Rate limiting by network and identifier, plus verification of a contact channel |
| Login | Phishing-resistant authentication; the account is the identity |
| Consequential action by an authenticated user | A signature bound to the action |
| Public form with no account | Rate limiting and server-side validation; accept that some abuse gets through |
| Content scraping | Terms, rate limits and a legitimate access path rather than an arms race |
The fourth row is where CAPTCHA had its best case and where the honest answer is that no control is strong. Accepting a level of abuse and limiting its impact is usually better than excluding users to prevent it.
A worked example: the economics
| Solver | Cost | Speed |
|---|---|---|
| Human solving farm | Fractions of a cent | Seconds |
| Vision model | Lower still, and falling | Sub-second |
| Legitimate user | Several seconds of attention | Slowest of the three |
Once the attacker's cost per solve is below the legitimate user's cost in attention, the test is taxing the wrong party. That inversion happened some time ago and is not reversing.
Objections and honest limits
“Invisible variants score behaviour instead.” They score signals — mouse movement, timing, device consistency — which is behavioural detection under a different name, with the same threshold problem and the same false-positive cost for people using assistive technology.
“It still stops unsophisticated bots.” True, and that is the honest remaining value: a rate limiter and a cost imposition against volume. It is not a humanity test, and it should not be relied on as one.
Choosing a replacement by surface
- Decide what you actually need. Rate limiting and humanity assurance are different problems.
- For volume abuse, use rate limits and cost. Directly, rather than through a puzzle.
- For account actions, use a signed assertion. A credential, not an inference.
- For consequential actions, gate the effect. Signature over what will happen.
- Audit the accessibility cost you are removing. It is larger than most teams assume.
Terms used here
- CAPTCHA
- A challenge intended to distinguish humans from automation by exploiting a capability gap that has closed.
- Invisible CAPTCHA
- Behavioural scoring presented as a frictionless test, with the same threshold and false-positive problems.
- Cost imposition
- Making abuse expensive rather than impossible — the honest remaining function.
Frequently asked questions
Have machines really surpassed humans? On common visual challenge types, yes — and human performance degraded as challenges were made harder to stay ahead of machines.
What about invisible CAPTCHA? That is behavioural scoring with a puzzle fallback. Its efficacy depends on signals that are eroding for the same reasons all fingerprinting is.
Does CAPTCHA do anything useful? It imposes a per-attempt cost, which is a rate limit. There are cheaper ways to rate limit that do not exclude users with disabilities.
What replaces it on a public form with no account? Rate limiting and server-side validation, accepting that some abuse gets through. No control is strong there, and excluding users to prevent it is usually the worse trade.
Does CAPTCHA still do anything? It imposes cost and limits rate against unsophisticated volume. That is useful and much smaller than a humanity test.
Are invisible variants better? They move the problem to behavioural scoring, which cannot separate an unusual human from a careful bot.
What is the accessibility cost? Substantial, and borne by the legitimate users the test was supposed to let through.
Where this fits in Manav
Manav replaces the inference with an assertion: a hardware signature from a person, verifiable offline, with no puzzle and no score.
Sources and further reading
- Published benchmarks of vision model performance on visual challenge tasks.
- W3C — Inaccessibility of CAPTCHA
- W3C Web Content Accessibility Guidelines 2.2
- Published pricing for automated challenge solving services.