Documentation / Security / Isolation Model

Isolation Model

How WorkerRun keeps every job completely isolated from others across both execution modes.

WorkerRun offers two execution modes. Regardless of which mode a job uses, every job runs in its own isolated environment that is created at job start and destroyed on completion.

V8 Isolation Mode

runs-on: worker-run

The default execution mode. Every job executes inside a fresh V8 isolate. The isolate is created when the job starts and destroyed immediately upon completion. There is no reuse of isolates between jobs, even for jobs triggered by the same repository.

Container Mode

runs-on: worker-run/instance-type=lite | basic

For workflows that need a real Linux environment, Container Mode runs each job in an isolated container powered by the Cloudflare Sandbox SDK (backed by a Durable Object). The container is created at job start and destroyed on completion.

Cloudflare Workers Runtime

Both execution modes are built on top of the Cloudflare Workers platform. V8 Isolation Mode uses the same V8 isolate technology that powers Cloudflare Workers globally. Container Mode uses the Cloudflare Sandbox SDK, where each container is managed by a Durable Object. Both provide battle-tested isolation boundaries that secure millions of production workloads across the Cloudflare network.

Isolation in Practice

V8 Isolation Mode

Job A

V8 Isolate

repo: acme/api

PR #42 check

Job B

V8 Isolate

repo: acme/api

PR #43 label

Job C

V8 Isolate

repo: acme/web

push check

Each job runs in a completely separate V8 isolate with no shared memory, globals, or file system access between them.

Container Mode

Job D

Container (lite)

repo: acme/api

build & test

Job E

Container (basic)

repo: acme/api

integration test

Job F

Container (lite)

repo: acme/web

deploy preview

Each job runs in a completely separate container with an ephemeral filesystem. Containers are destroyed after the job completes with no shared state between them.