---
id: "cloudflare-ai-crawl-control"
type: "component"
kind: "bot-management"
provider: "cloudflare"
category: "security"
aliases: "AI Audit"
docs: "https://developers.cloudflare.com/ai-crawl-control/features/manage-ai-crawlers/"
url: "https://localhost:3000/catalogue/components/cloudflare-ai-crawl-control"
---

# AI Crawl Control

Reports which AI crawlers reach a zone and enforces allow or block policy per crawler.

| | |
|---|---|
| Provider | [cloudflare](https://localhost:3000/catalogue?provider=cloudflare) |
| Kind | [Bot management](https://localhost:3000/catalogue/kinds/bot-management) |
| Category | Security |
| Official docs | [https://developers.cloudflare.com/ai-crawl-control/features/manage-ai-crawlers/](https://developers.cloudflare.com/ai-crawl-control/features/manage-ai-crawlers/) |
| Also known as | AI Audit |

## Properties

| 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** |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 3

- [Cloudflare Bot Management](https://localhost:3000/catalogue/components/cloudflare-bot-management.md) `cloudflare-bot-management` — cloudflare
- [Cloudflare Turnstile](https://localhost:3000/catalogue/components/cloudflare-turnstile.md) `cloudflare-turnstile` — cloudflare
- [Generic bot management](https://localhost:3000/catalogue/components/bot-management.md) `bot-management` — default

## Use it in a design

```yaml
nodes:
  - { id: "cloudflare-ai-crawl-control", component: "cloudflare-ai-crawl-control" }
```

## Source (`component` YAML, verbatim)

```yaml
# 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
```

Human page: https://localhost:3000/catalogue/components/cloudflare-ai-crawl-control
