Skip to content
zviz

Features

ZViz is an OCI-compatible container runtime written in Zig. Every feature below exists to shrink the reachable kernel surface or keep the allowed syscall path fast. These are mechanisms, not benchmark claims.

Isolation layers

The layered enforcement stack that contains a hostile workload

Five namespaces

A fresh user, pid, mount, ipc, and uts namespace per container. The kernel boundary is the actual isolation boundary, not a convention.

Learn more →

All 41 capabilities dropped

Every Linux capability is cleared before the workload runs — no CAP_SYS_ADMIN, no CAP_NET_RAW, nothing. Capabilities drop before seccomp loads.

Learn more →

Landlock LSM ruleset

Unprivileged, kernel-enforced filesystem access control. Applied before seccomp so its own setup syscalls are not self-blocked. Requires Linux 5.13+.

Learn more →

cgroups v2 limits

Memory, PID, and CPU limits per container. Fork bombs stay contained. Applied last, once the process boundary is established.

Learn more →

Selective-denial policy

Deny the dangerous syscalls, run the rest at native speed

Seccomp-BPF selective denial

132 syscalls reach the host kernel at native speed, 24 dangerous ones are denied at the BPF filter, and one (socket) is argument-filtered inline. Deny, do not emulate.

Learn more →

Native syscall speed

Allowed syscalls execute directly on the host kernel — ZViz does not emulate them the way a userspace kernel does. There is no per-syscall translation tax.

Learn more →

Argument-filtered socket

The socket syscall is inspected inline rather than blanket-denied, so policies can permit specific socket families while refusing the dangerous ones.

Learn more →

Runtime shape

OCI-compatible, single static binary, no daemon

OCI-compatible

Runs standard OCI bundles — including rootfs produced by docker export. No bespoke image format. Point ZViz at a config.json and a rootfs directory.

Learn more →

Single static binary

One statically-linked Zig binary. No daemon, no supervisor process, no userspace kernel. zviz run exec-replaces into PID 1.

Learn more →

See how the layers fit together

The enforcement stack and the syscall path, in one page.