pub fn base32_encode(bytes: &[u8]) -> StringExpand description
RFC 4648 §6 base32: uppercase, unpadded.
Only an encoder exists, and deliberately so: enrolment generates a secret, stores the raw bytes and shows the base32 for the operator to type into an app. Nothing in this server ever reads base32 back, so a decoder would be untested surface.