zap-<light|med|heavy>-<harness>; the three weight bases are named zap-<weight> and environment overlays are env-<name>.
zap-light
The default Box template for light runtimes. Pinned toolchain: Node 24, Bun, Python 3.12, ffmpeg, imagemagick, libvips, Playwright Chromium.zap-agentd serves POST /v1/runs + SSE on port 8722 behind bearer auth, hosted privately and re-registered at boot/resume. Lanes: codegen, ffmpeg, media-workflows, browser (process isolation under systemd-run); wasm where the host exposes KVM. Aliases zap-light-ffmpeg and zap-light-code are config-only lane subsets; zap-light-browser is a browser overlay.
zap-med
zap-light plus the gateway, the content-addressed media filesystem, and data-defined ffmpeg presets (/zap/ffmpeg-presets.json, executed only through the ffmpeg lane). The in-process harness.zap executor mounts here; callers drive it with the http-runs driver.
zap-heavy
zap-med plus memory (loopback OpenViking), the API store (context7, open-connector, Composio), the skills store, and a named harness. The heavy base ships Node 24, Docker CE, and the MCP servers; harness templates like zap-heavy-hermes build on it. See Harnesses and templates.
Templates never contain secrets
Every template is built withnoEnv: true — snapshots contain no keys. BYOK env is injected per box at create time; managed mode receives only the gateway proxy URL. A secret sweep runs before every snapshot.