Canonicalization is the contract that lets independent readers compute the same hash for the same record.
- Trim string fields where the schema permits trimming.
- Normalize URLs and ISO timestamps before hashing.
- Sort ID-addressable arrays deterministically.
- Preserve Solana addresses verbatim.
- Canonicalize the projected content view with RFC 8785 before SHA-256 hashing.
A hash mismatch means the bytes a reader received are not the bytes an issuer attested to. The validator treats that as a trust boundary, not a cosmetic warning.