ROOSTby Axowl

Docs

Approvals and policies

What an approval is

An approval is a passkey signature over the exact content of a request: for a release, the artifact hash; for a certificate, the request; for a key piece, the box that receives it. The approval travels with the signing request, and Roost refuses the request when it is missing or does not match.

axowl.com/dashboard/acme/roost/approvals
AxowlacmeRoostM

Approvals

3pending
14approved this week
1refused
RequestDetailSeals
Release 1.4.2 · code signingApprove to sign build 8421 of 2Approve with passkey
Issue certificate · api.acme.exampleCA key · 2 of 3 security officers2 of 3Approve with passkey
Share key piece with backup boxROOST-26-0003 joins the domain0 of 3Approve with passkey
Retire key version v1data-key · 0 records still on v1DoneApproved
Approvals inbox: every sensitive action waits for passkey seals.

Policy rules

Rules are evaluated in order. A rule names the keys, who is asking (a person, an application or an AI agent, with exclusions), the action, and the effect: permit, deny, audit, a limit per hour, or approval required with how many seals.

axowl.com/dashboard/acme/roost/policies
AxowlacmeRoostM

Policy rules Record only

#KeysWhoActionEffect
1release-signingci-runnersignRequire approval
2data-key-*orders-apiunwrapPermit · audit
3data-key-*agent: ledger-botunwrapPermit · limit 200/h
4ca-*anyone except Security officersanyDeny · audit
5**exportDeny
Policy rules: who may do what, with approval, limits and exclusions. Record-only mode tries a rule before enforcing it.

Record-only mode

A new rule set can run in record-only mode: nothing is refused, every decision is recorded as if it were enforced. Review the records, then switch enforcement on.

AI agents

An agent has its own identity, never an application's credentials. It receives short-lived access to the keys and actions it needs, counts and amounts are capped, and risky actions wait for a person's passkey. Each record states that the agent acted, on whose behalf, and who approved.

Refusals say why

A refused request returns the standard error for its interface and a reason: which rule refused it and what would allow it, for example "approval required: 1 of 2 seals present".