{"schema":"itseasytobe.role-verification.v1","slug":"bookkeeper","country":"gb","version":1,"last_verified_at":"2026-08-24T07:59:14.213+00:00","content_sha256":"f91fbb9de9a8759b6372b3e3452b1303376eff6e0d188ab3e19a4a1ae528c98a","signed":true,"signature":"_g4Sgm7AqHRHDLc5JAWuxkP9JHWr7iNZjd4_zagT6irGIH4hi5HxaFU78Tx5ZOonHcMuz3-3Hkx7fwrKyATyCQ","kid":"N0Ho3alTlnN4D6mUC7T4T6TCIBD1DJLo88L9Y0vOH2g","algorithm":"EdDSA (Ed25519)","jwks_url":"https://www.itseasytobe.com/.well-known/jwks.json","canonical_content_url":"https://www.itseasytobe.com/api/verify/bookkeeper?include=content","how_to_verify":["1. GET https://www.itseasytobe.com/api/verify/bookkeeper?include=content and take the \"content\" object.","2. Canonicalize it (RFC 8785: sorted keys, no whitespace, UTF-8) and check sha256(canonical) equals content_sha256.","3. Rebuild the signed core {schema:\"itseasytobe.role-verification.v1\", slug, country, version, last_verified_at, content_sha256}, canonicalize it the same way.","4. Verify the Ed25519 signature (base64url) over those bytes against the JWK with matching kid from jwks_url."],"retrieved_at":"2026-09-15T15:14:49.430Z"}