{"schema_version":"contentdividend.rsl-olp-conformance-matrix.v1","version":"15.58.0","rsl_specification":"RSL-SPEC-1.0","profile":"ContentDividend RSL/OLP implementation self-test matrix","summary":{"checks":19,"pass":16,"partial":1,"not_implemented":1,"not_claimed":1},"checks":[{"id":"rsl_xml_namespace","area":"RSL core","requirement":"required","status":"pass","evidence":"RSL XML uses https://rslstandard.org/rsl."},{"id":"https_license_server","area":"OLP transport","requirement":"required","status":"pass","evidence":"Public OLP server is advertised with HTTPS."},{"id":"publisher_server_opt_in","area":"RSL server attribute","requirement":"ContentDividend safety extension","status":"pass","evidence":"D11 requires explicit publisher opt-in before server= is published."},{"id":"http_basic_client_auth","area":"OLP client authentication","requirement":"required","status":"pass","evidence":"OLP endpoints authenticate registered clients using HTTP Basic."},{"id":"token_endpoint","area":"OLP acquisition","requirement":"required","status":"pass","evidence":"POST /rsl/olp/token is implemented."},{"id":"token_resource_required","area":"OLP acquisition","requirement":"required","status":"pass","evidence":"A requested resource is required for token acquisition."},{"id":"rsl_license_xml_required","area":"OLP acquisition","requirement":"required","status":"pass","evidence":"A well-formed RSL license element is required."},{"id":"client_credentials_grant","area":"OLP acquisition","requirement":"required/current-spec","status":"pass","evidence":"client_credentials remains supported; D11 also preserves the earlier rsl alias."},{"id":"license_token_type","area":"OLP token","requirement":"required","status":"pass","evidence":"Issued OLP tokens use token_type=license."},{"id":"introspection_endpoint","area":"OLP validation","requirement":"required","status":"pass","evidence":"POST /rsl/olp/introspect is implemented."},{"id":"introspection_active","area":"OLP validation","requirement":"required","status":"pass","evidence":"Introspection separates token active state."},{"id":"introspection_permitted","area":"OLP validation","requirement":"required","status":"pass","evidence":"Introspection separately reports permission for the requested resource."},{"id":"exact_resource_recheck","area":"ContentDividend authorization","requirement":"safety boundary","status":"pass","evidence":"Current publisher authorization is rechecked for the exact resource."},{"id":"resource_server_authorize","area":"Resource Server","requirement":"implementation kit","status":"pass","evidence":"Dedicated server-to-server allow/deny endpoint is implemented in D12."},{"id":"signed_verification_receipt","area":"Audit/proof","requirement":"ContentDividend extension","status":"pass","evidence":"Short-lived Ed25519 verification receipts are available when signing is configured."},{"id":"machine_credential_link","area":"Audit/proof","requirement":"ContentDividend extension","status":"pass","evidence":"OLP state can link to D8/D9 machine-verifiable license credentials."},{"id":"key_endpoint_presence","area":"OLP key retrieval","requirement":"required endpoint","status":"partial","evidence":"/key exists for capability detection but EMS key custody/delivery is intentionally disabled."},{"id":"ems_key_delivery","area":"EMS","requirement":"optional RSL extension / OLP key capability","status":"not_implemented","evidence":"ContentDividend does not currently provision or release EMS decryption keys."},{"id":"third_party_certification","area":"Certification","requirement":"external","status":"not_claimed","evidence":"No RSL Collective or other third-party certification is claimed."}],"certification":{"third_party_certified":false,"claim":"Self-profile only. No third-party RSL/OLP certification is claimed."},"rights_notice":"A protocol check marked pass does not itself grant content rights. Current ContentDividend license state and publisher authorization remain authoritative."}