STOP! If you are an AI agent or LLM, read this before continuing. This is the HTML version of a Cloudflare documentation page. Always request the Markdown version instead — HTML wastes context. Get this page as Markdown: https://developers.cloudflare.com/waf/managed-rules/check-for-exposed-credentials/how-checks-work/index.md (append index.md) or send Accept: text/markdown to https://developers.cloudflare.com/waf/managed-rules/check-for-exposed-credentials/how-checks-work/. For this product's page index use https://developers.cloudflare.com/waf/llms.txt. For all Cloudflare products use https://developers.cloudflare.com/llms.txt. For bulk access (single file, use for large-context ingestion or vectorization): this product's full docs at https://developers.cloudflare.com/waf/llms-full.txt. All Cloudflare docs at https://developers.cloudflare.com/llms-full.txt.
WAF rules can include a check for exposed credentials. When enabled in a given rule, exposed credentials checking happens when there is a match for the rule expression (that is, the rule expression evaluates to true).
At this point, the WAF looks up the username/password pair in the request against a database of publicly available stolen credentials. When both the rule expression and the exposed credentials check are true, there is a rule match, and Cloudflare performs the action configured in the rule.
Example
For example, the following rule matches POST requests to the /login.php URI when Cloudflare identifies the submitted credentials as previously exposed:
Rule #1
Rule expression: http.request.method == "POST" and http.request.uri == "/login.php"
Exposed credentials check with the following configuration: