Level 2: Provable
A content hash proves exactly what the terms were and that they have not changed.
This section is advisory.
Overview
For greater trust, the legal context includes digital proof of the terms. The legal-context.json file includes a contentHash field — a SHA-256 hash of the terms document. This proves:
- What the terms were — the hash identifies the exact document
- That they have not changed — any modification breaks the hash
How It Works
{
"terms": "https://example.com/terms/v3.pdf",
"contentHash": "0x7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
}If a contentHash is provided, the terms document MUST be byte-for-byte identical every time it is served. No dynamic content insertion, no session-specific rendering, no content negotiation that changes the response. Any party that downloads the file and computes SHA-256 MUST get the same hash.
Verification
Any party can verify the terms:
- Download the document from the
termsURL - Compute SHA-256 of the downloaded file
- Compare to the
contentHashvalue
If the hashes match, the document is the exact document the vendor published. If they do not match, the document has been altered.
Optional Anchoring
The hash alone — without any anchoring — provides provability. Anyone with the document can verify it matches the hash.
Optionally, the hash may be anchored to prove when the terms were published:
- Blockchain — the hash recorded on-chain with a block timestamp
- Timestamp authority — a signed timestamp per RFC 3161
- Content-addressed storage — IPFS or Arweave, where the storage address is derived from the content
Anchoring adds temporal proof but is not required for Level 2. The hash itself is the core mechanism.
Terms Versioning
When vendors update their terms:
- The terms document at the URL changes
- The
contentHashinlegal-context.jsonis updated - Previous transactions reference the previous
contentHash
The contentHash in a transaction receipt is authoritative for that transaction. If an agent transacted with hash H1 and the vendor later updates to H2, the transaction is governed by H1 regardless. The agent's saved copy and the receipt hash identify the version that was in effect.
When Level 2 Is Appropriate
Level 2 is appropriate when it matters that the terms cannot be altered after the fact:
- B2B procurement and service agreements
- High-value purchases
- Cross-border transactions
- Any transaction where a dispute about "what the terms were" is plausible
For transactions that additionally require proof of explicit consent, see Level 3: Signed.