Skip to content

CLR 2.0 — certification dossier

Generated by bun run conformance:render — do not edit by hand.

Point-by-point certification submission: every conformance requirement against the literal published schema (conform-ed ADR-0013), with emergent’s implementation status, the spec citation, the modelled schema anchors, and the verifying evidence (emergent ADR-0028).

  • Denominator: pinned Coverage Map docs/conformance/maps/clr-v2.0.json (generated 2026-06-22), sha256 8a10283a194fbcfce0132387c4ae9683a1119b04e9fd8ff239b6daa6e0e203db.
  • Requirements: 14/14 done across 3 profile(s) — displayer, host, issuer.
  • Information model: 299/409 literal items modelled.
  • Evidence: each claim cites its [covers:] evidence key; run bun run conformance:prove to resolve these to the proving test names for a submission copy.
Req Level Status Statement Verified by / justification Spec source
CLR-DSP-1 MUST ✅ done A displayer MUST verify a presented ClrCredential and correctly determine its state — valid, expired or revoked — before display, and MUST allow a viewer to trigger verification and retrieve the result. clr:2.0:conf:displayer/CLR-DSP-1 CLR 2.0 Cert §4.2 (Displayer Tests) — https://www.imsglobal.org/spec/clr/v2p0/cert/#displayer
CLR-DSP-2 MUST ✅ done A displayer MUST present the record’s name, description, issuer name, issue date (validFrom), verification status, and the image when present. clr:2.0:conf:displayer/CLR-DSP-2 CLR 2.0 Cert §4.2 (Displayer — displayed data) — https://www.imsglobal.org/spec/clr/v2p0/cert/#displayer
CLR-DSP-3 MUST ✅ done A ClrCredential MUST be treated as expired when the current date-time is after its validUntil. clr:2.0:conf:displayer/CLR-DSP-3 CLR 2.0 Cert §4.1 (Verification and Status — expired) — https://www.imsglobal.org/spec/clr/v2p0/cert/#status
CLR-DSP-4 MUST ✅ done A ClrCredential MUST be treated as revoked when credentialStatus is present with type ‘1EdTechRevocationList’; credentialStatus.id MUST be the URL of the issuer’s credential status method. clr:2.0:conf:displayer/CLR-DSP-4 CLR 2.0 Cert §4.1 (Verification and Status — revoked) — https://www.imsglobal.org/spec/clr/v2p0/cert/#status
CLR-DSP-5 MUST ✅ done A displayer MUST support the Data Integrity proof cryptosuites and MUST verify credentials expressed against the W3C VC Data Model 2.0 context. clr:2.0:conf:displayer/CLR-DSP-5 CLR 2.0 Cert §4.2 (Displayer — VC 2.0 + proof) — https://www.imsglobal.org/spec/clr/v2p0/cert/#displayer
Modelled schema anchors
  • CLR-DSP-1clr:2.0:def:ClrCredential/proof, clr:2.0:def:ClrCredential/validUntil, clr:2.0:def:ClrCredential/credentialStatus
  • CLR-DSP-2clr:2.0:def:ClrCredential/name, clr:2.0:def:ClrCredential/description, clr:2.0:def:ClrCredential/issuer, clr:2.0:def:ClrCredential/validFrom, clr:2.0:def:ClrCredential/image, clr:2.0:def:ClrCredential/credentialStatus
  • CLR-DSP-3clr:2.0:def:ClrCredential/validUntil
  • CLR-DSP-4clr:2.0:def:ClrCredential/credentialStatus, clr:2.0:def:CredentialStatus/id, clr:2.0:def:CredentialStatus/type
  • CLR-DSP-5clr:2.0:def:ClrCredential/proof, clr:2.0:def:ClrCredential/@context
Req Level Status Statement Verified by / justification Spec source
CLR-HST-1 MUST ✅ done The getCredentials response MUST return ClrCredentials, each independently verifiable; VC-JWT-signed credentials MUST be carried in compactJwsString. A host MUST import and re-export a ClrCredential with no data loss. clr:2.0:conf:host/CLR-HST-1 CLR 2.0 Cert §5.1–5.3 (Host — import/export + Service Provider Read) — https://www.imsglobal.org/spec/clr/v2p0/cert/#host
CLR-HST-2 MUST ✅ done A CLR API service error/status response MUST be reported through the imsx_statusInfo structure, carrying at least an imsx_codeMajor and imsx_severity. clr:2.0:conf:host/CLR-HST-2 CLR 2.0 Cert §5 (Host — Service Provider compliance) — https://www.imsglobal.org/spec/clr/v2p0/cert/#host
Modelled schema anchors
  • CLR-HST-1clr:2.0:doc:getclrcredentialsresponse/credential/[], clr:2.0:doc:getclrcredentialsresponse/compactJwsString/[]
  • CLR-HST-2clr:2.0:doc:imsx_statusinfo/imsx_codeMajor, clr:2.0:doc:imsx_statusinfo/imsx_severity
Req Level Status Statement Verified by / justification Spec source
CLR-ISS-1 MUST ✅ done The @context MUST begin with the VC 2.0 context URI (https://www.w3.org/ns/credentials/v2) followed by the CLR 2.0 context URI. clr:2.0:conf:issuer/CLR-ISS-1 CLR 2.0 §ClrCredential — https://www.imsglobal.org/spec/clr/v2p0/#clrcredential
CLR-ISS-2 MUST ✅ done The type MUST be an unordered set containing ‘VerifiableCredential’ and ‘ClrCredential’. clr:2.0:conf:issuer/CLR-ISS-2 CLR 2.0 §ClrCredential.type — https://www.imsglobal.org/spec/clr/v2p0/#clrcredential
CLR-ISS-3 MUST ✅ done credentialSubject MUST be a ClrSubject that carries the learner’s achievements and the verifiable AchievementCredentials. clr:2.0:conf:issuer/CLR-ISS-3 CLR 2.0 §ClrSubject — https://www.imsglobal.org/spec/clr/v2p0/#clrsubject
CLR-ISS-4 MUST ✅ done The issuer MUST be a Profile identified by an IRI in the issuer.id property. clr:2.0:conf:issuer/CLR-ISS-4 CLR 2.0 §ClrCredential.issuer + §Profile — https://www.imsglobal.org/spec/clr/v2p0/#profile
CLR-ISS-5 MUST ✅ done An issued ClrCredential MUST be signed with a supported proof mechanism — a Data Integrity proof (eddsa-rdfc-2022 or ecdsa-sd-2023) or an external VC-JWT proof — and an embedded proof’s proofPurpose MUST be ‘assertionMethod’. clr:2.0:conf:issuer/CLR-ISS-5 CLR 2.0 Cert §3 (Issuer — baked, signed ClrCredential) — https://www.imsglobal.org/spec/clr/v2p0/cert/#issuer
CLR-ISS-6 MUST ✅ done The issued ClrCredential MUST contain all required fields (id, @context, issuer, validFrom, credentialSubject) and be valid: it MUST pass JSON-LD validation in safe mode. clr:2.0:conf:issuer/CLR-ISS-6 CLR 2.0 Cert §3.1 (Issuer Tests — valid baked ClrCredential) — https://www.imsglobal.org/spec/clr/v2p0/cert/#issuer
CLR-ISS-7 MUST ✅ done The ClrSubject MUST aggregate the learner’s record as a set of verifiable credentials (verifiableCredential), each itself a VerifiableCredential, alongside the achievements they evidence. clr:2.0:conf:issuer/CLR-ISS-7 CLR 2.0 §ClrSubject (verifiableCredential) — https://www.imsglobal.org/spec/clr/v2p0/#clrsubject
Modelled schema anchors
  • CLR-ISS-1clr:2.0:doc:clrcredential/@context
  • CLR-ISS-2clr:2.0:doc:clrcredential/type, clr:2.0:doc:clrcredential/type/[]
  • CLR-ISS-3clr:2.0:doc:clrcredential/credentialSubject, clr:2.0:def:ClrSubject/type/[]
  • CLR-ISS-4clr:2.0:doc:clrcredential/issuer, clr:2.0:def:ProfileRef
  • CLR-ISS-5clr:2.0:def:ClrCredential/proof, clr:2.0:def:Proof/proofPurpose
  • CLR-ISS-6clr:2.0:doc:clrcredential, clr:2.0:def:ClrCredential/id, clr:2.0:def:ClrCredential/@context, clr:2.0:def:ClrCredential/issuer, clr:2.0:def:ClrCredential/validFrom, clr:2.0:def:ClrCredential/credentialSubject
  • CLR-ISS-7clr:2.0:def:ClrSubject/verifiableCredential, clr:2.0:def:ClrSubject/achievement, clr:2.0:def:VerifiableCredential/type/[]