INTEROPERABILITY PROFILE · V1

The same purchase produces the same digest everywhere.

MandateShield-JCS-1 applies RFC 8785 canonical JSON rules and publishes canonical bytes, UTF-8 hex and SHA-256 results for independent implementations.

DATA MODEL

Strict JSON inputs only

Strings must contain valid Unicode scalar values. Numbers must be finite. Arrays cannot be sparse. Cycles, BigInt, symbols, functions and undefined values are rejected instead of being silently changed.

CANONICALIZATION

UTF-16 member ordering and deterministic serialization

Object keys use the RFC 8785 ordering rule, array order is preserved and finite numbers follow ECMAScript JSON serialization. UTF-8 bytes of the canonical string are hashed with SHA-256.

EXECUTABLE VECTORS

Implement against public expected outputs

Download canonical JSON vectors

The zero-dependency offline receipt verifier contains the same canonicalizer for browser and server use.

Download offline receipt verifier