# Canonical semantic hashing

Aftelo r5 semantic hashes use deterministic JSON canonicalisation: object member names are lexicographically sorted recursively, arrays retain order, and JSON primitives use JSON serialization. The UTF-8 SHA-256 of canonical JSON is distinct from SHA-256 of each served artifact byte stream.
