Skip to content

Mandates

Mandate Purpose

A mandate is a principal-signed authorization describing what a delegate can do, in what scope, and for how long.

Mandates prevent blank-check agent access.

Minimum Mandate Fields

FieldDescription
mandate_idUnique identifier
principal_idGranting authority
delegate_didAuthorized delegate
scopeAllowed actions/capabilities
issued_atCreation timestamp
expires_atExpiration timestamp
policyRuntime limits and enforcement hints
signaturePrincipal cryptographic signature

Scope Design

Scopes should be explicit and narrow, for example:

  • email.send
  • calendar.read
  • payments.submit (with threshold)

Avoid wildcard scopes in production environments.

Policy Extensions

Mandates may include rate, budget, and environment constraints:

{
"requests_per_minute": 120,
"max_daily_actions": 1000,
"budget_cap": "$500",
"environments": ["prod", "staging"]
}

Verification Rules

A verifier should reject requests if:

  • mandate is expired
  • principal signature is invalid
  • requested action is outside scope
  • delegate DID does not match mandate binding

Lifecycle

Mandates can be rotated, suspended, or revoked independently of passport lifecycle, depending on risk posture.