Skip to content

QA checklist - Agent seatbelt (0.1.9+)

Manual e2e after install / upgrade on a desktop machine with Computer or Session on.

# Step Expect
1 curl -I https://api.anthropic.com (via protected path) Allow (or upstream 401/403 - not DenyOut deny)
2 Browse https://example.com Deny host_not_allowed or one Ask dialog (if Ask on) with Allow once / Always / Keep blocked
3 install.sh / GitHub release-asset download Completes; no audit deny secret_in_url for release-assets.githubusercontent.com signed URL
4 Request with ?api_key=sk-... on allowlisted host Deny secret_in_url
5 Ask -> Always allow for a host, retry Allow
6 Tray -> Advanced: Browse profile, retry example.com Allow (legacy blocklist)
7 Tray -> Open activity... Native list of denials; audit.jsonl has policy_profile=agent (or browse)
8 Follow HTTP redirect from allowlisted hop1 to evil hop2 Location stripped / hop2 denied
9 App using raw IP (e.g. Telegram) under Agent Hard-deny without Ask; rate-limited toast; switch to Browse to use messengers

Automated:

denyout test --suite fp_signed
denyout test --suite agent_egress
denyout test --suite redirect_policy
denyout test
go test ./internal/secrets/ ./internal/policy/ ./internal/lab/ ./internal/proxy/ ./internal/audit/ ./internal/desktop/