Why I Wrote an AAD Canonicalization Spec
A Python service encrypts secrets with AEAD. A Go service tries to decrypt them. Same keys, same AAD fields—authentication fails. The culprit? JSON serialization isn't deterministic. This is Part 1 of a series on AAD canonicalization: why it matters, and how to do it right.