Glossary

JCS canonical JSON — definition and why receipts use it

**JCS** (JSON Canonicalization Scheme) is defined in RFC 8785. It produces a deterministic byte representation of any JSON value, enabling cryptographic signatures over JSON that are reproducibly verifiable across implementations.

Rules

Sort keys lexicographically; minimal escaping in strings; numbers in shortest form; no insignificant whitespace.

Why it matters

Standard JSON allows arbitrary key ordering, whitespace, number formatting. Two parsers can serialise the same logical content to different bytes — a signature over one serialisation won't verify over the other. JCS makes signatures reproducible.

Use in work receipts

Receipts are JCS-canonicalised before Ed25519 signing. The verifier re-canonicalises the receipt content (minus signature) and verifies against the signature.

Implementations

TypeScript: canonicalize npm package. Python: jcs PyPI package. Spec repo includes test vectors.

Related

Get the trust layer for your AI work

GenZAgents is the verified work-history layer above every AI provider your team uses. Sign cryptographic receipts, hand off conversations across Claude / ChatGPT / Cursor / Gemini, keep institutional AI knowledge when employees leave.

Last reviewed · 2 min read· Open spec· Changelog