groundy
agents & frameworks

Which AI Agents Behave Badly: Cloudflare's Agentic Internet Data

Cloudflare's agent telemetry is unverified, but declared bot preferences only bind opt-in crawlers. Real enforcement of rule-ignoring scrapers happens at the edge, not in text

12 min···4 sources ↓

An announcement observed on 2026-08-26 says Cloudflare has published telemetry sorting agents crawling the “agentic internet” into well-behaved and badly-behaved camps, alongside a mechanism it calls Bot Preference Sync for declaring bot rules in one place. That is the premise of this piece, not an established fact: the primary post was not retrievable during research, so no specific agent gets named as an abuser here. What survives verification is the enforcement question underneath the announcement, and that question has a durable answer: declared preferences bind only the crawlers that opt in, so the real sorting of compliant agents from rule-ignoring scrapers happens at the edge, not in a text file.

What did Cloudflare actually publish, and what can be verified?

The honest answer: what exists is a vendor announcement describing behavioral telemetry across AI agents, plus a preference-declaration feature called Bot Preference Sync.

The gap between that announcement and anything verifiable matters more than usual here, because the article you are reading was almost a different article. The planned version ranked named agents by behavior. The research process fetched Cloudflare’s homepage, its regional site, the Wikipedia entry on the company, and a client download page from Cloudflare’s developer docs. None of those pages contains the telemetry post or the Bot Preference Sync documentation.

So the claims implied by the title, which agents misbehave, how the sample was composed, what time window the data covers, sit in a document this article has not read. Naming a specific agent as a bad actor on that basis would be repeating a vendor’s characterization without seeing it, and the vendor has commercial interests on both sides of the crawler fight, which the sections below get into.

What the fetched set does support, with reasonable confidence, is the rest of the story: how much of the web Cloudflare can plausibly observe, what a declared preference can and cannot enforce, where enforcement of non-compliant agents actually lives, and how an operator should behave in the meantime. That is the article you get.

How much of the agentic internet can Cloudflare actually see?

Plausibly around a fifth of the web’s sites, plus whatever fraction of end-user and enterprise traffic its other products touch, and that vantage point is the strongest argument for taking its telemetry seriously once the methodology is available to inspect.

The scale figures, all self-reported: Cloudflare’s regional site1 describes a network of 335-plus cities across 125-plus countries,1 including mainland China, with 500 Tbps of capacity1 for absorbing DDoS attacks, and claims both that 20% of all websites are protected by Cloudflare1 and that it blocks 234 billion cyber threats each day,1 numbers published without methodology. The homepage adds that the network sits within 50 milliseconds of 95% of the world’s connected population2 and powers 45% of the Fortune 500.2

Two blind spots follow from the architecture. First, Cloudflare sees the web that routes through Cloudflare. An agent fetching direct-to-origin from sites behind a competing CDN, or fronted by nothing at all, does not appear in this telemetry. A behavior dataset built from Cloudflare’s customer base is a dataset about the fifth of the web that chose Cloudflare, which skews toward properties that already care about bot management. Second, the agents most worth measuring, the ones that ignore declared rules, are exactly the ones most likely to fetch through residential proxies and rotating infrastructure, where they blend into human traffic. Any vendor’s “good versus bad agent” ranking inherits that selection effect whether or not the vendor says so.

One more surface worth noting: Cloudflare’s view is not limited to the server side. It ships end-user software; its own documentation lists the Cloudflare One Client with system requirements of 184 MB of disk and 3 MB of memory,4 which is a reminder that the company observes traffic from the device side too. How much of that feeds any published agent telemetry is unknown.

What can a declared bot preference actually enforce?

Nothing by itself. A declared preference binds exactly the crawlers that choose to honor it, which has been true of robots.txt for three decades and stays true no matter how the declaration is synchronized or where it is hosted.

Robots.txt is a convention, not an authorization system. Nothing in the protocol verifies anything; the file is a published request that well-run crawlers read and respect because their operators have reputational and commercial reasons to behave. The crawlers you actually worry about treat the file as documentation of what you would prefer they not take, and take it anyway, often under a spoofed user-agent string. This asymmetry is the entire economics of the problem: compliance costs the honest crawler nothing, and non-compliance costs the dishonest one nothing until someone blocks it at the network layer.

Bot Preference Sync, as described in the announcement pegging this piece, attacks the configuration side of this rather than the enforcement side. The pitch is declare-once: instead of hand-maintaining robots.txt entries for each new AI crawler, a site publishes its preferences through Cloudflare and participating crawlers consume them. If the mechanism works as described, it removes a real operational failure mode, which is config drift. Sites with stale robots.txt files end up accidentally blocking crawlers they wanted to allow, or allowing ones they meant to block, simply because the file predates the crawler’s existence. A synced declaration reduces that class of self-inflicted error.

What it does not do is change the behavior of any crawler that was already ignoring the file. A scraper that disregards robots.txt will disregard a synced preference with equal ease. The declaration layer’s actual function is sorting: it cleanly separates “willing to comply” from “unwilling,” which tells you where to spend enforcement effort. That is a genuine operational benefit, and it is also the limit of the mechanism. Declared preferences are a courtesy layer. They document intent; they do not execute it.

Where does enforcement of rule-ignoring agents actually happen?

At the edge, where a request can be challenged, rate-limited, or refused before any content is served; once a scraper has the bytes, your policy file is a record of a preference, not a control.

The technical reason enforcement moved to the edge is that every signal available at the declaration layer is free to forge. A user-agent string costs nothing to lie about. What costs the adversary something is consistency across signals that are harder to fake in combination: TLS and HTTP/2 fingerprints, header ordering, request cadence, session behavior, the gap between claimed identity and network origin. Fingerprinting on these axes is where bot management has lived for years, and it is where a network of Cloudflare’s size has a structural advantage, because fingerprint classifiers get better with more labeled traffic and Cloudflare sees a fifth of the web’s requests. The 500 Tbps1 capacity figure and the 234 billion1 threats per day claim on the regional site are marketing numbers without published methodology, but the underlying point stands independently of them: this is a data-volume business, and Cloudflare has the volume.

Defensive framing applies here, because the behavior telemetry, if real, would be a product of exactly this machinery. The plausible mechanism is that Cloudflare classifies agents by fingerprint and behavioral signals across its network and publishes the aggregate. The defensive recommendation does not depend on the telemetry being accurate: assume some fraction of agents hitting your site ignores your declared rules, and put your enforcement where you can act on that assumption. That means challenge and rate-limit policies at your edge or CDN, keyed on behavior rather than user-agent, applied to requests that fail to identify themselves or that identify as a crawler you have chosen to gate.

The costs are real. Behavioral fingerprinting produces false positives, and the false-positive set includes legitimate small crawlers, researchers, and occasionally humans on unusual networks. Aggressive adversaries rotate through residential proxy pools until they look like household traffic, which turns blocking into an ongoing spend rather than a configuration you finish. Budget for it as operations, not as a project.

How should you read vendor-published agent telemetry?

As sales material with numbers attached, evaluated against a short checklist: which agents were measured, what sample they were drawn from, what time window the data covers, how agents were identified, and whether anyone independent has audited any of it.

Applied to the announcement that prompted this article, all five answers are unknown. That is the correct verdict to record, and it is worth holding even after the post becomes available, because vendor telemetry in this category has structural reasons to be read slowly.

Start with the conflicts. Cloudflare’s own record3 includes acquiring AI companies such as Replicate, a model-hosting platform, and launching tools to manage AI bots and scrapers. Cloudflare sells infrastructure to the companies doing the crawling and sells the bot management used to stop them; a ranking of well-behaved and badly-behaved agents published by a company with revenue on both sides is not automatically wrong, it is automatically interested. The same applies to scale figures. The 234 billion threats blocked daily,1 the 45% of the Fortune 500,2 the 20% of all websites:1 none of these ships with methodology, and the one number an outside party can check, web share, comes back as W3Techs’ 21.3% “used by,”3 a related but distinct measurement.

The general discipline: when the primary source appears, read the methodology section before the rankings. A post that names agents without naming its sample window and identification method is an advertisement for the bot management product attached to it. A post that publishes window, sample composition, and classification criteria is data you can argue with.

What should operators do about AI crawlers right now?

Serve the answer engines that identify themselves and honor your rules, gate the rest at the edge, and change nothing on the strength of a vendor post you have not read.

The economics point that direction regardless of what Cloudflare’s telemetry eventually shows. Blanket blocking forfeits distribution: readers arrive via answer engines and assistant products as well as via search, and a site that refuses every agent opts out of that channel entirely. Blanket serving subsidizes the worst actors: rule-ignoring scrapers consume bandwidth and content while contributing nothing back. The rational position is the split, and the split is only enforceable in two layers.

Layer one is declaration. Publish an explicit crawler policy in robots.txt, and where a sync mechanism is available and supported by the crawlers you care about, use it to keep that policy current. This costs little, documents intent, and cleanly separates cooperative crawlers from the rest. Treat it as hygiene, not security.

Layer two is enforcement at the edge. Classify your own agent traffic from your own logs, because your logs are the only telemetry you can fully audit: user-agent, ASN, request cadence, which paths get hit. Then apply challenges or rate limits to traffic that fails to identify itself or identifies as something you have chosen to gate. Behavioral keys, not name-based blocklists; the scrapers that matter do not wear their own names.

One defensive note, per the verification status of this whole piece: these recommendations do not depend on Cloudflare’s telemetry being real, accurate, or current. They are the posture you would adopt against the plausible mechanism that some agents ignore declared rules, which has been true since long before any vendor started ranking agents. The telemetry, once its methodology is readable, adjusts your tuning. It should not change your architecture.

Where does this analysis hit its limits?

Every verified fact in this article describes Cloudflare’s scale and business; nothing verified here describes agent behavior, because the primary source for the behavior claims was never fetched.

That is the binding constraint, and it deserves to be stated flatly rather than hedged. The network figures (335-plus cities,1 500 Tbps,1 50 milliseconds to 95% of the connected population,2 20% of websites protected1) come from Cloudflare’s own pages without methodology. The nearest independent check, W3Techs’ 21.3% usage share3 from January 2026 via Wikipedia, measures a different thing and moves monthly. The acquisition record, the client software: all real, all about the company, none about the agents. The names, rankings, samples, and windows that the title of this piece promises live in a post that, as of 2026-08-26, this article could not read.

The practical verdict survives that limitation because it never depended on the telemetry. Declared preferences, whether in robots.txt or a synced mechanism like Bot Preference Sync, bind only the crawlers that opt in; they are a courtesy layer that sorts willing from unwilling. Enforcement of the unwilling happens at the edge, on behavioral signals, at ongoing operational cost. The economics of the split, serving compliant answer engines while gating abusers, hold under any plausible version of the behavior data. What you should not do is the thing the announcement invited: repeat a vendor’s good-versus-bad agent rankings, or reconfigure your blocking policy around them, before reading the primary source and its methodology. When the post is readable, the checklist above applies: which agents, what sample, what window, what identification method, whose audit. Until then, the only behavior data you should act on is your own logs.

Frequently Asked Questions

Does Bot Preference Sync replace the need for robots.txt?

No, it complements it. While Sync reduces config drift by synchronizing preferences across participating crawlers, robots.txt remains the universal fallback for non-participating agents. Sites should maintain both to ensure maximum coverage, as Sync only binds crawlers that explicitly opt in to the protocol.

How does Cloudflare’s web share compare to independent measurements?

Cloudflare claims to protect 20% of all websites, while W3Techs measured approximately 21.3% usage in January 2026. The slight discrepancy arises because W3Techs detects active usage via external crawlers, whereas Cloudflare’s figure refers to sites actively protected by its security services, a distinction that matters for telemetry validity.

What operational cost does edge-based bot enforcement incur?

Edge enforcement requires ongoing budget allocation for false-positive management and adversarial rotation. Unlike static blocklists, behavioral fingerprinting demands continuous tuning to distinguish legitimate small crawlers from residential proxy pools, turning bot management from a one-time configuration into a recurring operational expense.

Why is Cloudflare’s acquisition of Replicate relevant to its telemetry?

Acquiring Replicate, an AI model hosting platform, in November 2025 creates a conflict of interest. Cloudflare sells infrastructure to AI developers while selling bot management to stop them, meaning its agent rankings may reflect commercial interests rather than neutral behavioral data, necessitating independent audit before acting on its labels.

sources · 4 cited

  1. Cloudflare: Build for the agent eracloudflare.comvendoraccessed 2026-08-26
  2. Connect, protect, and build everywherecloudflare.comvendoraccessed 2026-08-26
  3. Cloudflareen.wikipedia.orgcommunityaccessed 2026-08-26
  4. Download Cloudflare One Client stable releasesdevelopers.cloudflare.comvendoraccessed 2026-08-26