Most people should use Fence as a GitHub Action. Its Rust agent also includes a CLI for checking the version, inspecting a runner, and previewing a policy:
fence --version
fence check-support
fence render-plan --config policy.json
fence run --config /run/fence/example/config.jsonfence --versionThis prints the agent version. Source builds use Cargo.toml; published Action bundles record their version and provenance in action/bundle-manifest.json.
fence check-supportThis shows the operating system, architecture, available backend, and reference runner profile. It does not check every required security control, activate Fence, or protect the runner.
fence render-plan --config policy.jsonThis validates a JSON configuration and prints the firewall rules without applying them.
fence run --config /run/fence/example/config.jsonFence must start through its GitHub Action. Running the command directly fails with trusted_launcher_required, so an ordinary process cannot claim the runner is protected.
See how Fence works and the configuration contract for more detail.