Skip to content
Rulebook 0.4.0 · effective Standards CD-0 · OS-1 · OS-2 · OS-3
Seal

Seal

A commitment is sealed when every money operation has confirmed. The seal is the signed summary of what happened, and it does not change afterwards.

not sealedcmt_example
Sealedno — sealing is not built
Payload fields9
Part 1
#status

Status

What this page is today, stated before anything else on it.

Not sealed

Sealing is specified in the Rulebook and reserved in the workspace as packages/records; it is not built. No commitment on this deployment is sealed, so no seal exists at this address — and the page will not draw one in wax until one does. When sealing ships, a seal that fails its own check will be shown as broken, not hidden.


The die

Wax marks a seal that exists and nothing else, so an unsealed commitment gets the die without an impression: the geometry in hairlines, the fields empty.

Seal impressionnot struck · 0 sealed commitments
RECOURSENOT SEALEDcmt_example

A struck seal is the same geometry in wax, carrying the sealed date and the unit tally in place of the empty lines. The badge a vendor will embed renders from the same payload as this page, so the badge and the seal cannot disagree.


Part 3
#payload

The payload

Everything a seal will carry, per the technical specification. A ruling is cited by reason code, the terms by their hash, and the whole payload is signed — a seal claims nothing it cannot show.

Seal payload9 fields · signed as one document
FieldFormWhat it is
commitment_idcmt_<ulid>The commitment this seal closes.
standardid · versionThe outcome standard and version the terms cited.
verified_unitscountUnits that met the standard.
disputed_unitscountUnits either party disputed.
rulings_summarylistEach ruling, with its reason code and the rule it cited.
rulebook_versionversionThe rulebook version in force when the terms were accepted.
terms_hashsha256:<hex>SHA-256 of the canonical terms both parties signed.
sealed_atISO 8601 UTCWhen the last money operation confirmed.
signatureed25519:<hex>Over the whole payload, with the key id to verify it against.

Part 4
#check

The check

A seal is a claim, and a claim here comes with the way to check it. The check needs no Recourse dependency: canonical JSON, SHA-256, and an Ed25519 verify.

1 · RecomputeCanonicalize the payload (RFC 8785) and take the SHA-256.
2 · VerifyCheck the signature over that hash against the key named by key_id.
3 · CompareThe terms behind terms_hash are the terms the parties signed. Same hash, same document.

The public keys are published at /.well-known/recourse-keys.json on the API origin. This page will run the same check on the payload it renders, and say so either way.

Seal — Recourse