Turn it on in log mode. Nothing is blocked: every decision is counted as "would" so you can review it first.
Open the domain, go to AI Crawl Control → Overview and click Turn on in log mode. Later changes are under Settings.
openwaf-cloud ctl zones set example.com ai_agents.enabled=true ai_agents.mode=log --reason "AI Crawl Control in log mode"curl -sS -X PATCH "https://dash.openwaf.dev/v1/orgs/$ORG/zones/example.com/edge" \ -H "Authorization: Bearer $OPENWAF_TOKEN" \ -H "X-Change-Reason: AI Crawl Control in log mode" \ -H "Content-Type: application/json" \ -d '{"ai_agents": {"enabled": true, "mode": "log"}}'ai_agents_settingswith{"zone": "example.com", "patch": {"enabled": true, "mode": "log"}, "reason": "…"}. Simulate, then confirm withconfirm=trueandexpected_version.Wait for traffic and open the report: requests per category, decisions (enforced and "would"), the crawlers seen, verified and spoofed.
openwaf-cloud ctl ai report example.com --range 7d openwaf-cloud ctl ai report example.com --view crawlersChoose a policy. Start from a template, such as Allow search engines and AI search, block training, and adjust single categories or bots. See Set the policy.
openwaf-cloud ctl zones set example.com ai_agents.template=search_ok_block_training --reason "Block AI training"Check the "would" numbers for a few days: they show what enforce mode would block or challenge.
Enforce.
openwaf-cloud ctl zones set example.com ai_agents.mode=enforce ai_agents.spoofed_challenge=enforce --reason "Enforce the AI policy"
Optional next steps: prepend your preferences to robots.txt, turn on the trap, and run an agent readiness scan.