Get started

Quickstart

Install Warden and confine a first command on macOS or Linux.

Install

PLATFORMInstall the current release

Homebrew on Apple Silicon

brew install maelys-dev/tap/maelys-warden
maelys-warden --version

Every tagged release publishes native archives for Linux amd64/arm64 and Apple Silicon, adjacent SHA-256 files, and GitHub/Sigstore provenance attestations.

Run a built-in profile

CODE
maelys-warden --profile untrusted -- codex
maelys-warden --profile project-rw -- claude --dangerously-skip-permissions
maelys-warden --profile project-rw -- npm test -- --runInBand

Everything after -- is the workload command. Its arguments remain unchanged. The first command runs codex; the second runs Claude Code with one argument; the third runs npm with three arguments.

Observe the decision

CODE
maelys-warden \
  --policy-json examples/policies/workspace-rw.json \
  --emit-mir /tmp/workspace-rw.mir \
  --receipt /tmp/build.receipt.json \
  -- make test

This compiles strict JSON to canonical MIR, optionally persists the exact MIR bytes, runs make test, and writes the execution receipt separately from workload stdout.

Network default

Without --network-frontend, Warden uses none unless the policy requests mediated networking. For a mediated policy, choose one frontend explicitly:

  • fd4 for a Maelys-aware workload;
  • proxy for unmodified HTTP/SOCKS-aware tools such as curl, git, npm, Codex and Claude Code.
CODE
maelys-warden --policy-json github-mediated.json \
  --network-frontend proxy \
  --network-receipts connections.jsonl \
  -- curl https://github.com/

Verify a release asset

CODE
sha256sum --check maelys-warden-linux-x86_64.tar.gz.sha256
gh attestation verify maelys-warden-linux-x86_64.tar.gz \
  --repo maelys-dev/maelys-warden