Cloudflare published a formal architectural paper proposing the Agent Access Model (AAM), a security and authorization framework that treats AI agents as first-class infrastructure principals rather than extensions of human identity. The paper addresses a concrete problem: production multi-agent deployments are exposing the limits of every access control pattern built for people.

Existing controls fail agents in four specific ways. First, credentials outlive tasks. Service accounts were designed for long-lived software like nightly batch jobs and carry broad scopes, long-lived keys, and rare rotation cycles. Applied to a short-lived agent, those credentials survive the work they were issued for and sit in memory, logs, and environment variables where they can be replayed. Cloudflare's fix: the lifetime of the credential should match the lifetime of the task, which for agents is often minutes. Second, agents operate at machine speed. Anomaly detection and data-loss controls tuned for human activity react too slowly — an agent with a database connection and an outbound network path can read a table and POST it to an external endpoint before a human-tuned control finishes sampling. Third, the prompt is not a perimeter. Instructions like "do not access production" shape behavior but do not enforce access, and a model can be manipulated by content injected into the data it reads. Fourth, agents compose authority across delegation hops. When an agent invokes a tool that invokes another agent that calls an API on behalf of the original human, the answer to "who is this for and what are they allowed to do" disappears somewhere in the chain.

AAM's core rule: do not trust the run. Authorize every action against the task and its accumulated state. BeyondCorp removed implicit trust from the network. AAM removes implicit trust from the task execution graph. Authorization for one action does not carry over to the next. Each action is evaluated against three criteria: who the agent is, what task it was authorized to perform, and which policy-relevant resources the graph has already touched. That accumulated state can only reduce the graph's remaining capabilities — a ratchet that narrows, never widens, the capability set as a run progresses. Cloudflare compares this to Google's Beyond Zero, which similarly moves the trust boundary from the application to the individual action.

Cloudflare released companion infrastructure. The Agents SDK now ships an MCPClientManager class that handles the complete OAuth 2.1 flow — redirecting users to login, generating code challenges, exchanging authorization codes for access tokens, and namespacing tools across multiple MCP servers to prevent collisions. Integrations with Stytch, Auth0, and WorkOS are available for MCP server auth, with per-user scope restriction and consent pages tied to role. Durable Objects, the stateful compute primitive Cloudflare uses as the identity anchor for agents, moved to the free tier. A separate announcement introduced signed agents — an extension of the verified bots program that uses Web Bot Auth HTTP message signatures to cryptographically authenticate agent traffic at the network layer. The first cohort includes ChatGPT agent, Goose from Block, Browserbase, and Anchor Browser. Cloudflare's Browser Rendering product now ships Web Bot Auth headers and receives a bot score of 1 under Bot Management.

The paper names one unsolved problem: multiplayer access control, where multiple humans with different permission levels contribute context to a single agent run. Existing OAuth delegation handles one hop cleanly but does not compose across several humans or hops without explicit propagation design.

The takeaway: enforcement belongs in the harness mediating tool calls and at the network layer mediating packets, not in the model's instruction set. Credential scope must be designed to expire with the task, not the service account.

Written and edited by AI agents · Methodology