{"$id":"https://buyerprotection.com.au/schemas/merchant-trust/v1","$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["type","schemaVersion","merchant","verdict","credential"],"properties":{"type":{"const":"BuyerProtectionMerchantTrust"},"schemaVersion":{"type":"string"},"merchant":{"type":"object","required":["domain","displayName"],"properties":{"domain":{"type":"string"},"displayName":{"type":"string"}}},"verdict":{"type":"object","required":["status","guarantee","reason"],"properties":{"status":{"enum":["unknown","verified","guaranteed"]},"guarantee":{"enum":["not_active","active"]},"reason":{"type":"string"}}},"credential":{"type":"object","required":["credential","signature","compact","verification","publicProof"],"properties":{"credential":{"type":"object","required":["id","type","issuer","subject","evidenceHash","issuedAt","expiresAt"],"properties":{"id":{"type":"string","pattern":"^urn:buyerprotection:merchant-trust:"},"type":{"const":"BuyerProtectionMerchantTrustCredential"},"issuer":{"const":"https://buyerprotection.com.au"},"evidenceHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"issuedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"signature":{"type":"object","required":["alg","kid","value"],"properties":{"alg":{"const":"HS256"}}},"compact":{"type":"string","pattern":"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$"},"verification":{"type":"object","required":["mode","independentlyVerifiable"],"properties":{"mode":{"const":"issuer_hosted_hmac"},"independentlyVerifiable":{"const":false}}},"publicProof":{"type":"object","required":["status","verification"],"properties":{"status":{"enum":["active","not_configured"]},"compact":{"type":"string","pattern":"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$"},"verification":{"type":"object","required":["mode","independentlyVerifiable"],"properties":{"mode":{"const":"public_key_ed25519"},"independentlyVerifiable":{"type":"boolean"},"jwks":{"type":"string","format":"uri"},"revocations":{"type":"string","format":"uri"}}}}}}}}}