Architecture & Security
Understand ActionBox's hosted decision model, scoped credentials, durable history, and callback security.
ActionBox is a hosted, server-authoritative decision service. Your workers, agents, CI jobs, callback receiver, and reviewer clients are callers of the same API; the service validates scope and state before accepting a mutation or returning a decision.
Core security invariants
1. Source scoping
Each Source key is scoped to one Source and one environment. A Source can read and mutate only its own Actions; it cannot list, inspect, or change Actions created by another Source in the workspace.
2. Durable decision history
Every Action has a versioned state, material fingerprint, and event history available through the API. Terminal state and downstream execution outcome are separate: a resolved Action records the human authorization, while your integration reports whether the protected operation later succeeded or failed. History and payload retention follow the workspace plan.
3. Cryptographic receipt binding
Resolved Actions can include a compact Ed25519-signed receipt bound to the
Action version and fingerprint. When the receipt field is present, consumers
can verify it offline with the public key set at
/.well-known/actionbox-receipt-keys.json. Webhook delivery uses a separate
per-Source HMAC secret.
4. Replay-resistant callbacks
Callback deliveries include a Unix-seconds timestamp and an HMAC signature over the timestamp and exact raw body. Your receiver chooses a replay window, compares the signature in constant time, and deduplicates the stable event ID.
Compliance-oriented controls
Action history, Source isolation, and scoped capabilities can support a customer's control design. These controls do not by themselves represent a certification or compliance attestation; validate retention and integration requirements for your use case.