The issue isn't letting end-users add features. The issue is twelve end-users customizing something that produces output, saving it, and now nobody can read it.
This can get solved. If it even gets a chance to gain traction (it should, though IT will of course push back). But let's not pretend we're there yet.
Every day I see so much cool shit from that org, that as a one man band I just can't trust because there's no billing cap/prepaid billing.
Text from tweet:
Today we are releasing Cloudflare OS, a chatbot with connectors, just like every other tech company is doing.
Except actually, it's different. This is a remake of Sandstorm[.]io, my startup from 10 years ago, except this time built on Cloudflare Workers (the platform I've spent the last 9 years building) and deeply leveraging AI. This is more or less the culmination of my secret 10-year master plan.
This is a full-on personal app vibe coding platform, in which the sandbox is so secure that you can pretty much go wild -- the AI cannot introduce a significant security bug. We believe a company's security team can feel comfortable giving non-technical users permission to vibe code and then sleep soundly at night.
How is that possible? It's the Sandstorm security model, revisited. A "Gadget" is the same thing as a Sandstorm "Grain": a fine-grained app instance. For example, if you have a document editor app, each document runs as a separate instance of the app, in a separate sandbox (one "Gadget").
This means two things, both of which I think are Big Deals: 1. The platform can manage all access control, by controlling who can access the Gadget at all. There is no way the Gadget can accidentally leak itself to an attacker -- even an attacker who has access to other Gadgets based on the same app. 2. Since everyone is running their own copy of the code, everyone can freely modify their copy of the code.
Think about #2 a bit more.
What if, when you wanted a new feature in the software you are using, you could just prompt your agent to add it?
This doesn't work in the cloud Software-as-a-Service model, because you are not running your own copy of the app.
Sandstorm tried to change that 10 years ago, but the world wasn't ready, because not enough people had the skills or patience to actually modify their software. AI has changed that. Now you just ask the agent -- the same agent that you are using to help you interact with the Gadget can also modify the code of the Gadget.
And it is so fun.
Also the security story doesn't completely add up to me. Like, if I'm a user and I can just add features that I want, what's to stop me from placing data in there that's maybe covered under HIPPA or some other sensitive data (protected class, or even just stuff like authentication information)? Right now a small number of people need to think about data security, but this seems like it'd extend it to anyone? That kind of data, it's not just about "keeping it internal by default", there are a lot of rules around storing it at all.
I dunno, it kind of makes me think of when people suggest forking an open source project if the maintainers won't accept a suggestion. Sure, you can do that, and it does happen, but you're also basically signing up to maintain it for decades. I'm not sure if anyone wants to maintain Alice in accounting's very weird spreadsheet app 10 years after she's left the company?
(Again I'm not throwing shade, just trying to understand better)
Natural language wrapper around programming. Sandboxing and controlling external interactions to minimize the cost of mistakes. As I see it, the core idea here is facilitating habitability (in the Richard P Gabriel sense) via abstracting software development and distribution in a way that allows non-programmers to engage.
I'm not sure LLMs are quite there with results/$ to fully support a personal computing revolution here. I suspect useful blueprints will largely be wrappers or reimplementations of software that is still primarily created and distributed outside of this environment. But there's promise here, and it's cool.
Every organization has a mission, a purpose, a raison d’être, a calling, a charter, a mandate, an objective, a North Star, a foundational premise, an animating principle, an existential justification, a reason for being, and if the strategy consultants are billing by the hour, a transformational vision.
Organizations pass that mission - along with their terminology, vocabulary, nomenclature, jargon, acronyms, initialisms, buzzwords, euphemisms, procedures, processes, workflows, playbooks, checklists, methodologies, frameworks, systems, platforms, tools, standards, policies, conventions, guidelines, best practices, governance models, compliance requirements, quality gates, templates, forms, rituals, ceremonies, traditions, customs, cultural norms, tribal knowledge, institutional memory, unwritten rules, ways of working, ways of thinking, ways of collaborating, ways of communicating, and ways of filling out expense reports - to their people.
Other than that, it is not secure for an LLM to use because I could be given a document that talks about how to break the system and it would follow the instruction in there dutifully.
I am no different, but my approach is a dedicated powerful computer on your desk rather than something in the cloud. I am calling it Tarvis AI (derived from TARS from Interstellar and Jarvis from Iron Man), more details here: https://tarvisai.com
I have tried many of the VM/cloud-based agent setups, and they either tend to be only novelties since you can’t do much with 2-4 vCPUs + limited RAM or they start racking up expensive cloud bills.
I realized that the underlying operating systems for AI have to be built from the ground up for agents instead of taking current OSes and taming them for agents. Not sure how much of that philosophy is followed by Cloudflare. Excited to see growth in this area.
Then the UI's, the "Apps", are just ephemeral instances over my live data whose permission I am consistently setting or reviewing.
I feel like that more accurately represents a "person" behind the data: when I am producing, creating and expressing in real life, I do not ask some intermediary 3rd-party for permission to access my voice and my output. I just produce and let whatever gets created be made there in the physical environment or in someone's head. Today's apps (edit: & cloudflare's direction here) feel more like "The moment I express or generate something, I lease it's output from someone else and ask for their permission to access my output".
I see the examples, and they clearly tackle both organizational inefficiencies and human connection/communication as the core problems.
Sounds like things are converging to "my AI will talk to your AI" and the role of humans will just be a human "router" in the loop switching up nodes in a graph, like the return of Switchboard Operators from the 1950s.
https://blog.cloudflare.com/how-we-use-ai-with-cloudflare-os...
Currently I am quite bullish on EmDash.
We're starting to see indifferently architected AI creep into every engineering tool, from requirements management to coding, MATLAB, EDA and Solidworks. At the same time we see LLMs orchestrating long running hacking campaigns that will leverage other agents and automation to propagate. We really need an architecture that can handle that complexity.
Kenton Varda hitting the ball out of the park again.
EDIT: It let me down... (Something unexpected went wrong on our side.)
Please let me now if deploying it on your custom domain worked for you please...
EDIT: Retrying it now worked but I had to subscribe to R2 (which is free for 10GB apparently). However, after that it will tell you that you need to enable the Dynamic Workers which is actually paid...
"Your Cloudflare account is on the Free plan, but the Cloudflare OS backend needs Dynamic Workers, which requires the Workers Paid plan."
So no free preview for me today.
"Your Cloudflare account is on the Free plan, but the Cloudflare OS backend needs Dynamic Workers, which requires the Workers Paid plan."
In other words we have convinced them to build their own replacements.
In case anybody missed it.
If this takes off, this is really how enterprise agents should end up looking like. The dynamic workers hosting applications is the AI Appsmith/Retool that I need for internal dashboards.
> "Give every person an agent and workspace built around how your company works, what it knows, and the systems it relies on."
Hundreds of thousands of so called "AI startups" have been eliminated.
Why would I use a shared LLM-in-the-cloud, instead of my own? The shared one precludes any possibility to customize or differentiate my workflow, prompts, or skills. As an employee that sounds like a death sentence to doing my job effectively.
So, I want to make an RSS feed Gadget. And you will run an RSS Aggregator Gadget, and then some Presentation Gadget. Do I have that roughly right?
How does my Gadget talk to yours? Cloudflare Tunnels for CGNAT, NAT traversal? CapnProto for the schema? Fire and forget? Online only? Queuing? Store and forward?
How do I keep track of my Contacts? Who is allowed to read my feed? Are controls built in?
So so so many questions. Do you have office hours? :D
This was a great summation.
Isn’t there even a bug tracker that some company calls an ‘issue OS’ or something absurd?
The article posted buries the lead. Cloudflare OS reads like almost any other AI knowledge base until midway when apps are introduced and then becomes overly technical with a code snippet.
Buzz looks like a more reasonable direction than this does.
One argument I could bring is that despite all its claims, OpenAI still had to switch from containers to MicroVMs because its agents under test still managed to break out from their containers. Is the security model of a Sandstorm grain so much better that agents wouldn't figure out how to break out of it?
https://github.com/cloudflare/cloudflare-os
It runs on top of our open source runtime.
This can only be correct when the application can’t affect anything outside the sandbox. Which would significantly restrict useful applications.
Famous last words.
The project is indeed in early stages. That's mentioned in the readme as well.
The reason I had to tell the agent this explicitly is because Fable's original plan called for an overly careful process involving a 2-3 day "spike" to test and derisk. It also wanted to write an elaborate test harness that would run every message through both the old and new paths and compare the results to ensure feature parity. It was way too cautious. I knew that the conversion would actually work fine. And, in fact, it did: the conversion actually fixed more bugs than it introduced.
I tweeted about this at the time: https://x.com/KentonVarda/status/2084293600142135365
---
Sent from BeOS
Engineers love to talk about how AI is one the greatest invention in their lifetime but the data doesn't show that it has improved quality of life for humans even one bit -like many other inventions can claim- and actually it seems to be doing the opposite, where entry level jobs are vanishing, data centers worsen climate change, stress levels are all time high because workers (logically) believe they will soon be replaced, and on and on; in a very different social framework AI could have been a force for good, but not in this one, not how modern capitalism has shaped society to be.
https://github.com/cloudflare/cloudflare-os
You're supposed to customize it.
Also it features a whole system for adding your own skills and context.
I think the answer is yes, simply because both OAI and Anthropic leverage CF for their hosting today.
I used to meme back in 2008 (when Google docs first was becoming big) that "The problem has always been the sandbox". The problem Chrome and Firefox solved was the Sandbox - you can browse some random code across the web without worrying about getting hacked. The same problem has arisen today but now with AI agents.
There is likely to be huge winners in the AI space simply based on who can create the best way to contain AI agents and "expose AI value" safely.
This is not a traditional computer operating system. We use the term "operating system" in two senses:
An operating system for the company to be productive with AI, in a way that is safe, so that the security team can sleep at night. An operating system for AI workloads, analogous to the sense in which a traditional operating system manages compute workloads.
Cloudflare OS uses pi-agent-core, but not pi-coding-agent. pi-agent-core, at least the way CFOS uses it right now, is more of an LLM API compatibility layer than a full harness. All the tools and things like compaction are implemented by CFOS itself.
The code was actually using ai-sdk (from Vercel) up until a few days ago, when I switched it over to pi-agent-core.
Why doesn't it use Think? Mostly because Think actually didn't exist yet when I started writing this, and the designs diverged in a way that made retrofitting hard. The CFOS harness does a few unusual things, like tracking the entire state of the filesystem as the conversation progresses using Yjs (a CRDT), so we can actually rewind the state to see what the agent saw at any particular point in time.
I would actually like to delegate more to Pi, because I don't think CFOS should be in the business of thinking about how to implement compaction or to optimize editor tools for each agent. But I'm not really sure if it'll be possible without giving up some cool things about the CFOS harness, so we'll see.
Also check out Bunny.net.
Not remotely paranoid.
If you're generally opposed to any vendor lock-in, then Cloudflare is definitely a hard sell. Many of their services are pretty specific to their ecosystem and I imagine trying to keep things portable would be infeasible any many scenarios. Granted, this is true in a provider like AWS, too, if you were depending heavily on their proprietary, managed services. But there's definitely value in knowing that you can stick to "generic" services as much as possible in AWS and be able to move away relatively easily.
Cloudflare is definitely becoming a "real" cloud provider (I'd say their release of R2, for me, pushed them into the "serious contender" category), but they focus on pretty specific features that aren't very portable. This Cloudflare OS service is a good example of that. If it is exactly what you need, then it is worth checking out and taking on the risk of vendor lock-in. But if you're doing something where long-term planning and portability is important, then you'll have a hard time warranting even considering them.
Developing abstractions to let you switch technologies has 2 costs: The actual development, and not fully utilizing a specific technology. Lots of people prefer pain in small doses because it can be rationalized as eventual payoff.
There are degrees of this decision, of course, but I would say most folks worry too much about this particular champagne problem.
They move pretty quick so they tend to ship a lot of product very quickly that have a lot of potentials. But they are very much MVPs, and you'll hit a lot of limitations that aren't always obvious at first blush. And then it can take years before they mature, at which point they'll pour a ton of resources and they'll go from useless to top tier in like 2 months.
It's really hard to tell.
The Vite plugin for Cloudflare Worker was one of those. It was really rough at first and I wasted hundreds of hours getting stuff working as advertised. And then in a week they fixed all the bugs.
AI Gateway is another. We used it at first because it seemed to check all the boxes, and turns out it had tons of limitations and almost none of the features of other offerings, with very few updates months+. And then recently they basically added all the features it was missing in a few weeks/months and now its good.
Agent SDK too, it was always behind with outdated dependencies and missing features all other agent frameworks had. And then one day they started iterating super fast and now its legitimately good.
You can never tell reading the docs, so you have to try it, curse because you only find the limitations once you're running the thing for real in production, abandon it, then a few months later its everything you could ever want.
I have a love hate relationship with Cloudflare. Mostly love, but still.
This is not a traditional computer operating system. We use the term "operating system" in two senses:
- An operating system for the company to be productive with AI, in a way that is safe, so that the security team can sleep at night.
- An operating system for AI workloads, analogous to the sense in which a traditional operating system manages compute workloads.Non-technical people don't always think of an OS as the computer OS. To them, sometimes it means more like standard operating procedure or process - a standard way of doing things.
Secondly, for tech products, calling yourself an OS, you are associating yourself with things like Windows, Mac or Linux. You are indirectly trying to grandstand and position yourself as meaningful enough to be an "OS" when clearly, that is far from what an app layer + AI/LLM on top of a real OS is.
The biggest giveaway is this, and I'm exposing it right here -from a technical perspective, what operating system computer technology was built from scratch from first principles around AI/LLM?
Someone wants to be the first company to get huge sums of money/funding to be that startup/project, so that is also a positioning tactic.
The issue is of course, most people are standing on the shoulders of giants at this point... and OS has this conflicted meaning with nontechnical users also about work process vs the software that runs my computer.
E.g. if you're using a slide editor app, each slide deck you create is its own instance of the app, whose code can be independently modified.
The slide content and the code are kept together and sandboxed together.
Adding HIPPA data to the app is no different to adding it to the slide content. I suppose whether or not that is OK depends on a lot of things, but the same things apply to traditional PowerPoint. The fact that the code is modifiable doesn't change the situation, since those modifications are sandboxed and constrained to that one slide deck.
I think for any platform for general purpose computing that provides an application model that programs are written to target, it's close enough I don't mind. Ie: it makes sense for some end-user software to have a target for Windows, Linux, Sandstorm, etc.
& from the other side- what does Debian add that lets it call itself an OS? A set environment and package manager that software is specifically packaged for.
My tweet thread, and the GitHub readme, is really the presentation intended for the HN crowd. The blog post is for a different audience.
The readme I generated for an agent I put on top of pi reads almost the same as this.
AI does not do emotion. There is no punch, or pop. If I walk away from an announcement thinking it's AI slop then the announcement failed.
It's nothing like the posts Cloudflare used to write.
We're already contending with users wanting to hook up every SaaS MCP to every other SaaS platform and then slap AI on top. Having a controlled sandbox for that would hugely simplify things.
Linux containers are meant to be used by those with significant software engineering skills. Sandstorm was designed to be used, once installed by someone else, by grandma.
There’s not much point in preventing hyper visor escape style exploits if the agent can just SSH or psql log in to an adjacent container. Likewise there are near infinite ways to do weird things with the network to make stuff happen in another less controlled environment (eg sign up for AWS free account, make VM, do everything on that VM where controls don’t apply).
There are tools to do this, but I’ve never seen anyone package them up in a way that was pleasant to interact with. It’s got the SELinux problem of being useful, but annoying enough that everyone just disables it the second it gets in the way. It’s surprisingly hard to manage what should be able to connect to what as you start scaling out the number of things on the network. Whoops, you forgot that random software embeds its own DNS over HTTPS resolver so the normal DNS profile won’t work and everything crashed kind of issues.
Now I have spent about 6 months building the hardened, self-hosted AI version that can be hosted in different clouds like AWS and GCP, and you shipped yours.
I think we’d have a lot to discuss. Should I reach out on gmail?
I guess the lock-in is to Cloudflare Workers, which is limited to JavaScript. I would in fact look into projects that are built around MicroVMs and WebAssembly. It seems Buzz would be happy to use smolmachines, or whatever. You'd have to roll your own permission system, but smolmachines would at least take care of being able to use stuff within an app, by offering persistent, portable containers.
Actually I think now I can finally say why this sandstorm.io with Cloudflare OS has lock-in. The promise is "you can pretty much go wild" and that you can hand it off to non-technical people to do that. Much as you squint, there is not a sophisticated access control system available to self-hosted users. There's a framework for building a sophisticated access control system, but that isn't the same as having something open source that you can self-host and let non technical users go wild.
However, this is cool. I just agree with you that Buzz sounds more interesting to me as someone who was into Sandstorm.
But honestly, it didn't work well, because of cold start times and memory usage. It's bad enough when a server takes seconds to start, but if every document you open has a long startup time and uses hundreds of MB of RAM, it's really painful.
Cloudflare OS doesn't use containers. It uses Dynamic Workers, which are 100x more efficient: https://blog.cloudflare.com/dynamic-workers/
So the stuff I have been building in Workers for the past 9 years turns out to be the thing that Sandstorm needed all along. What a coincidence. :)
What gets buried is the "lede". It is a really unusual thing — a deliberate, engineered misspelling of "lead" that leaked into broader use:
https://www.merriam-webster.com/wordplay/bury-the-lede-versu...
(Not meant as a nit-pick — it's just something that adds really fascinating historical colour to a useful expression, that people often mistakenly re-correct)
https://github.com/cloudflare/cloudflare-os
It runs on the open source Workers Runtime:
https://github.com/cloudflare/workerd
You can run it at home if you want. There's even a Home Assistant Gatekeeper.
https://x.com/KentonVarda/status/2084990302784307363
-------------
Of course, personal apps are more useful if they can connect to external services. Cloudflare OS introduces a "connector" system we call Gatekeepers. This is sort of like MCP (and MCP is supported as a kind of Gatekeeper), but with a lot more:
* Instead of exposing tools, a Gatekeeper exposes a Cap'n Web RPC API. That makes it appropriate for use by both agents (via code mode) and Gadgets.
* Gatekeepers integrate with the Cloudflare OS UI to provide inline audit logging and human-in-the-loop approvals for all side-effecting actions.
* When an action requires approval, the agent does not need to stop and wait for it. A Gatekeeper will simulate the outcome, allowing the agent to keep running and queue up more work. You can then approve everything in a batch at the end. Hopefully, this means you no longer feel the need to turn on auto-approve! (But you still can if you want.)
We have already built Gatekeepers for a huge number of services, from GitHub to Home Assistant. We've found, with the right skills, AI can basically crank these things out for any given API, solving the chicken-and-egg ecosystem problem. We are working on a "software factory" of sorts where you can input the API docs for your favorite service and get a well-written Gatekeeper. That's not quite ready yet -- so for now use the ones we provide or use the write-gatekeeper skill to write your own. You can add your own Gatekeepers to your personal deployment.
FTF[them]
They have really twisted the definition to fit their marketing here. Operating systems are what allow you to use hardware to interact with software. Their product does nothing comparable to that at all.
That'd be fine if the decision just affected the decision-maker's system. But the secondary effects are that it binds the external users of that system to the vendor's ToS.
> I liked Kenton's take on this: https://x.com/KentonVarda/status/2084990137180590572
I sometimes wonder who AI marketing is really for. The people who would benefit from eliminating repetitive work, or other technical people who want to see interesting AI demos.. A lot of product launches end up looking like "Here's a prompt that bootstraps X," when the bigger story is that the prompt replaces an hour of repetitive work that nobody wanted to do in the first place.
Calling this an OS is like calling Gmail an OS.
It doesn’t make any sense.
But since OSes are notoriously difficult to define [1], half of America added AI slop to diets that were already repulsive to begin with, regurgitates the chyme, and passionately feeds it to their peers, you may even get away with it nowadays.
[1] https://os.ecci.ucr.ac.cr/slides/Andrew-S.-Tanenbaum-Modern-...
We aren't that clever about naming at Cloudflare.
Do you know how we named Wrangler, our local dev tool for Workers?
Literally, the person that created it said: "I named this Wrangler because I wanted to give it a name so dumb that we definitely won't release it under that name and will come up with something better."
We didn't come up with something better later.
Honestly Cloudflare OS is kinda same thing. We brainstormed names last week trying to come up with something better but nobody could agree on anything so it just went out as Cloudflare OS, which is what we'd been calling it internally for no particularly good reason.
Whether forking is economical depends, of course, on your scale and on how many others are in the same boat.
No one? Like literally, I don't understand a thing of what the blog post is saying. It's vague to the point of meaning nothing. Every piece of text I've seen that explains CloudflareOS is clear except the blog post.
Thanks for the warning!
But this is nothing like those things.
If you run an unindexed D1 query, then you get dinged for every row read. If you didn't properly perform scalability testing in non-production, then you'll never know this until you get a bill that you dissect to find out 5 million rows read for a 5 row result, if you even dig that far in the billing.
If you do not use the WebSocket Hibernation API with Durable Objects, then when you spin up a DO and hold open thousands of client WebSockets, you are being billed continuously for the entire time those connections are open—even if zero messages are being sent.
If you keep optimizing for payload size like many do by default but not event frequency (like poll a Worker every second instead of keeping a single stream open), it will show up unpleasantly in the billing.
If you treat KV like a transactional database keeping state, then be aware writes are expensive compared to reads. Pumping high-frequency write traffic into KV will result in exorbitant write operation costs and eventual consistency headaches. High-frequency state mutations belong in Durable Objects, not KV.
Batch your data to minimize request count, aggressively index your SQL queries to minimize row scans, and hibernate your idle persistent connections whenever you can. Doing all this will make your solutions cost efficient, but very locked into their ecosystem.
This is an extra wall in walled garden land; another one you will need to jump if you want to break free. Another stab at gatekeeping the upcoming Ai era of the internet. It's no different to the playbook of Google, Apple, and Facebook of the 00's. So, no, you're not paranoid.
In the terms of security: My firefox on FreeBSD instantly triggers endless loops of "prove your human" on their turnstile. I can't use old handhelds of android and a single VPN triggers all. Anything that they don't see as "secure" you're denied from.
What is stopping Cloudflare from deeming your LLM as unsafe?
Scenario: You're ready to launch, you come up with the next best innovation for the next generation of Ai internet. Revolutionary and you're about to launch, blast off; wait. You're denied your launch because it threatens their service. The former: they like your idea more-so and clone it to become theirs.
Stories of above have all been posted on HN before. Startups have been sabotaged by rug-pulling of cloud providers. It is early-vendor lock-in and at it's best. Google & Co would be jealous; if they were not in bed with.
This will turn in to a netting of: Your Ai isn't using our service, so your Ai isn't allowed to interact with ours.
What does Cloudflare offer as a service? A turnstile to the Internet of Things and the difference this time is that you get to self-host your own corner on their patch of land with their ticket prices and access policy of.
Remember folks, no corporation gives a rat's ass about you. Internally, or externally, you're just another sheep to extract wool from.
It's using Workers (capital W) and the core Cloudflare primitives.
I don't feel safe building on this or touching this.
I'd be happier if a startup or neutral party built this in a more agnostic way.
Durable Objects are fully supported by workerd (and Cloudflare OS uses them extensively).
There is, however, one catch currently: Durable Objects don't scale out well without the global scheduling. For running Cloudflare OS for one user, this is actually no big deal, but a company-wide instance might not work well.
But I'm actually fixing that:
https://github.com/cloudflare/workerd/pull/6780
Unfortunately didn't get enough time to land it before this release, but it'll come soon.
With that I would expect a self-hosted Cloudflare OS on your own cluster to work quite well.
Since "lead" (as in beginning of a story) and "lead" (as in metal) were frequently used in print newsrooms, the spelling of one changed over time to reduce confusion.
There were a number of other language convolutions in newsrooms, such as "slug" which meant a piece of hot metal, and so was useful for describing a spent bullet, the very short text that served as a title for a particular story, and a section of metal letters on the printing press.
/Worked for two major newspaper companies back when printing newspapers was akin to printing money.
And it would be functionally the same? With the same performance if you put enough hardware there?
If so cool, and that should have been clearly in the announcement, because as it sounded it is “I am a sucker, lock me in!”
When you share a Gadget, we verify that anyone you share with also has direct permission to access each of the resources it is connected to (via the Gatekeeper system). Hence, no security bug in the Gadget itself could accidentally grant people access to things they don't already have.
Can you say more about how you simulate outcomes of approvals? For example, if I need an approval to be granted permission to read a document, how could it simulate the document contents?
> food, nourishment, sustenance
> Narrower sense of "flesh of warm-blooded animals killed and used as food" is attested from c. 1300
FWIW, I am a sociotechnical specialist so I watch these things carefully.
Actually, I think Cloudflare OS quite possibly a good name for this case - especially with some of the history of coming from Sandstorm and what Sandstorm was trying to do for users. I super appreciate the background you shared about what you were doing here (and the secret master plan), and it makes complete sense to me actually.
I am also very sure of what I am saying about so many other things popping up with the "OS" tagged on - from both technical and non-technical use cases/companies.
I also appreciate your honesty about cleverness - LOL.. two hard things right? :)
Just as one example though of the larger trend I am watching, look at the launches on ProductHunt that have OS in the name (some are old, of course, but even in the last few weeks I've seen about 5 new things in this vein) [1].
I think this is a case of the hive mind actually coalescing around an idea (and even I was having the same idea), and I am not sure yet what the result will be, but my strong suspicion is some sort of new real operating system (potentially built with current OS foundations) that is built from AI-first principles, and a lot of other people trying to make it seem like their app is an "OS", either because they are using a nontechnical definition (or trying to piggyback on a technical one).
Thank you for taking the time to respond to my comment, I appreciate all you do!
But I'm certainly not claiming that this alone is sufficient to comply with regulations. I have no idea.
I was messing with a closed source tool from a vendor, and turns out they didn't support my use case (they were Mac only, I needed a Linux version. And I wanted it in a different programming language than they had used for maintenance and performance).
Pointed Fable and Sol at the binary and the symbols (most of the work was through http, to be fair), and a few hours later I had a fully functional version with additional features.
now of course the legality of that being closed source is iffy, but it was for personal use. In this case its open source. Need to run this on another platform ? You probably can get very far with a prompt or two.
The only dictionary definition of "operating system" I see is like the technical one on Wikipedia [1], which IS more like Windows, Mac or Linux.. not like an app or platform.
From my concise Oxford English Dictionary, for example.. "operating system, n. the low-level software that supports a computer's basic functions".
Like, would it be better if it was just called the "Cloudflare App"? Or the "Cloudflare App Platform"? or the "Cloudflare Platform App"?
Those aren't clear winners either, they could easily be confused for product offerings or other things.
They could name it, like, "Cloudflare Rocket" (random product name) or "Cloudflare Jane" (e.g. personality) and then say, "this is the desktop app for Cloudflare Jane, which is a platform where we put all these tools and capabilities that combine with agentic powers".. but then it wouldn't have the marketing flair either.
It absolutely does.
> doesn’t deal with physical memory,
Well it sort of does. It allocates sandboxes and schedules apps in them. It handles loading code from storage and turning it into running programs with state.
> it doesn’t initialize hardware or interface with it on a low level.
Instead of devices it manages interfacing with external services (Gatekeepers are like drivers).
I didn't choose the name but I do think there's a fair analogy here even on a technical level.
I don’t like offering criticism without a solution, but I’m not really motivated to come up with one here. It looks like employees may read this, so maybe someone will see the feedback.
Maybe just take out the word "traditional" and be honest: "This is not an operating system. We're redefining the term because it is convenient for marketing."
In my head there are corrections that are rude that I don't do, because I genuinely think authentic writing matters more and more, and because I am absolutely not above reproach where grammar and spelling is concerned.
Then there are things I think people would want to know, that are either in the intellectual-you-have-a-little-bit-of-pinach-in-your-teeth territory or in the "cool fact" territory, or somewhere hazy in between.
I figured if one is going to correctly use an expressive phrase like "bury the lede" that they've perhaps only ever heard someone say, they would absolutely want to know about the spelling quirk, because it fully makes it better.
Other people obviously read it differently and the downvote was a useful signal.
The product name and logo are configurable in the admin settings.
Yeah it's a little cheesy. Sorry.
Reads are, however, limited to only the resources you have explicitly attached.
Moreover, since agents and gadgets run in a sandbox with essentially no access to the outside world except via approved channels (Gatekeepers), it's essentially not possible for the agent to leak secrets it has seen unless you approve a later write.
In fact, the system actually keeps track of everything the agent / gadget has observed to know if it is "tained", and can use that to flag later actions as dangerous, e.g. due to prompt injection or possible leaking of secrets. (This is still evolving, but all the groundwork is there.)
(Of course, this assumes you trust the LLM provider itself not to steal secrets from your prompts. Most LLM providers offer zero-data-retention options, but if you don't trust them you can also use a local LLM. We support ollama and will support others in time.)
This is what allowed us to connect Cloudflare OS to our own sensitive internal data sources, containing things like customer data, revenue info, etc. Once you connect to one of those, the system enforces no data can be shared out of it.
That said, the policies are a bit blunt right now, maybe overly restrictive. We're going to be evolving it further.
Think Bazel or how K8s was for ~ever. For Google’s scale? Required. For a small team? A net-negative.
Sometimes you just can't advance the state of the art while also maintaining broad compatibility.
It's all open source, though. You can run the whole stack on your own machine.
I'm really excited by the idea that this platform makes it safe to use blueprints that someone else vibe coded, without worrying about whether they checked it for security bugs, etc. Basically if the app works, it works. So yeah, there absolutely should be a marketplace so everyone can try everyone else's stuff.
BTW there are three blueprints installed automatically (docs, slides, sheets).
Yes. It even supports ollama and works decently well with some local LLMs.
> And it would be functionally the same? With the same performance if you put enough hardware there?
Honestly it is faster running locally.
> If so cool, and that should have been clearly in the announcement,
We had so many things we wanted to say, it was hard to fit them all into one story.
The blog post is for an enterprise audience. My tweet thread is for the hacker audience.
Every organization has a mission, a reason for being. Organizations pass that mission — along with their terminology, procedures, systems, standards, and ways of working — to their people. People, in turn, take this context together with their own experience and work towards the mission.
Work can take many forms, from code, to documents and slides, to relationships, to outcomes in the physical world.
Some of these are straightforward: code either runs or it doesn’t. Agents have been using this feedback loop to produce code that “works” for developers over the last couple of years. But what about the rest of us?
Bringing the same leverage to the rest of the organization is a harder problem. Agents need to understand the context of the company and be able to reach the systems people use to do their jobs. They need to turn that context and access into work that moves the organization towards its mission.
That’s why we created Cloudflare OS. It gives every person an agent and workspace built around their company: how it works, what it knows, and the systems it relies on.
In May of this year, we gave every person at Cloudflare access to the first version of Cloudflare OS. Thousands of people across every function, many of them outside of engineering, use it every day to create documents and slides, automate repeatable tasks, and build small apps to visualize data and help them do their work.
Cloudflare OS also gave everyone a shared library of context and skills built by teams at Cloudflare. It captures our terminology, procedures, and best-known ways of doing recurring work as instructions an agent can follow. When one person figures out a better way to do something, everyone else can use it.
Today, we are open sourcing a new version of Cloudflare OS. Any organization can deploy it, connect it to internal systems, and make it their own.
The Cloudflare OS we are open sourcing today is based on what we learned from running the first version internally, a journey our CIO, Sam Rhea, covers in his blog post.
The first version centered on individuals working with agents through private workspaces. Apps were static rather than live software connected to internal systems, and mostly deterministic jobs still required running an agent skill again and consuming more model tokens.
Collaboration exposed a more fundamental challenge. Access to an MCP server told us which tools an agent could call, but not which underlying resources the agent had observed. Once people began sharing workspaces, apps, and outputs, we needed to ensure that collaboration could not expose information someone was not permitted to see.
We rebuilt Cloudflare OS on a new foundation to solve these problems. Security had to be part of the platform, not something every person building an app or using an agent has to implement correctly.
The result is a platform designed to belong to the company running it. You can customize the interfaces, connect your tools, and add the skills and context that capture how your organization works.
Cloudflare OS starts with a conversation in your browser, like many other AI tools. What makes it different is that each conversation is grounded in the context and skills your organization has curated. Give your workspace a goal, and it can draw on that knowledge and work with the tools and data your organization already uses to achieve it.

Cloudflare OS combines three parts:
What begins as a conversation can become a doc, an app, or a workflow that continues doing the work.
Agent workspaces were designed for everyone in your organization to use. You interact with them in your browser, so you don’t have to be a developer or know how to use a terminal.
A workspace combines agent sessions, persistent state, outputs and files, resource access, and an isolated runtime where the agent can write and run code.
They come loaded with the curated context and skills your team or company has collected. No more reinventing the wheel for every task — if someone on your team has figured out the best way to do something, everyone benefits. People no longer have to explain the same process, terminology, and best practices to a model every time they start a task.
A few things you can do:
Ask a workspace to research a topic using company context and the resources you make available to it. The agent can write code to search, filter, join, and analyze information instead of pulling an entire dataset into the model’s context window.
A workspace can turn its research into a document, presentation, or spreadsheet that you can continue editing. These outputs do not have to be static files. They can remain connected to live data, be updated as their sources change, and still be exported to familiar formats or services such as Google Drive.
When a document or spreadsheet is not enough, the agent can build an app with its own interface, logic, and state. The app can use connected company resources and support multiple people working together.
Not every job needs a full agent session. Many are a known sequence of steps with one or two places where judgment is useful. A workspace can turn those jobs into mostly deterministic workflows, using code for the predictable steps and a model only where it adds value. Workflows can run on demand, on a schedule, or when an event occurs in a connected system.
Cloudflare OS gives agents and apps governed access to systems of record through Gatekeepers (more on this in the security section below). It also supports existing Model Context Protocol (MCP) servers your organization already uses via MCP Server Portals.
As people begin experimenting with AI at work, one of their first requests is often for API keys to company systems. This makes sense: AI isn’t much use at work if it doesn’t have access to the systems people use to do their jobs.
But handing over API keys to people and agents is dangerous and does not scale. Keys often provide broad, long-lived access that is difficult to constrain, share safely, and audit.
MCP gives agents a better way to use these systems. An MCP server can hold the credential and expose a defined set of tools instead of handing the key directly to the agent. But controlling which tools an agent can call is only the first step. MCP alone does not tell us which underlying resources an agent has observed. The agent can combine information across systems, send it somewhere less restricted, or expose it through apps and outputs to people who may not be allowed to see the original resources. Authorization has to account for where the data can go next.
Cloudflare Access controls who can enter Cloudflare OS. Inside, every agent and app starts with access to nothing. An agent can ask for access to a specific resource, which you can grant or deny. Generated code receives that resource as a typed binding:
const issues = await env.PROJECT.listIssues({
teamId: "ENG",
state: "open",
});
env.PROJECT is a capability representing permission to use a specific resource under a specific policy. The credential remains completely isolated from the agent and any generated code.
Server code runs in a Dynamic Worker with global outbound networking disabled. Client code runs in a sandboxed frame in the browser. Neither can reach the Internet except through capabilities you explicitly provide.
A Gatekeeper is a service-specific Worker that sits between Cloudflare OS and an external service. It understands the service’s API, its resources, and the operations that can be performed on them.
Giving an agent access to your entire GitHub account is likely too broad. A Gatekeeper can give it access to a single repository, allow it to read issues but not source code, mask particular fields, apply rate limits, and require approval before merging a pull request.
The agent and its apps see a small TypeScript API. The Gatekeeper handles OAuth, holds the credential, enforces policy, records what was read, and mediates anything with an externally visible side effect.

Controlling the initial read is not enough. Take, for example, the case where an agent reads a sensitive table in a data warehouse and uses it to produce a live dashboard. Sharing the dashboard must not become a way to share the table with people who could not access it directly.
Cloudflare OS records every resource agents observe. These observations remain attached to the agent and its work. When another person tries to open the workspace, interact with the agent, or view what it produced, Gatekeepers verify that person's access to the observed resources.

The same observation log is used to inform policies that determine when agents can make external requests. A read of sensitive data can prevent the agent from writing data to certain sources, inviting new collaborators, handing work to another agent, or making an outbound request.
People using agents or building apps do not have to worry about making these mistakes. The platform can now be used to handle this.
Most productivity suites give you a fixed set of applications: documents, spreadsheets, and presentations. In Cloudflare OS, each “file” can be its own application, written by an agent for one person, one project, or one team.
These are not prototypes that you have to export and deploy somewhere else. Each one is a full-stack application with client code, server code, an API, and durable state. Apps are private by default, but can be shared like documents.
When you ask your workspace to build an app, the agent writes two parts:
The server is loaded on demand as a Dynamic Worker and instantiated as a Durable Object Facet (both are features we built for this project). The facet gives the app its own SQLite database, separate from the Cloudflare OS runtime managing it. Dynamic Workers use lightweight V8 isolates, so every app can have its own isolated runtime without needing a dedicated server or container sitting around.

The browser client talks to the server using Cap’n Web, Cloudflare’s open source object-capability Remote Procedure Call (RPC) system. A server method can be called from the client like a normal JavaScript function:
const issues = await app.listIssues({
status: "done",
});
The special part is that the agent can also call the same method.
So if you can build a tool to do a job yourself, agents can use your tool to do the job when you’re not there.
When you build an app in Cloudflare OS, you have two ways to share them:

An app instantiated from a blueprint contains the original app’s code. But it does not contain its SQLite data, conversation history, credentials, or connected resources. Each new app starts with independent state and resources.
This means when you share apps with your team, they can modify them themselves with AI instead of filing a feature request and assigning you.
Cloudflare OS can be used with any model. Every inference call runs through Cloudflare AI Gateway, giving your organization one place to decide which models are available and which model should handle each job.

Not every task needs the most expensive model. You may not want to run the most expensive frontier model to summarize your unread emails every morning. AI Gateway gives you the control needed to make sure expensive models are only being used for the hardest work.
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.
Cloudflare OS is available today and is open source. Check out the cloudflare-os GitHub repository. You can deploy it into your own Cloudflare account and use your own Access policies, AI Gateway configuration, data, and integrations.
Our internal deployment reflects Cloudflare’s systems, terminology, policies, and ways of working. Yours should reflect your organization.
Cloudflare OS is designed so you can customize the interface, add internal Gatekeepers, and build organization-specific features without changing the core product.
We are releasing two repositories: the Cloudflare OS core and an example deployment based on how we run it internally at Cloudflare. The deployment repository consumes the core without patching it, providing a place for configuration, custom UI, internal integrations, analytics, and deployment pipelines.
The source code is only the starting point. The context, skills, workflows, internal systems, and policies are what make Cloudflare OS even more useful for your organization.
Cloudflare’s strategic partners, Presidio and Happy Cog, will work with you to customize Cloudflare OS around how your organization operates and roll it out across your workforce.
Partners can help you curate shared skills and institutional context, build custom interfaces, connect internal systems through Gatekeepers and MCP Server Portals, and configure security, model, and cost controls.
You get your own branded Cloudflare OS, connected to your systems, running on Cloudflare, and shaped around how your people actually work.
Cloudflare OS is available today on GitHub. You can explore the source code, try the demo, or deploy it into your own Cloudflare account in a few minutes using our starter repository.
We’re just getting started. We’re working on bringing Cloudflare OS to the Cloudflare dashboard as a fully managed product, adding containers for development workflows, and bringing workspaces into Slack and other chat tools.
If you’re interested in talking with our team, we would love to chat. Use this form to reach out!
Or "COSIOS": CloudflareOS Is Not an OS.
This required stretching the terminology so much that now, by your definition, any software that interfaces with anything else in a restricted/controlled manner is OS-like because that's just like interfacing with hardware.
I get why they chose the word - this is marketing, they want to make it appear foundational, as a cornerstone of every interaction you do. But I don't think it's a fair comparison - the OS is the lowest level layer of any computer (barring firmware and the likes) and it manages nearly everything that happens between the user and the computer, the OS is mandatory to use the computer and it runs basically everything. This is just an app - a very sophisticated app that manages other things, but still just a layer over existing systems. If they get to call this an OS, then maybe Microsoft could call the bundle of their Office suite and all the enterprise software an OS too, I'm sure there's enough functionality, depth, features and app-driven oversight over data for it to qualify.
TL;DR; jgc stopped editing the blog, and AI slop took over:
> Today, after more than 13 years at the company, I am joining Cloudflare’s board of directors and retiring from my full-time position as CTO.
> ...
> I wrote for, and edited, the Cloudflare Blog for many, many years
If we open sourced Cloudflare's production scheduler, nobody would be able to use it because it is explicitly designed for HUGE, globe-spanning scale. Well, nobody except our direct competitors.
But the goal with workerd is actually that it should be pretty easy to run, about as easy as Node. Stateless workloads should scale trivially (just add more instances and load balance). For Durable Objects (statefull), currently it doesn't scale well at all, but I'm working on changes[0] so that it scales nicely across a cluster. I intentionally chose a design here that is operationally easy to set up. (Basically: just connect all the nodes to NFSv4.)
But my interpretation was like yours, that it was good faith and a literal question.
I tried going through the wizard to install, it would be nice if there was a proxmox container or vm to spin up quickly and test rather than npm or cloudflare account (which requires a $5/month workers plan).
I'm making a whole new language to get around the problem you're talking about: it brings no runtime at all. One of my targets is a Sandstorm like system I've been slowly working on, but I'd love for it to be a fit for the actual Sandstorm successor.
When the story was complete, the notification varied from newspaper to newspaper, but very often they followed the AP's convention of writing "-30-" which I have always believed was something the AP print wire actually (and surprisingly) adopted from the broadcast side, because broadcast stories were ideally 30 seconds long.
Maybe it is my bubble, but the experience people are having with Anthropic particularly is motivating a big “get this stuff back under control” effort so while it may not be strategically optimal for Cloudflare the local hosting would prove more valuable to enterprises than maybe a few years back, even if presented as a backup plan.
And I’m assuming your worker runtime is a process in a container on a shared node? What happens if the agent exploits your runtime?
Does it get access to the whole container? VM? Node?
Why should I ever choose this over MicroVMs? I have to design my architecture around your JS runtime. This isn’t an OS.
I 100% understand the hustle. I do the same thing. I just don't trust a giant like Cloudflare that has done several things to weaken the open web and establish a position that is all too powerful. I don't want to give them an iota of support. Even using open source buys into their mindshare, distribution, ecosystem, and eventual supremacy and lock-in.
I'd buy this from a smaller company for sure. Just not from Google, AWS, Cloudflare.
If this was a YC startup I'd have given you my credit card info already.
I don't know what your stock in Cloudflare is like, but your upside would be way bigger building this externally. You'd probably raise an extremely large seed round.
Consider launching your own startup. Don't give Cloudflare all the upside.
Edit: I didn't realize you'd already responded. Was clarifying my position and wishes for this to not be something made by Cloudflare.
I feel like if it’s a platform app developers can target to run general purpose user facing software, it can be an OS.
Sent from FirefoxOS using the KeyboardOS provided by iOS on my iPhone. . . OS
Funnily enough CF has redesigned its navigation several times in the past year, just like GitLab used to do. Shuffling the UI like a deck of cards is pretty desperate.
It's, I suppose, possible that the agent added secrets to the code itself. Not, like, API keys -- the agent never sees those. But it could have extracted sensitive info and put it into code, perhaps?
We can implement restrictions on exporting blueprints from workspaces that have seen sensitive secrets, though this might be more annoying than useful. It's a tricky balance.
> WARNING: workerd is not a hardened sandbox
> workerd tries to isolate each Worker so that it can only access the resources it is configured to access. However, workerd on its own does not contain suitable defense-in-depth against the possibility of implementation bugs. When using workerd to run possibly-malicious code, you must run it inside an appropriate secure sandbox, such as a virtual machine. The Cloudflare Workers hosting service in particular uses many additional layers of defense-in-depth.
Sandstorm was great because it did proper sandboxing. This is pretty weak by comparison.
In the default configuration, you just plop your Anthropic/OpenAI/Gemini/Workers AI/ollama API keys into the UI and it talks to each provider directly.
That said, I would recommend AI Gateway, it has a lot of nice features. :)
And if you want real life examples, every single LLM provider has gotten insane amounts of data shared to them, even if you have to approve.
But workerd can be used directly without wrangler, and is production-capable in that format.
Unfortunately we did not have time to put together example configs for this before launch (I wish we could have delayed, it was out of my hands), but we will be doing so soon.
Mentioned in the readme here:
https://github.com/cloudflare/cloudflare-os#deploy-to-your-o...
Workers is my startup-within-Cloudflare. It won't make me a billionaire, but it has still made me more money than I actually know what to do with, while being able to delegate all the stuff I don't like doing to other parts of the company that already do it quite well.
I have a lot of influence here. The CEO and CTO listen to me. E.g. I made my argument this all needed to be open source and self hostable, and they agreed enthusiastically.
I don't think I could build this better as a separate company.
I'll check it out.
I'm still anxious about the Cloudflare angle (and that's hard to shake), but beggars can't be choosers. You've legitimately built something cool and done a fantastic job spearheading that.
Thank you for the kind and well stated response. Sounds like you've had a lot of fun building this too.