{"credential_issuer":"https://www.firmas.io","credential_endpoint":"https://www.firmas.io/api/vouch/oidc/credential","token_endpoint":"https://www.firmas.io/api/vouch/oidc/token","authorization_endpoint":"https://www.firmas.io/api/vouch/oidc/authorize","pushed_authorization_request_endpoint":"https://www.firmas.io/api/vouch/oidc/par","notification_endpoint":"https://www.firmas.io/api/vouch/oidc/notification","require_pushed_authorization_requests":true,"authorization_servers":["https://www.firmas.io"],"jwks_uri":"https://www.firmas.io/.well-known/firmas-vouch-jwks.json","credential_configurations_supported":{"firmas_adult_v1":{"format":"vc+sd-jwt","cryptographic_binding_methods_supported":["jwk"],"credential_signing_alg_values_supported":["ES256"],"proof_types_supported":{"jwt":{"proof_signing_alg_values_supported":["ES256"]}},"vct":"https://firmas.io/credentials/age-attestation/v1","scope":"firmas:adult","claims":[{"path":["age_over_14"]},{"path":["age_over_18"]},{"path":["assurance_evidence"]}],"display":[{"name":"Firmas — Adult (18+)","locale":"en","description":"Privacy-preserving attestation that the holder is 18 years of age or older. Selective disclosure: a verifier asking only for age_over_18 does not see any other claim. Optional assurance_evidence claim exposes vouch_score, OS age signal, document count, handshake count — the verifier can underwrite against the evidence graph rather than an opaque score."}]},"firmas_adult_mdoc_v1":{"format":"mso_mdoc","cryptographic_binding_methods_supported":["cose_key"],"credential_signing_alg_values_supported":["ES256"],"proof_types_supported":{"jwt":{"proof_signing_alg_values_supported":["ES256"]}},"doctype":"eu.europa.ec.eudi.adult.1","scope":"firmas:adult","claims":{"eu.europa.ec.eudi.adult.1":{"age_over_14":{"display":[{"name":"Age over 14","locale":"en"}],"mandatory":false},"age_over_18":{"display":[{"name":"Age over 18","locale":"en"}],"mandatory":false}}},"display":[{"name":"Firmas — Adult (18+) — mDoc","locale":"en","description":"ISO 18013-5 mDoc form of the Adult attestation. Binary CBOR + COSE_Sign1, selective disclosure via SHA-256 digest map. Same evidence + lifetime as the SD-JWT VC variant; same issuer key signs both. Doctype namespace is the EUDIW age-attestation one for reference-verifier compatibility."}]},"firmas_human_mdoc_v1":{"format":"mso_mdoc","cryptographic_binding_methods_supported":["cose_key"],"credential_signing_alg_values_supported":["ES256"],"proof_types_supported":{"jwt":{"proof_signing_alg_values_supported":["ES256"]}},"doctype":"io.firmas.humanity.1","scope":"firmas:human","claims":{"io.firmas.humanity.1":{"is_human":{"display":[{"name":"Is human","locale":"en"}],"mandatory":false}}},"display":[{"name":"Firmas — Humanity — mDoc","locale":"en","description":"ISO 18013-5 mDoc form of the Humanity attestation. Single boolean `is_human` claim. firmas-private doctype (no EUDIW analogue for probabilistic peer-witnessed personhood); same issuer key + selective disclosure as the SD-JWT VC variant."}]},"firmas_residency_mdoc_v1":{"format":"mso_mdoc","cryptographic_binding_methods_supported":["cose_key"],"credential_signing_alg_values_supported":["ES256"],"proof_types_supported":{"jwt":{"proof_signing_alg_values_supported":["ES256"]}},"doctype":"io.firmas.residency.1","scope":"firmas:residency","claims":{"io.firmas.residency.1":{"resident_of":{"display":[{"name":"Resident of","locale":"en"}],"mandatory":false}}},"display":[{"name":"Firmas — Residency — mDoc","locale":"en","description":"ISO 18013-5 mDoc form of the Residency attestation. `resident_of` carries an ISO 3166-1 alpha-2 country code (with optional sub-region). 180-day validity matches the SD-JWT VC variant. firmas-private doctype — EUDIW PID is intentionally not used per credential-traits-scope."}]},"firmas_human_v1":{"format":"vc+sd-jwt","cryptographic_binding_methods_supported":["jwk"],"credential_signing_alg_values_supported":["ES256"],"proof_types_supported":{"jwt":{"proof_signing_alg_values_supported":["ES256"]}},"vct":"https://firmas.io/credentials/humanity-attestation/v1","scope":"firmas:human","claims":[{"path":["is_human"]},{"path":["assurance_evidence"]}],"display":[{"name":"Firmas — Human","locale":"en","description":"Probabilistic peer-witnessed personhood backed by an in-person cryptographic handshake graph. Not a biometric proof; not a substitute for government identity. Optional assurance_evidence claim exposes vouch_score, handshake_count, and the named anti-forgery controls active on this user's portfolio."}]},"firmas_residency_v1":{"format":"vc+sd-jwt","cryptographic_binding_methods_supported":["jwk"],"credential_signing_alg_values_supported":["ES256"],"proof_types_supported":{"jwt":{"proof_signing_alg_values_supported":["ES256"]}},"vct":"https://firmas.io/credentials/residency-attestation/v1","scope":"firmas:residency","claims":[{"path":["resident_of"]},{"path":["assurance_evidence"]}],"display":[{"name":"Firmas — Residency","locale":"en","description":"Attestation that the holder resides in a given jurisdiction (ISO 3166-1 alpha-2 plus optional sub-region). Evidence is the holder's utility-bill and contract portfolio within a 180-day freshness window. Optional assurance_evidence claim exposes vouch_score, document_count, document_age_days_p50, jurisdiction_match."}]}},"display":[{"name":"Firmas","locale":"en","description":"Privacy-preserving attribute attestation. Non-qualified EAA issuer under eIDAS 2.0 Article 45b(1)."}],"grant_types_supported":["urn:ietf:params:oauth:grant-type:pre-authorized_code","authorization_code"],"response_types_supported":["code"],"code_challenge_methods_supported":["S256"],"dpop_signing_alg_values_supported":["ES256"],"client_attestation_signing_alg_values_supported":["ES256"]}