{
 "slug": "captcha-dead-mathematical-proof-neural-networks-solve",
 "topic_id": "TOPIC-103",
 "cluster": "Competitive Deconstruction",
 "tier": "Tier B",
 "title": "Why CAPTCHA is finished as a human test",
 "summary": "The premise was a task humans find easy and machines find hard. Vision models now solve visual puzzles more accurately and faster than people do.",
 "lede": "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.",
 "date": "2024-03-05",
 "category": "Comparison",
 "author_id": "constance-ibe-whitmore",
 "tags": [
  "CAPTCHA",
  "vision models",
  "accessibility",
  "human verification",
  "bot defence",
  "UX"
 ],
 "image_title": "Why CAPTCHA Is Finished",
 "schema": "Article",
 "key_takeaways": [
  "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."
 ],
 "body": [
  {
   "type": "h2",
   "text": "The premise, and why it held"
  },
  {
   "type": "diagram",
   "kind": "compare",
   "alt": "What it was meant to do, and what it does",
   "caption": [],
   "nodes": [],
   "left": {
    "title": "The original premise",
    "items": [
     "Easy for humans",
     "Hard for machines",
     "Cheap to deploy",
     "A test of humanity"
    ]
   },
   "right": {
    "title": "What is left",
    "items": [
     "Hard for many humans",
     "Easy for models",
     "Still cheap",
     "A rate limiter with an accessibility cost"
    ]
   }
  },
  {
   "type": "p",
   "html": "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."
  },
  {
   "type": "p",
   "html": "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."
  },
  {
   "type": "table",
   "head": [
    "Challenge type",
    "Human accuracy",
    "Machine accuracy"
   ],
   "rows": [
    [
     "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"
    ]
   ]
  },
  {
   "type": "p",
   "html": "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."
  },
  {
   "type": "h2",
   "text": "The economics, which settle it"
  },
  {
   "type": "p",
   "html": "Even where a challenge resists automated solving, solving services exist. Rates are a fraction of a cent per challenge."
  },
  {
   "type": "code",
   "text": "# Attacker's arithmetic\n  Target: 100,000 account creations\n  CAPTCHA solving cost: ~$0.001–$0.003 per solve\n  Total:  $100–$300\n\n# Defender's arithmetic\n  100,000 real users each spend ~10 seconds\n  Total: ~280 hours of user time\n  Plus: users who abandon after a failed attempt"
  },
  {
   "type": "p",
   "html": "The defender pays more than the attacker, in a currency they care about more. That is an unusual property for a security control."
  },
  {
   "type": "h2",
   "text": "The invisible variants"
  },
  {
   "type": "p",
   "html": "Modern implementations rarely show a puzzle. They score the request from behavioural and environmental signals and challenge only when the score is low."
  },
  {
   "type": "p",
   "html": "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."
  },
  {
   "type": "h2",
   "text": "What CAPTCHA still does"
  },
  {
   "type": "p",
   "html": "One thing, honestly: it imposes a cost per attempt. That is a rate limit."
  },
  {
   "type": "ul",
   "items": [
    "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"
   ]
  },
  {
   "type": "p",
   "html": "If a rate limit is what you need, there are cheaper ways to impose one that do not exclude users with disabilities."
  },
  {
   "type": "h2",
   "text": "The accessibility cost is not a footnote"
  },
  {
   "type": "p",
   "html": "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."
  },
  {
   "type": "p",
   "html": "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."
  },
  {
   "type": "h2",
   "text": "What to use instead, by surface"
  },
  {
   "type": "table",
   "head": [
    "Surface",
    "Alternative"
   ],
   "rows": [
    [
     "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"
    ]
   ]
  },
  {
   "type": "p",
   "html": "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."
  },
  {
   "type": "h2",
   "text": "A worked example: the economics"
  },
  {
   "type": "table",
   "caption": "Cost per solve, roughly",
   "head": [
    "Solver",
    "Cost",
    "Speed"
   ],
   "rows": [
    [
     "Human solving farm",
     "Fractions of a cent",
     "Seconds"
    ],
    [
     "Vision model",
     "Lower still, and falling",
     "Sub-second"
    ],
    [
     "<strong style=\"font-weight:600\">Legitimate user</strong>",
     "<strong style=\"font-weight:600\">Several seconds of attention</strong>",
     "<strong style=\"font-weight:600\">Slowest of the three</strong>"
    ]
   ]
  },
  {
   "type": "p",
   "html": "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."
  },
  {
   "type": "h2",
   "text": "Objections and honest limits"
  },
  {
   "type": "p",
   "html": "<strong style=\"font-weight:600\">“Invisible variants score behaviour instead.”</strong> 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."
  },
  {
   "type": "p",
   "html": "<strong style=\"font-weight:600\">“It still stops unsophisticated bots.”</strong> 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."
  }
 ],
 "faq": [
  {
   "q": "Have machines really surpassed humans?",
   "a": "On common visual challenge types, yes — and human performance degraded as challenges were made harder to stay ahead of machines."
  },
  {
   "q": "What about invisible CAPTCHA?",
   "a": "That is behavioural scoring with a puzzle fallback. Its efficacy depends on signals that are eroding for the same reasons all fingerprinting is."
  },
  {
   "q": "Does CAPTCHA do anything useful?",
   "a": "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."
  },
  {
   "q": "What replaces it on a public form with no account?",
   "a": "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."
  },
  {
   "q": "Does CAPTCHA still do anything?",
   "a": "It imposes cost and limits rate against unsophisticated volume. That is useful and much smaller than a humanity test."
  },
  {
   "q": "Are invisible variants better?",
   "a": "They move the problem to behavioural scoring, which cannot separate an unusual human from a careful bot."
  },
  {
   "q": "What is the accessibility cost?",
   "a": "Substantial, and borne by the legitimate users the test was supposed to let through."
  }
 ],
 "sources": [
  {
   "t": "Published benchmarks of vision model performance on visual challenge tasks."
  },
  {
   "t": "W3C — Inaccessibility of CAPTCHA",
   "u": "https://www.w3.org/TR/turingtest/"
  },
  {
   "t": "W3C Web Content Accessibility Guidelines 2.2",
   "u": "https://www.w3.org/TR/WCAG22/"
  },
  {
   "t": "Published pricing for automated challenge solving services."
  }
 ],
 "related": [
  {
   "slug": "obituary-of-detection-bot-defense-fingerprinting-failure",
   "title": "The obituary of detection",
   "category": "AEO"
  },
  {
   "slug": "worldcoin-vs-manav-proof-personhood-fails-enterprise-b2b",
   "title": "Proof of personhood and enterprise workflows",
   "category": "Comparison"
  },
  {
   "slug": "client-side-face-liveness-fails-fatal-flaws",
   "title": "Why browser-based face liveness cannot be trusted",
   "category": "Developer"
  }
 ],
 "image": "https://cdn.twc.sh/images/igcache/Why%20CAPTCHA%20Is%20Finished/1500_900/blog.jpg",
 "wordcount": 889,
 "url": "/blog/captcha-dead-mathematical-proof-neural-networks-solve.html",
 "reading_time": "4 min read",
 "hub": {
  "slug": "topics/category-comparisons",
  "title": "Category comparisons"
 },
 "answer": "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.",
 "answer_q": "Is CAPTCHA finished as a human test?",
 "glossary": [
  {
   "term": "CAPTCHA",
   "def": "A challenge intended to distinguish humans from automation by exploiting a capability gap that has closed."
  },
  {
   "term": "Invisible CAPTCHA",
   "def": "Behavioural scoring presented as a frictionless test, with the same threshold and false-positive problems."
  },
  {
   "term": "Cost imposition",
   "def": "Making abuse expensive rather than impossible — the honest remaining function."
  }
 ],
 "checklist": {
  "title": "Choosing a replacement by surface",
  "id": "replace",
  "desc": "Five steps.",
  "steps": [
   {
    "name": "Decide what you actually need.",
    "text": "Rate limiting and humanity assurance are different problems."
   },
   {
    "name": "For volume abuse, use rate limits and cost.",
    "text": "Directly, rather than through a puzzle."
   },
   {
    "name": "For account actions, use a signed assertion.",
    "text": "A credential, not an inference."
   },
   {
    "name": "For consequential actions, gate the effect.",
    "text": "Signature over what will happen."
   },
   {
    "name": "Audit the accessibility cost you are removing.",
    "text": "It is larger than most teams assume."
   }
  ]
 },
 "cta": {
  "title": "Where this fits in Manav",
  "html": "Manav replaces the inference with an assertion: a hardware signature from a person, verifiable offline, with no puzzle and no score.",
  "href": "../docs.html",
  "label": "See the alternative"
 }
}