Test proof

Warden test proof, by platform.

Each result below comes from a recorded run. Platforms without a recorded run are marked as not yet run.

Linux

Verified

BubbleWrap (bwrap)

Proof harness and Go suite run on 2026-10-16.

Installsudo apt install bubblewrap strace
Buildgo build -o warden ./cmd/warden
Provebash testdata/proof/run-proof.sh ./warden

Docker

Partially verified

Container (all platforms)

Docker backend test passes in the Go suite on the Linux host. Not run on macOS or Windows.

InstallInstall Docker Desktop or Docker Engine
Pull imagedocker pull alpine:3.20
Testgo test ./internal/sandbox/docker/ -count=1

macOS

Not yet run

Seatbelt (sandbox-exec)

No proof run has been recorded on macOS.

InstallNo installation needed (built into macOS)
BuildGOOS=darwin go build -o warden-darwin ./cmd/warden
Provebash testdata/proof/run-proof.sh ./warden-darwin

Windows

Not yet run

AppContainer + WFP

No proof run has been recorded on Windows. Requires Windows 10/11 Pro or Enterprise.

BuildGOOS=windows go build -o warden.exe ./cmd/warden
Provebash testdata/proof/run-proof.sh ./warden.exe

Linux proof harness

8/8 steps pass

Run 20261016-203044 on Linux x86_64 (BubbleWrap (bwrap)). The positive control (the target process starts) is PASS, and the run exited with code 0. Each step's observed result is compared with its expected result.

StepWhat it checksExpectedObservedResult
read_allowedRead a file the policy allowsSUCCESSSUCCESS✓ PASS
write_allowedWrite a file the policy allowsSUCCESSSUCCESS✓ PASS
read_secretRead a secret file outside the policyBLOCKEDBLOCKED✓ PASS
read_unlistedRead an unlisted fileBLOCKEDBLOCKED✓ PASS
net_allowedHTTP to an allowlisted hostSUCCESSSUCCESS✓ PASS
net_blockedHTTP to an unlisted host (egress proxy 403)BLOCKEDBLOCKED✓ PASS
env_allowedAllowlisted env var is visibleVISIBLEVISIBLE✓ PASS
env_deniedUnlisted env var is absentBLOCKEDBLOCKED✓ PASS

Go build, vet and test

265 test functions

Project checks from AGENTS.md, run on 2026-10-16 on Linux. The suite runs serially (-p 1); parallel runs can exhaust the process limit and fail for reasons unrelated to Warden.

CheckExitResult
go build ./...0 PASSBuilds cleanly
go vet ./...0 PASSNo issues
go test ./... -count=1 -p 10 PASS23 packages pass · 3 with no test files · 0 failures

Audit log from the proof run

The run wrote 535 audit entries. Every blocked access is logged, not silently dropped.

Allowed

328

Blocked

207

File / network

File 315 allowed · 201 blocked

Network 13 allowed · 6 blocked