Documentation Schedule a pilot

Bot Management

Cloudflare Bot Management assigns a bot score to proxied HTTP requests and exposes that score and related classification fields to rules. This page documents the classification model, configuration objects, constraints and plan availability.

Document control

Dana, technical writer at Integrity
Dana
Technical writer, Integrity Czech Republic s.r.o.

Document control. Vendor: Cloudflare, Inc. Document owner: Dana, technical writer, Integrity Czech Republic s.r.o. Last reviewed: 2026-08-31. Content snapshot of the referenced Cloudflare documentation: 2026-08-28. Figures in this document were verified against the sources listed under References on the dates shown there; Cloudflare changes limits and packaging without notice, so verify at the source before you design against a value.

Overview

Automated HTTP clients cover a wide range of purposes: search engine crawlers, uptime monitors, payment and platform webhooks, price and content scrapers, credential stuffing tools, inventory automation, card testing and crawlers that collect content for model training. Distinguishing among them is a classification problem, and acting on the classification is a policy problem. Cloudflare separates the two.

Bot Management computes a classification for proxied requests and exposes it as fields in the Cloudflare Rules language. It does not block traffic by itself. Enforcement is expressed in WAF custom rules or rate limiting rules that reference those fields.

Public figures for the proportion of internet traffic that is automated vary by source, measurement population and year. Measure the automated share of your own traffic during the observation phase described in the Deployment section.

Architecture

Classification runs at the Cloudflare data centre handling the request, before the request is forwarded to the origin. Several detection systems contribute:

The output is a bot score in the range 1 to 99. Cloudflare describes the score as a likelihood: lower values indicate traffic more likely to be automated, and Cloudflare notes that scores below 30 are commonly associated with bot traffic (https://developers.cloudflare.com/bots/concepts/bot-score/, retrieved 2026-08-28). The score is a probabilistic signal, not a determination that a specific client is or is not a human.

Where a challenge action is chosen, Cloudflare's Managed Challenge selects a challenge appropriate to the client, which may complete without user interaction or may require an interaction.

Capabilities

CapabilityBehaviourPlan or tierSource
Bot score fieldcf.bot_management.score, values 1 to 99, available to WAF custom rules and rate limiting rules.Bot Management, an Enterprise add-on.Bot score
Verified bot fieldcf.bot_management.verified_bot indicates a client validated against Cloudflare's verified bot list.Bot Management; a coarser equivalent exists in Super Bot Fight Mode.Bot concepts
JA3 and JA4 fingerprintsTLS fingerprint hashes exposed as fields for use in rules.Bot Management (Enterprise).JA3 and JA4 fingerprints
AI crawler controlsPolicies that allow, block or manage crawlers that collect content for model training, separately from search crawlers.Controls available across plans in differing forms; verify at source.Cloudflare bot solutions
Bot Fight ModeA single on or off setting that issues challenges to traffic Cloudflare classifies as automated. No thresholds, no exclusions.Free.Bot Fight Mode
Super Bot Fight ModeCategory-based controls for definitely automated traffic, likely automated traffic and verified bots, with static resource exclusion.Pro and Business.Super Bot Fight Mode
Bot analyticsScore distribution, top automated paths, and the effect of configured rules.Detail level follows the tier in use.Bot analytics

Configuration model

With Bot Management, policy is expressed in the ruleset engine. A typical configuration uses several rules with distinct scopes rather than one global threshold:

Rule order matters. Exemptions must be evaluated before enforcement rules, because a terminating action stops evaluation of later rules in the phase.

Verified bots are not exempt from customer rules. A request from a verified crawler is still evaluated by WAF custom rules, rate limiting rules and Bot Fight Mode settings. If a verified crawler must be allowed, write an explicit rule that references cf.bot_management.verified_bot and place it before the enforcement rules (https://developers.cloudflare.com/bots/concepts/bot/, retrieved 2026-08-28).

Super Bot Fight Mode uses a different model: fixed categories with a selectable action per category, plus an option to exclude static resources. It does not expose numeric scores, so thresholds cannot be tuned per path. Bot Fight Mode exposes no configuration at all.

Limits and constraints

Plan availability

PlanBot capability
FreeBot Fight Mode. Single toggle, no configuration, no score fields.
ProSuper Bot Fight Mode with category-based actions and static resource exclusion.
BusinessSuper Bot Fight Mode. The available categories and actions differ from Pro; confirm the current per-plan differences at https://developers.cloudflare.com/bots/plans/ before relying on a specific action being available.
Enterprise with Bot Management add-onPer-request bot score, verified bot and fingerprint fields, full rule integration, bot analytics and AI crawler controls.

Accurate as of 2026-08-28 against Cloudflare public documentation. Packaging changes without notice. Confirm current entitlements at https://developers.cloudflare.com/bots/plans/ and https://www.cloudflare.com/plans/.

Deployment

Prerequisites.

Staged validation. Enable classification without enforcement. Deploy rules that match the intended traffic but take no terminating action, or observe bot analytics only, for an observation window that covers a full business cycle including a peak period. Record the score distribution per path group and identify the score bands occupied by known-good automation.

Configuration.

  1. Write exemption rules first, covering verified bots and named partner automation, and place them ahead of enforcement rules.
  2. Add enforcement rules per path group, with thresholds derived from the observed distribution rather than from a default value.
  3. Use a challenge action before a block action on user-facing paths, and use a block or rate limit rather than a challenge on API paths.
  4. Set an explicit policy for crawlers that collect content for model training, separate from the policy for search crawlers.
  5. Add rate limiting rules for endpoints where volume rather than classification is the constraint.

Cutover. Enable enforcement one path group at a time, starting with the path with the clearest abuse signal and the lowest business risk. Allow at least one business cycle between path groups.

Verification.

Rollback. Set the enforcement rules to disabled, or change the action from block to log or challenge, and confirm recovery of the affected metric. Keep the rule definitions rather than deleting them so that tuning can resume from the same baseline.

Operational considerations

Review score distributions and rule match counts on a fixed schedule. Automated traffic changes composition over time, and a threshold that was appropriate at deployment can become either permissive or aggressive without any configuration change.

Give support staff a documented path for a suspected false positive: capture the Ray ID, locate the event, read the matched rule and the score, and decide whether to add a scoped exemption or adjust the threshold.

Correlate bot policy changes with business metrics rather than with bot analytics alone. A drop in blocked requests can mean the policy worked or that the traffic moved to an unprotected endpoint.

Monitor for displacement. When a widget-protected or rule-protected path becomes expensive for an attacker, activity commonly moves to an adjacent endpoint, such as a mobile API or a legacy path. Include those in the review.

Where Logpush is available, export bot fields with request logs so that analysis is possible outside dashboard retention windows.

Known caveats

Interoperability

Bot fields are consumed by WAF custom rules and rate limiting rules in the ruleset engine, which is the supported enforcement path for Bot Management.

Turnstile can be placed on specific forms to verify a session, and on proxied zones can issue pre-clearance so that a verified session is not challenged again by bot rules.

Transform rules can add a header carrying the bot score to origin requests, allowing the application to apply its own logic, for example holding an order for review rather than rejecting it.

Where a request is blocked by a bot rule, it does not reach a Worker, because the security phases execute earlier in the request pipeline.

Bot analytics and WAF Security Events are separate views over the same request stream; a request challenged by a bot rule appears in both.

FAQ

How is a verified crawler allowed through an otherwise strict policy? Add a rule matching cf.bot_management.verified_bot with a skip or allow action and order it before the enforcement rules. Verified status alone does not exempt the request.

Can search crawlers and crawlers used for model training be treated differently? Yes. They are classified separately, so distinct policies can be written for each category.

Does classification work against attackers using residential proxies and real browsers? Address reputation contributes less against such clients, while behavioural, fingerprint and model-derived signals continue to contribute. Expect a residual false negative rate and monitor downstream effects rather than relying on classification alone.

References

Content snapshot: 2026-08-28.

Changelog

DateChangeAuthor
2026-08-31Rewritten as a technical reference. Added limits and plan availability tables with sources.Integrity documentation team
2026-08-28Initial publication.Integrity documentation team

Request your free pilot

Schedule a pilot