Compare · kosa8 vs Cloudflare Sandboxes
kosa8 vs Cloudflare Sandboxes
Checked
Cloudflare Sandboxes start a Linux container from a Durable Object in your Worker; each instance is a Firecracker microVM with its own kernel, placed by Cloudflare across its network [1] [2]. This page describes Sandboxes 1.0; the older @cloudflare/sandbox library is now Sandbox SDK 0.x [3]. kosa8 runs a microVM per sandbox on your machines, an air-gapped site or kosa8 Cloud, and saves memory so it can rewind and fork.
01The short verdict
Choose Cloudflare Sandboxes if
- your product already runs on Workers and Durable Objects [1];
- you want instances placed near users across Cloudflare's network without managing regions [4];
- you need large default capacity: 15,000 concurrent vCPU per account, raisable [12];
- SSO and account audit logs on every plan matter to you [8] [9].
Choose kosa8 if
02Cloudflare Sandboxes and kosa8, feature by feature
| Feature | Cloudflare Sandboxes | kosa8 |
|---|---|---|
| Isolation | A Linux container inside a Firecracker microVM with its own kernel and network; Dynamic Workers run in the Workers runtime [1] [2] | A microVM per sandbox with its own Linux kernel: Apple's Virtualization framework on a Mac, Cloud Hypervisor on KVM on x86-64 Linux; kosa8 Cloud runs the same sandboxes on kosa8's hosts [14] |
| Self-host and air-gap | Not documented | Yes: your computer, your own KVM Linux servers, or an air-gapped site with a signed offline licence (Enterprise, quoted) [15] |
| Bring your own cloud (BYOC) | Not documented | Your own KVM Linux servers join your Cloud organization through an outbound tunnel, $0.20 per host-hour, no compute charge [15] |
| Regions | Cloudflare picks locations across its network; no region list or pinning documented [4] [2] | kosa8 Cloud: US (Dallas, Texas) and EU (Helsinki). Locally: wherever your machines are [16] |
| Fork a running VM | Not documented; a snapshot handle can be restored later, also from another Durable Object [5] | Yes: live copies with memory and processes intact (kosa8 fork; on Cloud up to 100 per call). Plans count how many copies run at once [16] [17] |
| Snapshots and rewind | Filesystem only, in public beta: no memory or running processes; 30-day expiry, 20 GB cap [5] [6] | Checkpoint and rewind of memory, processes and disk; a sleeping Cloud sandbox keeps a snapshot at $0.08 per GB-month [16] [17] |
| Egress allow-list | Yes: enableInternet: false by default, with HTTP and HTTPS intercepts for host globs and CIDRs, up to 128 entries [7] | Host-enforced allow-list (names, *.domain, IPs, CIDRs) fixed at create, with API keys added by an egress broker outside the VM. kosa8 Cloud has no egress policy setting yet [18] [19] |
| Kill switch or freeze | Not documented beyond destroy() on one instance [6] | kosa8 sandbox pause --all stops every sandbox's CPUs in place; on Cloud an organization freeze refuses new work, sleeps every sandbox and can suspend keys [19] [20] |
| Audit trail | Account audit logs of logins and configuration on all plans; no record of commands inside a sandbox documented [8] | Signed, hash-chained log anyone can check with kosa8 audit verify; Cloud streams it to Splunk, Datadog or a webhook [19] [21] |
| SSO | Dashboard SSO free on all plans, through a Zero Trust organization (SAML examples) [9] | kosa8 Cloud: OIDC with Okta, Entra ID or Google Workspace, and it can be required. No SAML or SCIM yet [19] [21] |
| GPU | Not documented | No. Sandboxes have no GPU today [22] |
| SDK languages | TypeScript and JavaScript in Workers; Dynamic Workers run JavaScript, Python or WebAssembly [1] | Python, JavaScript and TypeScript, Go, Ruby, Java; plus an HTTP API, a CLI and an MCP server [16] |
| Pricing model | Workers Paid plan ($5 a month) with allowances, then $0.000020 per vCPU-second (active CPU), $0.0000025 per GiB-second and disk per GB-second [10] | Plans from $29 a month for your own machines, each with Cloud credit; Cloud per second at $0.048 per vCPU-hour and $0.0154 per GB-hour [17] |
| Free tier | No container usage on the Free plan; Workers Paid includes monthly allowances [10] | Free on your computer after email sign-up (sandboxes, save and undo, dashboard); $30 of Cloud credit once a card is added [17] |
| Security audit status | Cloudflare says it has a SOC 2 Type II report, shared under NDA [11] | SOC 2 in progress (no report yet); no external penetration test yet [23] |
Bracketed numbers point to the sources. "Not documented" means the vendor's own pages did not say on 2026-11-14; it does not mean the feature is missing.
03Where Cloudflare Sandboxes is stronger
- Global placement. Instances start near the request across Cloudflare's network [4]; kosa8 Cloud has two regions [16].
- Capacity. Default account limits of 15,000 concurrent vCPU and 60 TiB memory, raisable [12]; kosa8 Cloud defaults to 20 sandboxes per organization [17].
- Platform fit. Sandboxes sit next to Workers, Durable Objects and the rest of Cloudflare, with free SSO and audit logs on all plans [8] [9].
- Compliance paperwork. A SOC 2 Type II report under NDA [11]; kosa8 has none yet [23].
04Where kosa8 is different
- Memory survives. Cloudflare snapshots capture the filesystem, not memory or processes [5]; kosa8 checkpoints capture all three [16].
- Any language, any host. kosa8 has five SDKs and an HTTP API, and needs no Worker in front [16].
- Off-cloud. Your computer, your servers or air-gapped [15].
- Inside-the-sandbox audit. Each kosa8 action lands in a hash-chained log [21].
05Moving from Cloudflare Sandboxes to kosa8
Cloudflare's Sandbox SDK 0.x quickstart gets a sandbox from a Durable Object binding inside a Worker and runs a command [13]. kosa8 Cloud is a plain HTTPS API, so the same code runs from a Worker, a server or a laptop.
Cloudflare Sandbox SDK 0.x, from its get-started page:
import { getSandbox, proxyToSandbox, type Sandbox } from "@cloudflare/sandbox"; const sandbox = getSandbox(env.Sandbox, "my-sandbox"); const result = await sandbox.exec('python3 -c "print(2 + 2)"');
The same on kosa8 Cloud (TypeScript, npm install @kosa8/sdk):
import { Kosa8Cloud } from '@kosa8/sdk'; const cloud = new Kosa8Cloud(); // reads KOSA8_API_KEY const box = await cloud.sandboxes.create({ template: 'python' }); const r = await box.exec(['python3', '-c', "print('hello')"]); console.log(r.exitCode, r.stdout); await box.delete();
- There is no binding or Durable Object to declare; set
KOSA8_API_KEYas a secret and call the API. exec('a string')becomesexec(['argv', 'list']); wrap a shell line as['sh', '-c', '…'].destroy()becomesbox.delete(), orbox.sleep()to keep the disk [16].- Cloudflare's outbound intercepts map to
--egress-allowon a local sandbox [18]; kosa8 Cloud has no egress setting yet [19]. - Each kosa8 Cloud
execruns in a fresh container on the sandbox's disk: files under/workspacepersist between commands, background processes do not. A buffered exec stops at 90 seconds; sendstream: truefor longer commands [16]. - Templates today are
base(Alpine),python(Python 3.12) andnode(Node.js 22) [16]. - An organization runs up to 20 sandboxes at once on kosa8 Cloud unless you ask for more [17].
06Questions
Are Cloudflare Sandboxes containers or VMs?
Both: your image runs as a Linux container inside a Firecracker microVM with its own kernel [2]. kosa8 runs a microVM per sandbox [14].
Do Cloudflare Sandbox snapshots keep memory?
No. Its snapshot guide says snapshots capture the filesystem, not memory or running processes, and they are in public beta [5]. kosa8 checkpoints keep memory and processes [16].
Can I use kosa8 from a Cloudflare Worker?
Yes. kosa8 Cloud is an HTTPS API with a bearer key, so a Worker can call it with fetch or the JavaScript SDK [16].
07Sources, checked on 2026-11-14
Every fact about another product comes from that vendor's own documentation or pricing page, read on 2026-11-14. Where its pages do not say, the table says "not documented" rather than guess. Products change quickly: check the current pages before you decide, and tell us if something here is out of date.
- Cloudflare docs: Sandboxes overview
- Cloudflare docs: Containers platform details
- Cloudflare docs: Migrate from Sandbox SDK 0.x
- Cloudflare docs: Containers FAQ
- Cloudflare docs: Container snapshots
- Cloudflare docs: Sandbox lifetime
- Cloudflare docs: Outbound traffic
- Cloudflare docs: Review audit logs
- Cloudflare docs: Dashboard SSO
- Cloudflare docs: Containers pricing
- Cloudflare: SOC 2
- Cloudflare docs: Containers limits
- Cloudflare docs: Sandbox SDK get started
- kosa8: Security, isolation model
- kosa8: Where kosa8 runs
- kosa8 docs: kosa8 Cloud
- kosa8: Pricing
- kosa8 guide: network allow-list
- kosa8 docs: Security Center
- kosa8 docs: Your first sandbox
- kosa8 docs: Governance
- kosa8: FAQ
- kosa8: Trust Center
Give every agent a sealed box.
$30 free credit
Card needed for kosa8 Cloud; no charge until the $30 is used. Free on your own computer after email sign-up.