Skip to content
zviz

Per-request ephemeral isolation

Some workloads want a clean, isolated environment per request — a fresh box that runs one thing and is discarded. Because ZViz is a single static binary with no daemon, it fits that spawn-run-destroy pattern without a supervisor process to manage.

For: Serverless / request-scoped runtimes

The problem

Request-scoped workloads want a clean room per request: run exactly one task, in a fresh environment, then throw the environment away. Reusing a long-lived sandbox risks state leaking between requests; managing a daemon to broker those sandboxes adds operational surface you did not want.

How ZViz helps

ZViz is built as a single static binary with no daemon. zviz run applies the enforcement stack and exec-replaces into PID 1, then exits when the workload does. That makes the spawn-run-destroy pattern natural:

  • Fresh namespaces per request — no state carried from the last run.
  • No supervisor to keep alive or reason about.
  • No guest kernel to boot, unlike a MicroVM — a smaller per-request cost.
  • cgroups v2 limits so a single request cannot exhaust the host.

When to reach for something else

If a request must run debuggers, mount filesystems, or nest containers, use gVisor. If it demands a hardware-virtualized boundary, use a MicroVM. For clean, cheap, request-scoped isolation of untrusted work, ZViz is a direct fit — see the quickstart.

Frequently Asked Questions

Why does no-daemon matter for ephemeral workloads?

A daemon-based runtime adds a long-running supervisor you must keep healthy and reason about. ZViz exec-replaces into PID 1 with no supervisor, so a spawn-run-destroy pattern has fewer moving parts.

How fresh is each container?

Each run gets its own namespaces, capability set (empty), Landlock ruleset, seccomp filter, and cgroup. Nothing is shared with the previous run unless you explicitly mount it in.

Related

Run untrusted code with a smaller attack surface

ZViz is open source under Apache 2.0. Build it and point it at any OCI bundle.