Weles/Docs

Concept

A signed answer to what exactly happened.

A receipt is the signed outcome of a workflow: schema weles.receipt.current binds task, organization, origin, action, outcome, and evidence digest to a trusted signing key, and the client verifies it offline.

Definition#

When receipt issuance is configured, a terminally successful run returns a receipt: a signed payload plus signature plus key ID. verifyReceipt checks the signature against a caller-owned map of trusted key IDs and rejects unsupported schema, unknown key, invalid signature, non-JSON payload, or a mismatch between displayed fields and signed claims.

Claims bound by verification (weles.receipt.current)
ClaimMeaning
taskIdThe action-log task the receipt closes.
organizationIdThe organization the run ran for.
originThe exact origin that was automated.
actionThe exact action that was executed.
outcomeThe terminal outcome of the run.
evidenceDigestDigest of the recorded evidence for the run.
keyIdThe trusted key ID whose public key must verify the signature.

Verification proves exactly this much#

  • One trusted key signed the exact payload, and displayed claims match it.
  • It does not check key revocation, certificate chains, receipt freshness, evidence availability, target-side truth, or legal sufficiency.
  • Trusted-key distribution, rotation, revocation, retention, and the decision to rely on the claims belong to the caller. Never accept a verification key from the receipt it is supposed to verify.

Verify offline with the CLI#

The receipt file holds a real terminal Weles service receipt JSON; the keys file is a JSON map of trusted receipt key IDs to PEM public keys. Onboarding completion requires exactly this cryptographic verification of a real workflow receipt and its bound evidence digest.

Shell
weles onboarding verify --receipt receipt.json --keys receipt-keys.json