Authority Decision Contract v0.1

The contract an AI agent uses to ask what it is allowed to do, and the shape of the answer it gets back: ALLOW, DENY, APPROVE or ESCALATE, with the applicable frameworks and a verifiable evidence record.

Le contrat de décision est ouvert. Implémentez-le, critiquez-le, étendez-le.

Published under the MIT license. The licence covers the specification documents only — the service implementing them is not open source.

Documents

Quickstart

No API key, no account. One request:

curl -s https://structureclerk.ca/api/v1/authority/decide \
  -H "Content-Type: application/json" \
  -d '{
    "agent":   { "id": "financebot-01", "autonomy_level": 3 },
    "action":  { "type": "payment.execute", "amount": 12500,
                 "currency": "CAD", "data_categories": ["personal","health"] },
    "context": { "jurisdictions": ["QC"], "sector": "health" }
  }'

The response carries an evidence object. To check it independently, recompute the hash, verify the Ed25519 signature against the published key, then confirm its position in the ledger:

curl -s https://structureclerk.ca/api/v1/authority/verify/EVD-<uuid>

Design commitments

  • Decisions are advisory. StructureClerk decides, your infrastructure enforces. Nothing here blocks an agent.
  • Frameworks are cited at framework level — never invented article numbers.
  • An unrecognized action type escalates rather than being guessed at, and any confidence below 0.90 is routed to human review.
  • Organisation profiles may only increase human oversight, never reduce it.
  • Every decision is signed and appended to a chained log that a third party can replay.

Versioning

This is v0.1: the shape may still change. Additive fields will not break existing consumers, and any breaking change ships under a new version path. The engine reports which rule set produced a decision in rules_version.

Feedback, disagreement and competing implementations are all welcome: info@structureclerk.ca