{"schema":"itseasytobe.role-verification.v1","slug":"data-analyst","country":"gb","version":2,"last_verified_at":"2026-08-19T07:44:35.846+00:00","content_sha256":"f70c9afbb4792ace3e9cf64ddc6f66a4f62a33c40007bdbe904aa2bda0a7bc43","signed":true,"signature":"kGUZSz1_sV1KfVO9IMCl6Oc9naj4bcJTFeAkP-8dZZEUGEPnUwoxt3CQRzRb8THdzg7TT94b3x4sWz8p2WHRDA","kid":"N0Ho3alTlnN4D6mUC7T4T6TCIBD1DJLo88L9Y0vOH2g","algorithm":"EdDSA (Ed25519)","jwks_url":"https://www.itseasytobe.com/.well-known/jwks.json","canonical_content_url":"https://www.itseasytobe.com/api/verify/data-analyst?include=content","how_to_verify":["1. GET https://www.itseasytobe.com/api/verify/data-analyst?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:31.387Z"}