Last year the story was Wayve. They paid for ChatGPT Enterprise and still couldn't stop people pasting company code into their personal accounts. The licence was never the problem. The boundary was. So we moved it: one sanctioned front door, tenant control with Zero Trust, and the data stopped walking out.
Agents clone repos, run code, and call APIs. Their hands reach files, hosts, and commands.
Prompting is not a boundary. Guardrails are.
A Workspace is the agent's computer: durable filesystem, command execution, and observable operations.
Two Worker agents means two separate computers by construction.
getWorkspace() attaches a Worker agent to its own durable Workspace, backed by WorkerShellBackend running inside a Cloudflare Worker.
The read-only R2 mount and the observer are wired at startup — Guardrails in place before the first line of task code runs.
Filesystem isolation. Egress allowlist. Read-only mounts. Observable Audit trail.
Zero Trust is the lineage of the egress allowlist — the live control in this demo is the Worker agent's fetchTools.allowlist. AI Gateway is the model-call control point; a log ID in the Audit trail confirms a live routed call.
Worker A stays green. Worker B hits the wall. The red row is the demo.
Last year: untrusted human intent. This year: untrusted agent action.
The boundary moves from the person using AI to the AI acting as the user.
Reference point: last year's deck, “Create and secure an AI agent wrapper using AI Gateway and Zero Trust.”
Tutorial: developers.cloudflare.com/cloudflare-one/tutorials/ai-wrapper-tenant-control/