Portable security policy

MaelysSandbox Policy

portable security policy · v0.3.0 · 2026-08-25 · release →

Define the boundary once.
Carry it everywhere.

Describe which files, network destinations and process privileges a workload may use. Sandbox Policy turns that intent into one portable decision that Warden can enforce consistently on macOS, Linux and in containers.

[ CONTROL ]Say exactly what may happen
  • choose readable files
  • choose writable locations
  • allow only needed services
[ PORTABLE ]Keep one policy everywhere
  • macOS and Linux
  • local tools and containers
  • independent of sandbox technology
[ SAFE BY DEFAULT ]Refuse silent weakening
  • reject incomplete rules
  • stop when guarantees are unavailable
  • never invent missing permissions
[ COMPOSABLE ]Use it from any workflow
  • human-readable JSON
  • C library for applications
  • works with Datalog and Warden
FILESread, write or deny
NETWORKapproved destinations only
PORTABLEmacOS, Linux and containers
FAIL CLOSEDno silent weakening
SIGNEDverifiable releases

From intent to enforcement

Turn security intent into a decision you can trust

AUTHOR

Write policy people can review

Use clear JSON, build the policy in C, or produce it from another decision engine such as Maelys Datalog.

read /workspace · deny /workspace/.env
CONSISTENT

Remove ambiguity

Equivalent rules become the same portable decision, making changes easy to compare and verify.

same rules → same identity
FILES

Keep sensitive files out of reach

Grant only the reads and writes a workload needs, while explicitly protecting secrets and private paths.

workspace in · secrets out
NETWORK

Control where workloads connect

Name the exact services a task may contact and keep every unlisted destination outside the boundary.

github.com:443 allowed
PORTABLE

Keep enforcement replaceable

Describe the result you require instead of hard-coding commands for one operating system or sandbox.

one policy · many environments
HANDOFF

Apply it with Warden

Warden receives the decision, chooses an environment able to honor it and refuses weaker execution.

policy → Warden → protected workload

How it works

One policy, enforced wherever work runs

ARCHITECTUREOne clear path from rules to protection
    • Your intentfiles, network and process limits
    • Sandbox Policychecks and removes ambiguity
    • Portable decisionstable and verifiable
    • Wardenselects and supervises
    • Protected workloadlocal tool or container

You decide what is allowed. Sandbox Policy preserves that decision. Warden applies it to the real workload without silently widening the boundary.

Quick start

Try it in minutes

PLATFORMInstall and create a first policy

Apple Silicon, macOS 15+

brew install maelys-dev/tap/maelys-sandbox-policy
maelys-policy compile policy.json -o policy.mir
maelys-policy inspect policy.mir