# Does signing your agent open the door?

On 25 Oct 2026 we opened the sign-up page of every product we list as a signed and as an unsigned agent. 5 of the 13 sign-up pages that stopped an unsigned agent opened for the same agent signed.

Checked 25 Oct 2026 · 151 products · Source: https://agentdrives.com/research/signed-vs-unsigned-agents?via=md · CC BY 4.0

## What each visitor met

Our signed agent opened 130 of 151 sign-up pages. Unsigned, the same server opened 123.

| Answer | Our agent, signed | Same server, unsigned | Cloudflare Browser Rendering |
|---|---:|---:|---:|
| Page opened | 130 | 123 | 137 |
| Challenged | 5 | 10 | 2 |
| Turned away | 4 | 3 | 1 |
| Kept off by robots.txt | 11 | 12 | 11 |
| No answer | 1 | 3 | 0 |

- Our agent, signed: our agent from our server, every request signed.
- Same server, unsigned: the same request from the same server, unsigned, with Chrome's user agent.
- Cloudflare Browser Rendering: Cloudflare's own signed agent, from Cloudflare's network.
- Stopped all three: 2 (GitHub and PandaDoc).

## Where the signature changed the answer

Both requests came from the same server to the same page. Only the signature and the user agent differed.

Opened signed, stopped unsigned (5):

- [Box](https://agentdrives.com/tools/box.md?via=md): unsigned, challenged. In front: Cloudflare.
- [Canva](https://agentdrives.com/tools/canva.md?via=md): unsigned, challenged. In front: Cloudflare.
- [Kit](https://agentdrives.com/tools/kit.md?via=md): unsigned, challenged. In front: Cloudflare.
- [Perplexity API](https://agentdrives.com/tools/perplexity.md?via=md): unsigned, challenged. In front: Cloudflare.
- [Webflow](https://agentdrives.com/tools/webflow.md?via=md): unsigned, turned away. In front: Cloudflare.

Opened unsigned, stopped signed (1):

- [Slack](https://agentdrives.com/tools/slack.md?via=md): signed, turned away. In front: None named.

Cloudflare's own agent also opened 6 pages that stopped our server both ways: Airtable, beehiiv, Carrd, Freshdesk, Salesforce and Trello. It comes from Cloudflare's network, so its address may count as well as its signature.

## By what stands in front

Each site sets its own checks.

| In front | Pages | Signed stopped | Unsigned stopped | Cloudflare's agent stopped |
|---|---:|---:|---:|---:|
| Cloudflare | 74 | 2 | 7 | 0 |
| Vercel | 18 | 1 | 1 | 1 |
| CloudFront | 14 | 2 | 2 | 0 |
| Akamai | 4 | 1 | 1 | 0 |
| DataDome | 1 | 1 | 1 | 1 |
| HUMAN | 1 | 1 | 1 | 0 |

## On our own site, the rule decides

Our test on agentdrives.com (Free plan), 24 Oct 2026: 3 challenge rules, 4 kinds of visitor, 13 requests. Bot Fight Mode and the AI bot policies were off.

| Rule | Challenged when | Our agent, signed | Unsigned, our user agent | Unsigned, a Chrome user agent | Cloudflare Browser Rendering |
|---|---|---|---|---|---|
| Challenge everyone | Every request | Challenged | Challenged | Challenged | Challenged |
| Challenge all but known bots and agents | `not cf.client.bot` | Through | Challenged | Challenged | Through |
| Challenge all but AI assistants | `cf.verified_bot_category ne "AI Assistant"` | Through | Challenged | Challenged | Through |

- “Challenge everyone” challenged our signed agent like everyone else. Being known to Cloudflare doesn't get an agent past a rule with no exception in it.
- Each rule with an exception for known agents let it through: “Challenge all but known bots and agents” and “Challenge all but AI assistants”. Unsigned, every rule challenged it.
- An unsigned request from the same IPv4 address as our signed ones was challenged. The signature got our agent through, not its address.
- Wrike's sign-up page answered like the first rule on 24 Oct 2026: signed, 403, cf-mitigated: challenge; unsigned, 403, cf-mitigated: challenge.

## What a site owner sets

- Let in every bot and agent Cloudflare knows: add `and not cf.client.bot` to the challenge rule. Source: https://developers.cloudflare.com/ruleset-engine/rules-language/fields/reference/cf.client.bot/index.md
- Let in only agents a person drives: add `and cf.verified_bot_category ne "AI Assistant"`. That category is “Automated AI bot driven by user action.” Source: https://developers.cloudflare.com/bots/concepts/bot/verified-bots/index.md
- Either exception lets in every agent of its kind. Cloudflare Browser Rendering got through both, like ours.
- Bot Fight Mode: You cannot bypass or skip Bot Fight Mode using WAF custom rules or Page Rules. Source: https://developers.cloudflare.com/bots/get-started/bot-fight-mode/index.md
- Super Bot Fight Mode: set Verified bots to Allow, or skip it with a custom rule. Source: https://developers.cloudflare.com/bots/get-started/super-bot-fight-mode/index.md
- AI bot policies: Each blocking option will block Verified bots classified with that behavior, plus additional unverified bots that fall under these classifications. Cloudflare files our agent under Agent. Source: https://developers.cloudflare.com/bots/additional-configurations/block-ai-bots/index.md
- New domains since 15 Sep 2026: Training and Agent blocked on pages with ads; Search allowed. Source: https://developers.cloudflare.com/bots/additional-configurations/block-ai-bots/index.md
- Other vendors' settings: https://agentdrives.com/guides/let-signed-agents-past-your-bot-check.md?via=md

## Signing, in short

- A signed agent adds a signature to every request (Web Bot Auth). A site checks it against the public keys the agent's operator publishes. https://agentdrives.com/standards/web-bot-auth
- Cloudflare counts signed agents as verified bots: since 2026-07-01, with a Direct or Intermediary label. Source: https://developers.cloudflare.com/bots/concepts/bot/verified-bots/index.md
- To be listed, the operator sends Cloudflare's bot submission form with “Request Signature” as its verification method. Source: https://developers.cloudflare.com/bots/reference/bot-verification/web-bot-auth/index.md
- We sent ours on 1 Oct 2026. Cloudflare listed our agent on 24 Oct 2026 (classification: Agent).
- What changed for the products we drive since then: https://agentdrives.com/research/signed-agent-cloudflare.md?via=md

## Method and limits

- One GET of each product's sign-up page per visitor, 24 Oct 2026 to 25 Oct 2026, about 10 seconds apart. Nothing was sent and no account was made.
- Page opened: the page came back. Challenged: a check page stood in front of it. Turned away: a 403 or a block page.
- Cloudflare Browser Rendering ran with JavaScript off, so a page that came back was let in before any check ran.
- A page whose robots.txt keeps crawlers off was not fetched. No answer: a redirect we didn't follow, or a rate limit.
- A site can answer differently on another day.
- Our own site's test sent one request per rule and visitor, and none of them tried to solve a challenge. Bot Fight Mode, Super Bot Fight Mode and the AI bot policies were not tested there.
