Skip to content

Runtime policy

Draft/WIP. Runtime policy exists in the CLI, but the public contract is still experimental and may change. Treat it as a preview feature, not as a hardened sandbox promise.

Runtime policy is separate from ixt's main isolation model. ixt always isolates tool dependencies in per-tool environments. Policy settings try to restrict the process launched through an ixt shim: environment variables via env, and filesystem visibility via fs.

Current scope:

Area Status
Env policy Draft. Can filter the environment passed to the shimmed command.
Fs policy Draft. Linux-oriented and depends on bubblewrap for enforcement.
Install-time sandboxing Not implemented. Package-manager scripts still run outside this policy.
Network policy Not implemented.
macOS / Windows enforcement Not implemented. Policies may be recorded, but are not a runtime boundary.

Minimal command surface:

ixt tool config <tool> env list
ixt tool config <tool> env base all|none|os-common
ixt tool config <tool> env allow PATTERN
ixt tool config <tool> env deny PATTERN

ixt tool config <tool> fs list
ixt tool config <tool> fs base all|app-common|app-minimal|none
ixt tool config <tool> fs ro PATH
ixt tool config <tool> fs rw PATH
ixt tool config <tool> fs scratch PATH

Do not use this feature as the only boundary for hostile tools. If the install step or the tool itself is not trusted, use a disposable VM, container, or user.