Your servers are headless. So how does anything run?
The first question every integrator asks. The answer below is what the kernel code does, and every verdict in the simulator is computed by the same model of that code as the main page — including the cases that go through when you might wish they did not.
There is an exception, and here it is. On a machine with DCC Ring 0 loaded, a write, a connection, a send or an exec gets through in exactly one of three ways.
The three doors
1 · The binary is whitelisted, within an effect-scope
The operator names trusted executables when loading the layer. The kernel records which executable file each process runs (inode and device, written at exec time), so renaming a process does not borrow that trust (D-15). Each whitelist entry carries an op-class scope — write, network, exec, read, or any — and the binary is exempt (no token needed) only for the effect classes in its scope; any other effect falls to the token path and is refused without one. A backup binary scoped to write cannot open the network; a daemon scoped to net cannot write. This is measured (D-21). Two caveats: a file marked OP_BLOCK overrides even an in-scope write; and the scope is by effect class, not yet by destination or path — a write-scoped binary may still write any non-OP_BLOCK file (that tightening is below). An entry given any scope is the old blanket exemption.
2 · The process holds a token from the authority
A job that is not whitelisted can ask the authority for a token over an authenticated channel — signed, replay-protected, bound to the caller's identity, rate-limited (D-07). The authority decides by its own policy and issues the token through a program only a privileged caller can run; the application cannot issue one to itself (D-06). The token lives 500 ms from issue. Its first write consumes it and binds the job to that one file; connections, sends and execs inside the window do not consume it. A child forked before that first write inherits it, at most three generations deep.
3 · Everything else
Refused with EPERM: the miner in /tmp, the build step past its window, the process that renamed itself.
Simulator
Configured as the proof runs were: write path blocking, network and exec guards blocking, read guard at its default (off), identity by executable file. Green titles are expected to go through, red ones to be refused, blue ones follow a token, amber ones show a weak edge.
The policy the simulator runs
| Whitelisted executable | Identity | Used for |
|---|
| Axiom key (first 15 characters) | Rule | Meaning |
|---|
Illustrative entries chosen for the scenarios — not the configuration of any deployed host.
“So it is just allowlisting.”
For unattended work — yes, and an integrator who says so is right. On a whitelisted binary the layer adds nothing but the OP_BLOCK files: no destination check, no per-file rule. We would rather say that plainly than dress it up.
What an allowlist alone does not give you is everything the allowlist does not name. A binary that is not on it — the dropped miner, a compromised build step, an agent's freshly written tool — can act only inside a 500 ms window that an authority opened on request, can write only the one file its first write chose, and cannot open that window itself. The claim is about the pair: a short, reviewable list for the enumerable unattended work, and a causal window for the rest.
That makes the list the part to keep small. Every entry is a program trusted with everything, forever.
Weak edges
- The whitelist scope is by effect class, not by destination or path. Since 2026-09-11 an entry is scoped to write / net / exec / read, so a
write-scoped backup can no longer open the network (measured, D-21). What is not yet bounded is which file it writes or which host it reaches: within its class it is unrestricted, so a compromised binary scoped tonetcan still exfiltrate to any address. Per-destination / per-path positive scoping is the next step (BIO-057). An entry givenanyscope, or a whitelisted interpreter, is the widest door of all. - Whitelisting an interpreter whitelists every script it runs. The kernel identifies
/usr/bin/python3, notbackup.py. Whitelist compiled, single-purpose binaries, notbashorpython3. - Axioms are keyed on the file name — not the path, and not the writer. The key is the first 15 characters of the name, so
nightly-backup-a.tarandnightly-backup-b.tarin any directory share one entry, and any process that may write one may write the other. - Reads are not bound to axioms.
OP_BLOCKstops writing a file, not reading it. - The authority's secret is protected by file permissions only (O-D4): whoever obtains it and reaches the socket can request a token for its own process.
- Pre-loader daemons are not trusted in identity-by-file mode and have to be restarted after the loader. On the measurement VM this froze the journal and the guest agent and dropped SSH for the duration.
- Root can switch the layer off (D-13).
Still open
Long human-initiated work
The window is 500 ms from issue, and an inherited token keeps its parent's timestamp. A build that runs for four minutes cannot be carried by inheritance. How long-running work that a person started should be authorised — a fresh request to the authority per step, or an attested session — is not decided.
Remote administration
For a machine nobody stands next to, the authority is the answer, and it exists and is measured (D-05 – D-07). What it does not yet have is a hardware-bound credential for the person asking: today the request is authenticated with a shared secret (O-D4), not a FIDO2 or TPM-backed key.
Measurement
Fork inheritance, the TOCTOU pivot, op_class and the OP_BLOCK case were measured on a live kernel with a real token on 2026-09-11 (D-16 – D-20); what that run captured is the effect, not the kernel's verdict names, which are still owed. The fork depth limit and content binding are not yet measured — see Evidence.
Two questions this page used to leave open
Does a consumed token pass to children?
No. A child inherits only a live, unconsumed token; exec, connect and send never consume it; only the parent's first write does. A build that forks before it writes keeps its chain, one that writes first does not — the CI scenario shows both.
Is an axiom per program or per file?
Per file name — coarser than either, as described under Weak edges.
Kernel model: dcc_core.bpf.c, build 2026-08-07; every verdict on this page is computed by it — see how it is checked. The implementation, measurement protocols and deployment notes are in the technical dossier, shared under NDA: admin@metaspace.bio.