Skip to content

Sandboxing & the runner

Tool logic runs in pc-runner, one process per invocation, never in the edge (Directive #1). On Linux the runner establishes, in the forked child before exec:

  • fresh user / mount / net / uts / ipc namespaces (an empty network namespace makes cloud metadata and the broker unreachable by construction);
  • id mapping to an unprivileged uid via the user namespace;
  • a read-only root;
  • a landlock filesystem ruleset limited to the spec’s declared paths;
  • no-new-privileges; and
  • a seccomp filter from an operator-owned, reviewed JSON profile.

This is Linux kernel machinery with no portable equivalent. On other platforms the runner returns Unsupported and fails closed — it never runs a tool without a sandbox.