A CAPTCHA is an automated challenge-response test intended to distinguish human users from automated programs. For web applications, serving CAPTCHA challenges can reduce automated attacks against sensitive API-driven business flows, although no method completely prevents headless access. section 4.9
Use CAPTCHA as one layer in a broader defense:
- Challenge users when automated activity threatens a sensitive flow. section 4.9
- Combine it with user-agent checks, interaction-pattern detection, throttling, and blocking for suspected abuse. section 4.9
Figure 4.18 If our API is designed for consumption by a web application, a good strategy to mitigate automated attacks is serving CAPTCHA challenges.
The figure shows CAPTCHA challenges as a mitigation for automated attacks against an API consumed by a web application. section 4.9

