What is a CAPTCHA puzzle?
AWS WAF provides standard CAPTCHA functionality that challenges users to confirm that they are human beings. CAPTCHA stands for Completely Automated Public Turing test to tell Computers and Humans Apart. CAPTCHA puzzles are designed to verify that a human is sending requests and to prevent activity like web scraping, credential stuffing, and spam.
Each CAPTCHA puzzle includes a standard set of controls for the end user to request a new puzzle, switch between audio and visual puzzles, access additional instructions, and submit a puzzle solution. All puzzles include support for screen readers, keyboard controls, and contrasting colors.
A typical visual puzzle requires interaction to complete a specific part of an image, as shown in the following screenshot.

AWS WAF CAPTCHA puzzles are designed to be intuitive across multiple geographic regions. The
default puzzles rely on visual elements and various forms of computer interaction. AWS WAF
CAPTCHA includes alternative audio-based puzzles for users with visual impairment.
This guidance is provided in English only. The puzzles meet the requirements of the Web
Content Accessibility Guidelines (WCAG). For information, see Web Content Accessibility
Guidelines (WCAG) Overview
The audio puzzle option provides background noise overlaid with instructions in English about text that the user should type into a text box. The following screenshot shows the display for the audio puzzle choice.

The written instructions for the puzzles is available in multiple languages. The CAPTCHA puzzle starts with the client browser language, and provides the option to change the language through a dropdown menu. The written instructions for CAPTCHA puzzles are available in Arabic (ar-SA), simplified Chinese (zh-CN), Dutch (nl-NL), English (en-US), French (fr-FR), German (de-DE), Italian (it-IT), Japanese (ja-JP), Brazilian Portuguese (pt-BR), Spanish (es-ES), and Turkish (tr-TR). In JavaScript clients, you can change the default starting language if you implement the CAPTCHA client application APIs. For information about this option, see AWS WAF JavaScript integrations.
CAPTCHA puzzles are intended to be fairly easy and quick for humans to complete successfully and hard for computers to either complete successfully or to randomly complete with any meaningful rate of success. CAPTCHA is commonly used when a Block action would stop too many legitimate requests, but letting all traffic through would result in unacceptably high levels of unwanted requests, such as from bots.
CAPTCHA can't weed out all unwanted requests. Many CAPTCHA puzzles have been solved using machine learning and artificial intelligence. In an effort to circumvent CAPTCHA, some organizations supplement automated techniques with human intervention. In spite of this, CAPTCHA continues to be a useful tool to prevent less sophisticated bot traffic and to increase the resources required for large-scale operations.
AWS WAF randomly generates its CAPTCHA puzzles and rotates through them to ensure that users are presented with unique challenges. AWS WAF regularly adds new types and styles of puzzles to remain effective against automation techniques. In addition to the puzzles, the AWS WAF CAPTCHA script gathers data about the client to ensure that the task is being completed by a human and to prevent replay attacks.