{"schema":"itseasytobe.role-verification.v1","slug":"bricklayer","country":"gb","version":1,"last_verified_at":"2026-09-07T13:16:17.125+00:00","content_sha256":"25a362628a192c3b31d4df57bba269aa429da9ea20228bac8606d3753a2f47e0","signed":true,"signature":"69_MMdVE9-fbaARzlIQjHf9BNEKS-FDdf4B8CSjHnLlvNKF0HiHI7-5S1jkKGyL0oXKyl2ppqt2zzKFqt7vYCg","kid":"N0Ho3alTlnN4D6mUC7T4T6TCIBD1DJLo88L9Y0vOH2g","algorithm":"EdDSA (Ed25519)","jwks_url":"https://www.itseasytobe.com/.well-known/jwks.json","canonical_content_url":"https://www.itseasytobe.com/api/verify/bricklayer?include=content","how_to_verify":["1. GET https://www.itseasytobe.com/api/verify/bricklayer?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:30.419Z"}