AI Crawl Control
Reports which AI crawlers reach a zone and enforces allow or block policy per crawler.
- Provider
- cloudflare
- Kind
- Bot management
- Category
- Security
- Also known as
- AI Audit
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| challengeAction | enum | block | managed-challenge | js-challenge | captcha | log | no | — | ▸ log |
| detectionMethod | enum | user-agent | bot-score | no | user-agent | inherited |
| jsDetections | boolean | — | no | — | inherited |
| machineLearning | boolean | — | no | — | inherited |
| managed | boolean | — | no | false | ▸ true |
| payPerCrawl | boolean | — | no | false | inherited |
| robotsTxtTracking | boolean | — | no | true | inherited |
| scoreHeader | boolean | — | no | — | inherited |
| scoreThreshold | integer | — | no | — | inherited |
| sessionTokenLifetimeMinutes | integer | — | no | — | inherited |
| verifiedBotsAllowed | boolean | — | no | true | ▸ true |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
No rule reads this kind yet. That is a gap, not a guarantee.
nodes:
- { id: "ai-crawl-control", component: "cloudflare-ai-crawl-control" }# yaml-language-server: $schema=../../schema/component.schema.json # AI Crawl Control: reports which AI crawlers reach a zone and enforces per-crawler policy. # It "works automatically on all Cloudflare plans" with zero configuration and only observes # until a crawler is blocked, at which point a WAF custom rule is created ("Manage AI # crawlers"). Detection is user-agent based without Bot Management ("Get started"). schemaVersion: "1" type: "component" id: "cloudflare-ai-crawl-control" kind: "bot-management" provider: "cloudflare" docs: "https://developers.cloudflare.com/ai-crawl-control/features/manage-ai-crawlers/" aliases: ["AI Audit"] defaults: managed: true challengeAction: "log" verifiedBotsAllowed: true properties: detectionMethod: type: "enum" values: ["user-agent", "bot-score"] default: "user-agent" robotsTxtTracking: type: "boolean" default: true payPerCrawl: type: "boolean" default: false