cloudflare-os / gatekeeper-microsoft
AGENTS.md12k starsChanged 41 days agoApache-2.0View on GitHub
Microsoft 365 (Entra ID OAuth, Microsoft Graph). It has three resources. SharePoint's binding is one of: all of SharePoint & OneDrive, a site, a library or OneDrive, a folder, a file, a list, or a page; its configurator starts at "all" and drills down. Outlook's is one mailbox (own or shared), optionally narrowed to a folder, a conversation or senders, at read/draft/send. Calendar's is every calendar (for chat), one calendar (own or shared) at freeBusy/limited/full detail (for a gadget shared…
Files
Microsoft 365 gatekeeper
Microsoft 365 (Entra ID OAuth, Microsoft Graph). It has three resources. SharePoint's binding is one of: all of SharePoint & OneDrive, a site, a library or OneDrive, a folder, a file, a list, or a page; its configurator starts at "all" and drills down. Outlook's is one mailbox (own or shared), optionally narrowed to a folder, a conversation or senders, at read/draft/send. Calendar's is every calendar (for chat), one calendar (own or shared) at freeBusy/limited/full detail (for a gadget shared with that calendar's sharees), or availability only, at read/edit/schedule; CALENDAR_RESOURCE (…/calendar/*) must stay ahead of OUTLOOK_RESOURCE (…/*) in ALL_RESOURCES, since the Workshop takes the first matching pattern. plans/microsoft-365-gatekeeper.md, plans/microsoft-outlook.md and plans/microsoft-calendar.md are the design records and storage-schema.md the storage layout.
- Agents act with the user's delegated permissions; the binding narrows further, and
ScopeGuard(sharepoint-scope.ts) is the chokepoint. Every ID is checked before Graph is called (a folder by walking its ancestry), paths are measured from the binding's top, and a temporary~NID is resolved at every entry point.graph-api.tsis the only code that holds a token: it refuses non-Graph hosts, and follows a download redirect once, only to a SharePoint or conversion host, without theAuthorizationheader. - A connection and its bindings are pinned to
(tenantId, objectId)from theid_token, confirmed against/me. Tenant policy (tenantPolicyinmicrosoft-env.ts) refusescommon/consumers, and refusesorganizationswithout a GUID allowlist. Each resource's effective access is the lowest of the binding's own level (Outlook and Calendar), the deployment ceiling (MICROSOFT_SHAREPOINT_ACCESS,MICROSOFT_OUTLOOK_ACCESS,MICROSOFT_CALENDAR_ACCESS) and the grant's scopes, and a SharePoint file, folder or library binding drops to read when Graph's undocumentedshared.effectiveRolessays the user can only read it (only ever lowering).MICROSOFT_SHAREPOINT_SITES=selectedasks forSites.Selectedinstead of the.Allpermissions, but a connection's behavior follows what it was granted (grantedSharePoint), never the setting; a read-only binding's session (SharePointReader,OutlookReader,CalendarReader) has no write methods at all. - Observers use tracked collections of access units (site/drive/item/list/listItem/page), because SharePoint breaks inheritance at any level. One container's ACL never stands for its contents.
- Graph behaviours that return wrong-but-plausible data, verified live:
/sites?search=can return nothing on a working tenant, so sites come from Microsoft Search (/search/query) plus followed sites;/sites/{id}/listsomits Site Pages, so pages are detected through the pages endpoint; search lags uploads by hours on a new tenant, so nothing may depend on finding a fresh file. - Outlook's chokepoint is
OutlookContext.guarded(outlook-session.ts): every message ID is read with its metadata and checked against the scope before anything else is read or changed, and a listing's Graph filter is only an optimization. 400, 403 and 404 all mean "not in this binding". Every request sendsPrefer: IdType="ImmutableId", so IDs survive moves and sending. Send is never auto-approvable and is exactly-once through a Message-ID fixed at proposal, found across the whole mailbox before/send(submitinoutlook-actions.tshandles the half-second after a 202 when a second/sendis 403). Inbox rules, permanent deletion, permissions and send-as are deliberately not offered. - Exchange gives a mailbox four concurrent requests, so
$batchentries can 429 individually andGraphApi.batchresends them; Sent Items'fromis a legacy X.500 DN, replaced with the owner's address on read; Outlook web links use EWS IDs, converted inparseOutlookUrl. New-message hooks run through oneOutlookHookDriverper connection and mailbox, which reads by cursor and treats Graph change notifications (whenBASE_URLis public https) only as a prompt to read sooner. - Calendar's chokepoint is
CalendarContext.guarded(calendar-session.ts): an event's parent entry ID (Binary 0x0E09) must equal the bound calendar's (Binary 0x0FFF, pinned at binding) before anything is shown, and listings are re-confirmed the same way, because a calendar-scopedcalendarViewis not trusted. Redaction to the binding's detail level is the gatekeeper's (eventInfoincalendar-events.ts), not Graph's: the user's own token sees everything. Observers (calendar-observers.ts) admit someone to a calendar unit only when the owner'scalendarPermissionsgive them a role that sees that level (calendar-acl.ts; a group entry can only lower the org default), toavailability:<address>only whengetScheduleas them answers, and tocalendars:<id>never but the user. Anything that mails someone (calendar.invitations,calendar.responses) is never auto-approvable and isclaimBeforeApply; changes are fenced with If-Match on the change key, creations with atransactionId. - Tests: Node (
vitest.config.ts, where the configurator frame suites drive the generated frames in Chromium through__tests__/frame-host.ts) and workerd against a fake Graph (vitest.worker.config.ts), both run bypnpm --filter @gadgets/microsoft-gatekeeper test:runafter it builds the configurator frames; and a live-tenant contract suite (vitest.contract.config.ts), run bytest:contract, which is skipped unless.dev.varsand a tokens file are present.
Trending
More talk lately.about the whole repository
Who's talking about cloudflare/cloudflare-os
- Tonbi's AI Garage“Testing Cloudflare OS: Open Source AI Chat + App Builder for the Non-Technical”YouTube · Aug 12, 2026 · 6.8k views
- Github Awesome“Cloudflare OS: every user gets their own private app instance”YouTube · Aug 6, 2026 · 6.7k views
- Bitwise AI“Cloudflare Just Open-Sourced Its AI Agent Operating System”YouTube · Aug 6, 2026 · 6.4k views
- Prism Labs“Cloudflare OS: 4,000 Apps in 1 Month [Now Open Source]”YouTube · Aug 5, 2026 · 5.2k views
- DevsKingdom“Cloudflare's Open Source Enterprise Claude Cowork”YouTube · Aug 11, 2026 · 4.2k views
The biggest 5 of 85 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 85
Talked about on GitHub, YouTube, Bluesky and the web (85 times).
On GitHub · 46
- Aug 6, 2026Cloudflare OS integration: gatekeeper capability layer + os-bridge — S-FX-com/Arcadia1 reaction · 1 comment
- Oct 27, 2026chore(cloudflare-os): bump to main@fd624bc — appflare/catalog0 reactions
- Oct 27, 2026fix(Ember): harden Cloudflare tool-call follow-up and reveal safe failure stages — baba-dev/menuminute0 reactions
- Oct 23, 2026Extensions: remember where an installed extension came from, and merge upstream updates with local edits — Stvad/knowledge-medium0 reactions
- Oct 23, 2026Stage outward actions from agents and extensions as approvable proposal blocks — Stvad/knowledge-medium0 reactions
41 more on GitHub
- Oct 23, 2026Capability-scoped extensions: declare what an extension may read, write and fetch, and sandbox ones you didn't write — Stvad/knowledge-medium0 reactions
- Oct 23, 2026Merge cloudflare/cloudflare-os main (ec22b002) into p5 — PointFiveInc/cloudflare-os0 reactions
- Oct 22, 2026PointFive branding where /admin cannot reach — PointFiveInc/cloudflare-os0 reactions
- Oct 22, 2026feat(salesforce): import upstream gatekeeper PR #76 — serspace-org/cloudflare-os0 reactions · 1 comment
- Oct 21, 2026Bump Cloudflare OS to a679442 — stelaxis/company-os0 reactions
- Oct 21, 2026Collaboration in shared workspaces (owner-only sharing, share safety, …) — PointFiveInc/cloudflare-os0 reactions
- Oct 20, 2026chore(cloudflare-os): bump to main@d1ff6d8 — appflare/catalog0 reactions · 1 comment
- Oct 17, 2026Pin cloudflare-os to upstream and keep personal edits as patches — SnapPetal/cloudflare-os-personal0 reactions
- Oct 17, 2026Research: what Cloudflare shipped from 2025 to October 2026, and what Signalbox uses, considers or skips — JustYannicc/signalbox0 reactions · 1 comment
- Oct 17, 2026chore(cloudflare-os): bump to main@b4f706a — appflare/catalog0 reactions
- Oct 12, 2026R&D — Integración gradual RSI-Anything + Cloudflare OS Gatekeepers + FreeLLMAPI (offline, sin tocar P0 AUTH) — simondalmasso/0liviA0 reactions · 2 comments
- Oct 11, 2026🚀 upstreamの114コミットを取り込む(2026-10-25更新) — PAYNHQ/cloudflare-os0 reactions
- Oct 11, 2026Future security gate: prove SSRF boundary before enabling URL scanner — fsoeltonione/nextaction0 reactions · 20 comments
- Oct 9, 2026chore(cloudflare-os): bump to main@4f55124 — appflare/catalog0 reactions · 1 comment
- Oct 9, 2026docs: add Cloudflare OS Cell insight note — Giorno-Giovanna-Dio/AI-Agent-Products-Reviewed0 reactions
- Oct 8, 2026chore(cloudflare-os): bump to main@4358072 — appflare/catalog0 reactions
- Oct 7, 2026chore(cloudflare-os): bump to main@9c2b76a — appflare/catalog0 reactions
- Oct 6, 2026Add curated AI projects from Oct 6 Trending feeds — alvinreal/awesome-opensource-ai0 reactions
- Oct 5, 2026[Inspiration] Agent-built gadgets: persistent, sandboxed mini-apps users keep and iterate on, beyond one-shot run artifacts — helloimcx/agentdock0 reactions
- Oct 5, 2026🚀 upstreamの50コミットを取り込む(2026-10-05) — PAYNHQ/cloudflare-os0 reactions
- Oct 4, 2026Scout pitch: Deferred approval (queue risky actions, keep working, one batch decision) — 8gi-foundation/8gent-code0 reactions
- Oct 4, 2026Donor intake: Cloudflare OS capability-security reference — ubuntuokos/Final-Architecture-v3.00 reactions · 2 comments
- Oct 3, 2026[Inspiration] Speculative permission gates: simulate blocked actions so unattended runs keep working, reconcile on approval — helloimcx/agentdock0 reactions
- Sep 26, 2026Upstream-Sync: 4 kritische Fixes f961c844→004ab773 (OWL-1715) — axelweichert/cloudflare-os0 reactions · 2 comments
- Sep 22, 2026feat: advance Cloudflare OS overlay to candidate.9 — dscott98/cloudflare-os-overlay0 reactions
- Aug 18, 2026MCP write-capable tools are not auto-retried after mid-flight session expiry (no duplicate side effects) (salvage #88821) — NousResearch/hermes-agent0 reactions · 1 comment
- Aug 12, 2026Cloudflare OS v2を試用しYouTube制作基盤への適合性を評価する — daiki-beppu/youtube-automation0 reactions
- Aug 12, 2026Update pinned cloudflare-os release — cloudflare/cloudflare-os-starter0 reactions · 1 comment
- Aug 10, 2026feat(ai): AI Gateway transport over the Cloudflare AI binding — earendil-works/pi0 reactions · 1 comment
- Aug 9, 2026cloudflare-os self-hosting via wrangler-cli + podman — elasticdotventures/_b00t_0 reactions · 1 comment
- Aug 9, 2026Create — github/advisory-database0 reactions
- Aug 8, 2026Add Cloudflare Workers AI Gateway transport over the AI binding — earendil-works/pi0 reactions · 4 comments
- Aug 8, 2026Cloudflare OS型Gatekeeper・Blueprint・共有Agent UXをイベント基盤へ導入する — KAFKA2306/vrc_cast_event_calender0 reactions · 1 comment
- Aug 8, 2026Cloudflare OS型の旅行Gadget・Gatekeeper・共有ワークスペースを導入する — KAFKA2306/travel0 reactions · 2 comments
- Aug 8, 2026Cloudflare OS型Gadget sandbox・Gatekeeper・Blueprintを衣装生成パイプラインへ導入する — KAFKA2306/image2outfit0 reactions · 1 comment
- Aug 8, 2026Cloudflare OS型Agent Workspace・Gatekeeper・Blueprintを分析基盤へ導入する — KAFKA2306/semiconductor-earnings-model0 reactions · 1 comment
- Aug 8, 2026Cloudflare OS型のGatekeeper・Blueprint・Agent APIを導入する — KAFKA2306/factory0 reactions · 2 comments
- Aug 7, 2026Clone cloudflare/cloudflare-os を取り込み — jeminisaga/-0 reactions
- Aug 5, 2026dweb: adopt the read-through sharing invariant (observer model) before data-bearing mesh surfaces land — NotASithLord/peerd0 reactions
- Aug 5, 2026runtime: optimistic side-effect queue — simulate unapproved actions, bulk-approve later (Gatekeeper pattern) — NotASithLord/peerd0 reactions · 1 comment
- Aug 5, 2026dweb: dwapp sandbox CSP omits connect-src — app frames have unrestricted network egress — NotASithLord/peerd0 reactions
On YouTube · 21
- Aug 12, 2026Testing Cloudflare OS: Open Source AI Chat + App Builder for the Non-Technical — Tonbi's AI Garagesays it tested it6.8k views · 14 comments
- Aug 6, 2026Cloudflare OS: every user gets their own private app instance — Github Awesome6.7k views
- Aug 6, 2026Cloudflare Just Open-Sourced Its AI Agent Operating System — Bitwise AI6.4k views · 1 comment
- Aug 5, 2026Cloudflare OS: 4,000 Apps in 1 Month [Now Open Source] — Prism Labs5.2k views · 4 comments
- Aug 11, 2026Cloudflare's Open Source Enterprise Claude Cowork — DevsKingdom4.2k views · 11 comments
16 more on YouTube
- Oct 4, 2026Cloudflare OS Overview — Dann Paker AI1.2k views
- Sep 5, 2026Cloudflare OS GitHub Setup Guide: Six-Worker AI Workspace Deployment Without Native Windows Build Fa — Alex Hitt634 views
- Aug 6, 2026Cloudflare Ran Its Whole Company on This AI Agent Platform — Now It's Open Source — SimplyExplain549 views · 2 comments
- Aug 6, 2026Cloudflare Just Open-Sourced Its Agent Platform — SimplyExplain540 views
- Aug 6, 2026Cloudflare Computer: 1 Filesystem, 3 Runtimes [Open Source] — Prism Labs490 views
- Oct 4, 2026Cloudflare Workers: Build Docs, Apps & AI Agents with Cloudflare OS — Next Horizon375 views · 1 comment
- Oct 8, 2026Cloudflare OS: Run AI Agents Locally Behind Your Firewall — Daily Tech Talks124 views
- Oct 4, 2026cloudflare/cloudflare-os - Gource visualisation — Gourcer123 views
- Oct 4, 2026cloudflare os — deploy an AI workspace inside your company — Neural-Nexus121 views · 1 comment
- Oct 7, 2026cloudflare/cloudflare-os — Your company, as an AI operating system. 🟡 Watchlist #Shorts — ForkCast100 views
- Oct 4, 2026Muse Gadgets, bmux, Cloudflare OS, OpenCut, Impeccable: 5 New AI Tools This Week — DevDrop82 views · 1 comment
- Aug 29, 2026cloudflare-os - GitHub Trending Today — GitHub Trending Digest51 views
- Sep 1, 2026Cloudflare OS : an open platform for agents, apps, and work — Open Projects50 views
- Oct 5, 2026cloudflare/cloudflare-os — Agent workspace built on Cloudflare Workers for creating documents, build — Top Github44 views
- Sep 1, 2026cloudflare os: the company becomes context — 404Embassy44 views
- Oct 3, 2026cloudflare-os ⭐ 10454 | +84 today #github #opensource #typescript #shorts — Git Radar17 views
On Bluesky · 14
- Aug 10, 2026@cloudflare.social released a #harness #agent, confusingly called #Cloudflare OS, that includes an agent runtime, a workspace, and… — @qdrddr.bsky.social6 likes and reposts · 1 reply
- Aug 8, 2026社内の文脈やシステムと連携してAIエージェントやアプリを動かせる環境らしい 企業の業務効率化ツールとしてかなり便利そう yug1224 starred cloudflare/cloudflare-os… — @yug1224.com4 likes and reposts
- Oct 3, 2026📦 cloudflare / cloudflare-os ⭐ 10,391 (+84) 🗒 TypeScript Agent workspace built on Cloudflare Workers for creating documents, building… — @github-trending.bsky.social2 likes and reposts
- Oct 2, 2026Cloudflare OS is an open-source workspace for AI agents and personal applications. This investigation asks what users can build, how agents… — @smith.wiki2 likes and reposts · 1 reply
- Aug 25, 2026🔥 Hot Repo! 🔥 (100+ new stars) 📦 cloudflare / cloudflare-os ⭐ 9,164 (+111) 🗒 TypeScript Agent workspace built on Cloudflare Workers for… — @github-trending-js.bsky.social2 likes and reposts
9 more on Bluesky
- Aug 19, 2026At the other extreme, it evolves to be more like an OS at a higher level of abstraction. It provides a set of syscalls and guarantees that… — @jeremymorrell.dev2 likes and reposts · 1 reply
- Aug 7, 2026Cloudflare OS is an #OpenSource workspace for #AI productivity originally developed for use inside #Cloudflare. It provides: a) an agent… — @dshnow.bsky.social2 likes and reposts · 1 reply
- Aug 5, 2026#🔖テクノロジー GitHub - cloudflare/cloudflare-os: Agent workspace built on Cloudflare Workers for creating documents, building apps, and running… — @hatena-bookmark.bsky.social2 likes and reposts · 1 reply
- Sep 25, 2026📦 cloudflare / cloudflare-os ⭐ 10,090 (+31) 🗒 TypeScript Agent workspace built on Cloudflare Workers for creating documents, building… — @github-trending-js.bsky.social1 likes and repost
- Aug 11, 2026Cloudflare OS blog: blog.cloudflare.com/cloudflare-os/, github.com/cloudflare/cloudflare-os Vercel eve: vercel.com/blog/introducing-eve ·… — @akash-bhatia.bsky.social1 likes and repost
- Aug 6, 2026AI news - Aug 6, 2026 1. Cloudflare Open Sources Internal AI Productivity Operating System LINK 2. Jeff Dean and Google Executives Launch… — @hackobar.bsky.social1 likes and repost · 1 reply
- Aug 5, 2026Cloudflare OS – an open-source AI productivity environment Discussion | hackernews | Author: berlianta #InfrastructureAndDevOps — @news.karthihegde.dev1 likes and repost
- Oct 4, 2026AI news - Oct 4, 2026 1. Aleph Alpha launches Kolibri 78B Mixture-of-Experts LLM LINK 2. Cloudflare Workers Agent Workspace for… — @hackobar.bsky.social0 likes and reposts · 1 reply
- Aug 6, 2026時間ができたら遊んでみる。 github.com/cloudflare/c... — @koshibas.bsky.social0 likes and reposts · 1 reply
On the web · 4
- Oct 20, 2026What is Cloudflare OS? An OS for an "AI Workspace," not a ... — google.com
- Oct 2, 2026Cloudflare OS open-sourced: company agent workspace with ... — aicoder.com
- Sep 23, 2026so is it like CloudflareOS ? https://github.com/cloudflare ... — google.com
- Aug 5, 2026Cloudflare OS — open agent workspace for building internal ... — google.com
In this repository16 other files it gives its agents.
- AGENTS.mdAGENTS.md
- packages/configurator-ui/AGENTS.mdAGENTS.md
- packages/error-reporting/AGENTS.mdAGENTS.md
- packages/gatekeeper-cloudflare/AGENTS.mdAGENTS.md
- packages/gatekeeper-context/AGENTS.mdAGENTS.md
- packages/gatekeeper-kit/AGENTS.mdAGENTS.md
- packages/gatekeeper-websearch/AGENTS.mdAGENTS.md
- packages/gatekeeper-x/AGENTS.mdAGENTS.md
- packages/mcp-shared/AGENTS.mdAGENTS.md
- packages/observability/AGENTS.mdAGENTS.md
- packages/ui/AGENTS.mdAGENTS.md
- packages/workshop-backend/AGENTS.mdAGENTS.md
- packages/workshop-frontend/AGENTS.mdAGENTS.md
- scripts/release/AGENTS.mdAGENTS.md
- frontend-conventionsSkill
- write-gatekeeperSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

