Intents
An intent is a signed JSON document expressing what a user will accept. Each intent carries:
- an
id(UUID assigned by the caller) - a
template_idreferencing the policy this intent is governed by - an
attrsobject supplying values for the fields declared in the template's intent schema - a cryptographic
signatureover the payload (passkey or operator-held key)
Once signed and submitted to the Guardrail Prover, an intent stays open until one of three terminal states is reached:
- success — a proposal satisfied the policy and a proof was generated
- failure — a proposal was evaluated and rejected, or proof generation failed
- expiry — no proposal was submitted within the intent's TTL (24 hours by default)