Phase 09 · Vault isolation

Vault Mode isolation

A real Linux guest under Apple's Virtualization.framework, the authority chain a guest request must satisfy, and the properties that were verified live on hardware.

Permanent ruleRemove ambient authority first. Add narrow capability second.

Vault Mode is for workloads where a policy boundary is not enough and the answer should be a different machine. It runs the workload in a pinned Linux guest under Apple’s Virtualization.framework, with a verified runtime manifest and one authenticated pipe back to the host.

What Vault isolation is not

Stated first, because this is the word most often used loosely:

  • a sanitised set of environment variables
  • a separate working directory
  • an ordinary subprocess with fewer arguments
  • a policy simulation
  • a dashboard that says “isolated”

Each of those leaves the workload on the same kernel, sharing the same process table, sockets and filesystem namespace as everything else you own.

Two setup states, never collapsed

Vault host capability is whether the exact running, signed BitShout runtime artifact on this Mac can use Virtualization.framework for the selected Linux arm64 architecture. Vault runtime readiness is whether the trusted Linux manifest, kernel, optional initrd, root disk and guest helper are installed and verified.

A Mac can pass the first while the second says NOT READY, and that is setup required — not evidence that the machine cannot host a Vault. Collapsing these two states turns a missing download into a hardware verdict.

The diagnostic is passive by design: it performs no Keychain writes, no credential retrieval, no privileged setup, no runtime download, no VM start and no system-extension activation. It inspects the running binary’s signature and entitlement, calls VZVirtualMachine.isSupported, validates the manifest when present, and exits deterministically.

The authority chain

A capability request that originates inside the guest reaches the broker only after the trusted host service has validated all of:

  • the stored Vault session
  • an active Phase 1 containment session
  • the registered protected subject fingerprint
  • the authenticated helper runtime identity
  • the bridge session ID
  • an active BitShout-managed registry record
  • the current security generation

Guest helper frames are typed, bounded assertions to be validated. They are never host authority, and nothing the guest says about itself is believed because it said it.

What was verified on hardware

The isolation proof ran live on a physical Apple silicon Mac with a signed artifact, the VM started through VZVirtualMachine.start(), and the guest helper authenticated over the virtio-socket bridge. The verified properties include:

  • read-write workspace semantics, and the read-write scope boundary
  • symlink escape denial from inside the guest
  • host socket absence
  • host process isolation observed through the guest’s own /proc
  • guest-root filesystem, network and credential checks
  • raw credential and socket bridge rejection
  • unauthorized capability denial
  • guest-private tmpfs destruction across a fresh VM start
  • host-visible read-write workspace persistence

The authority-chain proof separately exercised guest-originated unauthorized denial, Phase 4 request creation, an allowOnce approval, exactly one successful use, the consumed-grant denial that must follow, concurrent allowOnce consumption, parameter and tool scope denial, broker-owned synthetic credential custody, raw credential and generic proxy rejection, session-scoped authority, live Panic Lock denial, lock-time authority mutation denial, recovery revalidation, correlated Phase 8 evidence, a secret scan, stale authority rejection, BitShout-owned orphan detection and cleanup, and fresh-session stale-authority absence.

The proof returned PHASE 9 PASS — VAULT MODE ISOLATION VERIFIED, with 125 evidence records checked, 105 correlated Vault records, all required events present, and no synthetic secret leakage.

Credentials

Moving an agent into a virtual machine achieves nothing if you mount your secrets inside it. The credential store stays host-side and broker-owned. A guest capability request crosses the same grant path as every other request, and what returns to the guest is the result of one approved operation.