A boundary with teeth
Guarded filesystem access, read-only inputs, a private network namespace, process and memory bounds, and whole-tree termination.
Six confinement adapters →THE EXECUTION DATA PLANE
Give software a place to run, a boundary it cannot quietly cross, and an answer you can inspect.
Substrate is a standalone Linux execution service. It owns guarded workspaces, bounded processes and interactive sessions. Every mutation has a durable operation record; every advertised capability comes from a machine probe.
Rust · Apache-2.0 · Development contract
Guarded filesystem access, read-only inputs, a private network namespace, process and memory bounds, and whole-tree termination.
Six confinement adapters →An operation is recorded before effects begin. A lost connection leaves an identity to reconcile, instead of a reason to blindly repeat a command.
Inspect exit status, captured output, resource usage and applied isolation. If execution cannot be proved, Substrate reports an unknown state or a named refusal.
SECURITY BOUNDARIES
Callers such as Mantle decide what work to request. Substrate admits and confines it on a trusted Linux host. The host administrator, daemon and kernel remain inside the trusted boundary.
TRUSTED LINUX HOST
Authenticates the caller, admits operations and rechecks verified capabilities.
SQLite operation ledger, resource observations and bounded captured output.
CONFINED PROCESS / INTERACTIVE SESSION
/workspaceWritable, guarded tree/runtimeOptional verified read-only capsulehost rootsExplicit read-only inputsCleared and shaped environment · no nested user namespaces · PID and memory/swap bounds · output limits · timeout and cancellation
Network: no egress by default. An explicitly admitted aperture connects to a declared destination under a byte ceiling.
Workspace paths cannot escape through traversal or links. Missing enforcement is a refusal. Resource bounds and observations describe the actual selected host.
This is not protection from a compromised host administrator or kernel. Captured process output is durable state; applications must keep secrets and login codes out of it.
START WITH OBSERVATION
Start a personal daemon with an explicit allowed UID, then inspect its verified capability facts. Enabling process execution additionally needs bubblewrap, socat and delegated cgroup v2 controllers.
Complete setup and workspace round trip →# Use the private socket from the setup guide.
curl --silent --show-error --fail-with-body \
--max-time 30 \
--unix-socket ./run/substrate.sock \
http://localhost/v1/machine | jqBUILD ON THE BOUNDARY
Run ordinary binaries with explicit bounds and inspect their outcomes.
Run a command →Mantle composes Substrate into interactive development sessions. Substrate itself owns no agent loop or fleet scheduler.
Explore Mantle →Use the Rust SDK or a disposable local MCP adapter through the same daemon boundary.
Rust SDK → MCP →