What Is Enforced

Provenance answers who made this component. Enforcement answers what it can do on your machine. This page is about the second question.

Deny by Default

A component receives only the capabilities it is granted. Until you grant them, that is nothing: no filesystem access, no secrets, no configuration values. The default policy ships with an empty allowlist and no mount points — there is no default permission to forget to revoke.

Where Enforcement Happens

Capabilities are enforced at composition and at runtime configuration — not by checks inside the component, and not by policy documents someone has to remember to follow.

  • At composition - Components connect only at typed WIT interfaces. A component cannot call anything it was not composed with.
  • At runtime configuration - Siteboss binds host resources (directories, configuration values) to a component only where your policy allows it. No bindings means zero access.

Components declare which mount points they need; they cannot grant themselves anything. A policy file bundled inside a component describes its needs — the user policy at ~/.siteboss/policy.toml is the only allow/deny authority.

The User Policy

Create the deny-by-default policy, then allow specific host paths per mount point:

$ siteboss policy init
$ siteboss policy allow documents ~/Documents/reports
$ siteboss policy test documents=~/Documents/reports

Granting a Mount at Runtime

Discover what a component asks for, then bind a host directory to a declared mount point. The mount is validated against your policy — blocked paths and access-mode violations are refused:

$ siteboss run --show-mounts test/document-processor:v1.0.0
$ siteboss run --mount documents=~/Documents/reports test/document-processor:v1.0.0