Trust boundaries
- Your frontend owns the signed-in end-user experience and redirects to Attesso for approval.
- Your backend is the only holder of Attesso API keys. It creates mandates, proposes actions, executes allowed actions, and reports outcomes.
- Attesso validates, hosts approval, evaluates, reserves one execution, and preserves evidence.
- Your executor performs the booking, purchase, or other action. It may be your own system or an external provider.
Lifecycle
1
Translate intent into policy
Your backend converts user intent into a structured policy. Attesso does not interpret natural language.
2
Bind approval to one exact mandate
The end user reviews the immutable bounds and approves with a passkey on Attesso’s hosted origin.
3
Evaluate deterministically
Attesso compares the action name and every constraint. A mismatch returns
DENY. Missing or unsupported evaluable data returns INDETERMINATE. Neither permits execution.4
Reserve and execute once
An
ALLOW decision atomically creates one reservation. Your backend may execute only while can_execute is true and before execute_before.5
Close the reservation
Commit when the executor accepts the action. Cancel only after any external execution capability is disabled or never became usable.
6
Verify the record
Retrieve the signed evidence bundle for the mandate, approval, proposed action, decision, and lifecycle transitions.
Attesso fails closed. Timeouts, unavailable infrastructure,
DENY, and INDETERMINATE never grant permission.