
Hey guys, Mr. Technology here.
Cloudflare open-sourced Cloudflare OS today. It is the agent platform their own CIO Sam Rhea shipped to every employee at the company in May — engineers, sales, finance, legal, everyone. The framing on the blog post is "OS." The actual story is the Gatekeeper pattern, which Cloudflare themselves describe as "supercharged MCP servers," and the observation log that makes policy follow what an agent actually saw, not what it was nominally allowed to read.
I am going to walk through what the platform actually is, what is genuinely clever, what is just marketing, and what it means for the rest of us building agent systems in 2026.
Cloudflare OS is not an operating system. It is a serverless runtime for LLM agents that runs on Cloudflare's own infrastructure, paired with a security/governance layer and an app-platform model that lets every user have their own private copy of every tool they use.
The platform is three things bolted together:
1. An agent workspace — a browser chat UI where any employee can ask an agent to do work, preloaded with the company-specific context, skills, and tools that have been curated for them. 2. A security and governance framework — Gatekeepers, the MCP-server-plus-hybrid that wraps every external system the agent can touch, plus an observation log that tracks every resource the agent has seen. 3. A personal, modifiable app platform — every "file" in Cloudflare OS is its own application, runs in its own sandbox, and can be modified, shared, or templated as a Blueprint. Cloudflare calls these Gadgets.
The build targets are Workers, Durable Objects, Dynamic Workers, Durable Object Facets, R2, AI Gateway, and Cloudflare Access. There is no on-prem story. You deploy it to your own Cloudflare account, configure your own Access policies, and your own internal systems. The "open source" framing is honest about the cloud portability: this is data + customization release, not infrastructure release.
The repo is split into two halves, on purpose:
The starter is the more interesting of the two for any team that wants to copy Cloudflare's setup. The core is the engine.
A Gatekeeper is a service-specific Worker that sits between Cloudflare OS and an external service. It wraps the API, holds the OAuth credential, exposes a narrow typed TypeScript interface to the agent, and logs every action.
The Cloudflare blog describes Gatekeepers as "supercharged MCP servers." That is the right description, and it is the most important sentence in the post for anyone who builds security infrastructure for agents.
const issues = await env.PROJECT.listIssues({
teamId: "ENG",
state: "open",
});env.PROJECT is a capability. The agent never sees the underlying credential. Server code runs in a Dynamic Worker with outbound networking disabled; client code runs in a sandboxed iframe. Neither can reach the public internet except through explicitly granted capabilities.
The specifics, plainly:
| What a Gatekeeper does | Mechanism |
|---|---|
| Holds the credential | OAuth broker, never exposed to the agent |
| Exposes a narrow API | A typed TypeScript interface, not a passthrough |
| Enforces policy | Resource-level ACLs, field-level masking, rate limits |
| Logs every read | Per-resource, per-agent, per-workspace |
| Mediates side effects | Approval queue for write/external actions |
This is not a new idea. Capability-based security is as old as Capsicum and E. The novelty is shipping it as a primitive for LLM agents, with the agent runtime designed around it as the central abstraction.
Most agent platforms today treat OAuth as the agent's problem. The agent receives a token, calls APIs, and the security team hopes for the best. Cloudflare's model is the opposite: the agent never holds the credential. The capability is the only thing the agent can see, and the Gatekeeper is the only thing that can talk to the real service.

If you are building an enterprise agent product in 2026, this is the pattern to copy. The vendor lock-in is real (Workers, DOs, Dynamic Workers, Durable Object Facets) but the abstraction is what you should ship, regardless of where you run it.
Capability-based security gets you the first half of the problem: what the agent can do. The second half is what the agent has seen.
Consider this scenario: an agent reads a sensitive table in the data warehouse, then produces a live dashboard from it. The dashboard is shared with people who cannot access the table directly. The capability check passes — the original read was authorized — but the propagation has just leaked the data through a derivative output.
Cloudflare's answer is an observation log. Every resource the agent reads, every query it runs, every API call it makes, gets recorded and attached to the agent's work. When another person tries to open the workspace, view the dashboard, or interact with the agent's outputs, the Gatekeepers verify that person's access to the underlying resources, not just the surface capability.
The same log is used to inform policies about external actions. A read of sensitive data can prevent the agent from writing data to certain destinations, inviting new collaborators, handing work to another agent, or making outbound requests. People using agents or building apps do not have to remember these rules. The platform enforces them.
This is the data-lineage pattern that enterprise agent vendors have been promising for two years. Cloudflare is the first major platform to ship it as a primitive, not a feature flag. Every agent run becomes auditable, not in the "we have logs" sense, but in the "the log is attached to the artifact and survives sharing" sense.
If you are a security engineer reading this, that is the part to highlight to your CTO. The capability model is the floor. The observation log is what makes the floor actually safe.
The other genuinely clever thing about Gatekeepers is the human-in-the-loop UX. Most agent platforms put approval in the synchronous path: the agent wants to do something, it pauses, a human clicks "approve," the agent resumes. This is annoying. It pushes people to "auto-approve everything" or --dangerously-skip-permissions, which is the worst possible outcome.
Gatekeepers work differently. When an agent (or Gadget) performs an action that requires approval, the Gatekeeper simulates the outcome locally. The agent proceeds. The agent queues up more actions. The Gatekeeper tells the agent that the action completed; if the agent tries to read back the results, the Gatekeeper returns simulated results. The user comes back later and approves, rejects, or audits in bulk.
This is the single best UX I have seen in the agent tooling category. The agent never blocks. The user never gets a permission popup. The audit trail is complete. The agent's behavior is batch-reviewable, not action-by-action.
The pattern is implementable anywhere. You do not need Cloudflare to ship it. But Cloudflare is the first one that has shipped it, and it is the only one that has shipped it at the "every external service" scope instead of bolting it onto a single API.
Each "file" in Cloudflare OS is a custom application, written by an agent for one person, one project, or one team. Cloudflare calls these Gadgets. A Gadget is a full-stack application with client code, server code, an API, and durable state. Each Gadget runs in its own sandbox — its own Dynamic Worker, its own Durable Object Facet, its own SQLite database.
The server is loaded on demand as a Dynamic Worker and instantiated as a Durable Object Facet. The Facet gives the app its own SQLite database, separate from the runtime managing it. Dynamic Workers use lightweight V8 isolates, so every Gadget can have its own private runtime without a dedicated server or container.
The browser client talks to the server using Cap'n Web, Cloudflare's open-source object-capability RPC system. The kicker: the agent can also call the same methods. If you can build a tool to do a job yourself, the agent can use your tool to do the job when you are not there.
Sharing works two ways:
A Blueprint contains the app's code. It does not contain its SQLite data, conversation history, credentials, or connected resources. Each new app starts with independent state. This is what makes sharing safe — you can share a Blueprint of a customer-success dashboard without leaking the customer data, because the customer data is not in the Blueprint.
The framing in the Cloudflare readme is that this is "a big departure from the last 25 years of cloud architecture and SaaS." That is the marketing part. The technical part is that every user has their own copy of the productivity apps they use, and the runtime is cheap enough (V8 isolates, not containers) that this is feasible at scale.

For the indie builder community, this is the right pattern to study. The current SaaS model — one shared multi-tenant database, one shared application, one shared security boundary — is the wrong shape for agents. The agent-native shape is "every user has their own copy, every copy is durable, every copy can be modified by the agent that built it."
Cloudflare OS routes every inference call through AI Gateway. Every request is attributed to the person, team, or workspace that made it. Administrators can see where inference spend is going, set budgets and rate limits, and decide what happens when a limit is reached.
Not every task needs the most expensive model. AI Gateway gives you the control needed to make sure expensive models are only being used for the hardest work.
This is the boring half of the announcement. It is also the half that finance teams will actually care about. Internal AI tool sprawl happens because there is no model billing. Cloudflare OS solves this by routing all inference through one choke point.
The model routing, capability system, and observation log are all implemented as Workers. They are not magic. They are tens of thousands of lines of TypeScript that Cloudflare shipped to GitHub for free. The interesting question is not how this works, it is how it scales when a Fortune 500 IT department tries to retrofit it onto their existing identity, cost, and access systems.
Let me put cards on the table:
Clever:
Marketing:
Overstated:
Understated:
The honest answer is: yes, but it is the only kind of lock-in that works.
Cloudflare OS requires Workers, Durable Objects, Dynamic Workers, Durable Object Facets, R2, AI Gateway, and Access. You can fork the repo. You can change the code. You can run it on your own Cloudflare account. You cannot run it on AWS, GCP, or Azure without a substantial rewrite of the core.
The "open source" framing is honest about this. The README does not pretend the platform is portable. The pitch is "make it your company OS, on Cloudflare."
For teams that already have a Cloudflare footprint — most of the modern web — this is a non-issue. For teams that do not, this is a deal-breaker that will not be resolved by waiting.
The lock-in is also the only way this scales. Workers and DOs are not a fad. They are the cheapest way to ship tens of thousands of isolated V8 runtimes per customer. The cost structure of a per-user isolated app is the main reason no SaaS has tried this before. Cloudflare is the only vendor that can.
For different audiences:
Enterprise IT teams evaluating agent platforms: this is the most credible shipping option in 2026. The capability model + observation log is the security story your CISO will actually understand. The async approval UX is the user story your operations team will actually use. The Cloudflare lock-in is the constraint your procurement team will actually negotiate.
Security engineers building agent infrastructure: copy the Gatekeeper pattern. Copy the observation log. Ship async approval. Do not wait for Cloudflare to license this; you can ship the same primitives on your own infrastructure with 2-3 engineers and an MVP in a quarter.
Indie builders shipping agent products: the Blueprint + Gadget pattern is the shape of the post-SaaS agent app. Per-user runtimes, per-user state, per-user isolation. If you are building a multi-tenant SaaS for agents in 2026, you are building the wrong shape.
Cloudflare competitors (AWS, Azure, GCP, Vercel, Modal): the question is whether you ship this pattern or wait for customers to discover it. If you wait, you will lose the agent-platform category for the next 18 months. You have most of the primitives. The agents-native shape is the missing piece.
Investors looking at the agent infrastructure category: capability-based security + observation log + async approval is the right primitive. The companies that ship this on AWS, GCP, and Azure will be acquirable at 50-100x revenue by 2028. Cloudflare is the bellwether, not the only winner.
The "OS" part is marketing. The Gatekeepers, the observation log, the async approval, the per-user Gadgets — those are the new shape of the agent platform. Cloudflare open-sourced all of it. The rest of the industry gets to copy it now. The rest of the industry gets to ship it.
What are you building on top of this?
If you want to see how the mr.technology Tier 2 audit pipeline catches exactly the kind of capability-leakage bugs that Gatekeepers are designed to prevent, the Pro audit tier has live data on the MCP-server exposure surface. It is the only public-facing audit of popular MCP servers and the credential-handling patterns they use.