Created
September 11, 2024 20:09
-
-
Save PatStLouis/bd87a754227be481f3db95faa91f0594 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
"Verifiable credentials and verifiable presentations MUST include a @context property", | |
"Application developers MUST understand every JSON-LD context used by their application, at least to the extent that it affects the meaning of the terms used by their application", | |
"The value of the @context property MUST be an ordered set where the first item is a URL with the value https://www.w3.org/ns/credentials/v2", | |
"Subsequent items in the ordered set MUST be composed of any combination of URLs and objects, where each is processable as a JSON-LD Context.", | |
"If present, id property's value MUST be a single URL, which MAY be dereferenceable", | |
"Verifiable credentials and verifiable presentations MUST contain a type property with an associated value.", | |
"The value of the type property MUST be one or more terms and absolute URL strings", | |
"Concerning this specification, the following table lists the objects that MUST have a type specified.", | |
"If present, the value of the name property MUST be a string or a language value object as described in 11.1 Language and Base Direction", | |
"If present, the value of the description property MUST be a string or a language value object as described in 11.1 Language and Base Direction", | |
"A verifiable credential MUST have an issuer property.", | |
"The value of the issuer property MUST be either a URL or an object containing an id property whose value is a URL; in either case, the issuer selects this URL to identify itself in a globally unambiguous way", | |
"A verifiable credential MUST contain a credentialSubject property.", | |
"The value of the credentialSubject property is a set of objects where each object MUST be the subject of one or more claims, which MUST be serialized inside the credentialSubject property", | |
"If present, the value of the validFrom property MUST be a [XMLSCHEMA11-2] dateTimeStamp string value representing the date and time the credential becomes valid, which could be a date and time in the future or the past", | |
"If a validUntil value also exists, the validFrom value MUST express a point in time that is temporally the same or earlier than the point in time expressed by the validUntil value.", | |
"If present, the value of the validUntil property MUST be a [XMLSCHEMA11-2] dateTimeStamp string value representing the date and time the credential ceases to be valid, which could be a date and time in the past or the future", | |
"If a validFrom value also exists, the validUntil value MUST express a point in time that is temporally the same or later than the point in time expressed by the validFrom value.", | |
"If present, the normative guidance in Section 4.4 Identifiers MUST be followed.", | |
"The related normative guidance in Section 4.5 Types MUST be followed.", | |
"Credential status specifications MUST NOT enable tracking of individuals, such as an issuer being notified (either directly or indirectly) when a verifier is interested in a specific holder or subject", | |
"The value of the credentialSchema property MUST be one or more data schemas that provide verifiers with enough information to determine whether the provided data conforms to the provided schema(s)", | |
"Each credentialSchema MUST specify its type (for example, JsonSchema) and an id property that MUST be a URL identifying the schema file", | |
"The type property MUST be present", | |
"One value of this property MUST be VerifiablePresentation, but additional types MAY be included", | |
"The value MUST be one or more verifiable credential and/or enveloped verifiable credential objects (the values MUST NOT be non-object values such as numbers, strings, or URLs)", | |
"These objects are called verifiable credential graphs and MUST express information that is secured using a securing mechanism", | |
"If present, the value MUST be either a URL or an object containing an id property", | |
"The @context property of the object MUST be present and include a context, such as the base context for this specification, that defines at least the id, type, and EnvelopedVerifiableCredential terms as defined by the base context provided by this specification", | |
"The id value of the object MUST be a data: URL [RFC2397] that expresses a secured verifiable credential using an enveloping security scheme, such as Securing Verifiable Credentials using JOSE and COSE [VC-JOSE-COSE]", | |
"The type value of the object MUST be EnvelopedVerifiableCredential.", | |
"The @context property of the object MUST be present and include a context, such as the base context for this specification, that defines at least the id, type, and EnvelopedVerifiablePresentation terms as defined by the base context provided by this specification", | |
"The id value of the object MUST be a data: URL [RFC2397] that expresses a secured verifiable presentation using an enveloping securing mechanism, such as Securing Verifiable Credentials using JOSE and COSE [VC-JOSE-COSE]", | |
"The type value of the object MUST be EnvelopedVerifiablePresentation.", | |
"A verifiable presentation that includes a self-asserted verifiable credential, which is secured only using the same mechanism as the verifiable presentation, MUST include a holder property.", | |
"When a self-asserted verifiable credential is secured using the same mechanism as the verifiable presentation, the value of the issuer property of the verifiable credential MUST be identical to the holder property of the verifiable presentation.", | |
"New terms MUST define a new URL for each term", | |
"When doing so, the general guidelines for [LINKED-DATA] are expected to be followed, in particular: Human-readable documentation MUST be published, describing the semantics of and the constraints on the use of each term", | |
"Human-readable documentation MUST be published, describing the semantics of and the constraints on the use of each term.", | |
"Furthermore, a machine-readable description (that is, a JSON-LD Context document) MUST be published at the URL specified in the @context property for the vocabulary", | |
"This context MUST map each term to its corresponding URL, possibly accompanied by further constraints like the type of the property value", | |
"If a conforming document does not use JSON-LD Contexts that define all terms used, it MUST include the https://www.w3.org/ns/credentials/undefined-terms/v2 as the last value in the @context property.", | |
"The value of the relatedResource property MUST be one or more objects of the following form: Property Description id The identifier for the resource is REQUIRED and conforms to the format defined in Section 4.4 Identifiers", | |
"The value MUST be unique among the list of related resource objects", | |
"Each object associated with relatedResource MUST contain at least a digestSRI or a digestMultibase value.", | |
"The value MUST be unique among the list of related resource objects.", | |
"If it is, the specification MUST produce a validation error unless the resource matches the expected media type and cryptographic digest.", | |
"The value of the refreshService property MUST be one or more refresh services that provides enough information to the recipient's software such that the recipient can refresh the verifiable credential", | |
"Each refreshService value MUST specify its type", | |
"The value of the termsOfUse property MUST specify one or more terms of use policies under which the creator issued the credential or presentation", | |
"Each termsOfUse value MUST specify its type, for example, TrustFrameworkPolicy, and MAY specify its instance id", | |
"If present, the value of the evidence property MUST be either a single object or a set of one or more objects", | |
"If present, the normative guidance in Section 4.4 Identifiers MUST be followed", | |
"Specification authors that create securing mechanisms MUST NOT design them in such a way that they leak information that would enable the verifier to correlate a holder across multiple verifiable presentations to different verifiers.", | |
"Time values that are incorrectly serialized without an offset MUST be interpreted as UTC", | |
"In order to avoid collisions regarding how the following properties are used, implementations MUST specify a type property in the value associated with the reserved property", | |
"The associated vocabulary URL MUST be https://www.w3.org/2018/credentials#confidenceMethod.", | |
"The associated vocabulary URL MUST be https://www.w3.org/2018/credentials#renderMethod.", | |
"MUST identify whether the transformation to this data model is one-way-only or round-trippable.", | |
"MUST preserve the @context values when performing round-trippable transformation.", | |
"MUST result in a conforming document when transforming to the data model described by this specification.", | |
"MUST specify a registered media type for the input document.", | |
"Securing mechanism specifications MUST document normative algorithms that provide content integrity protection for conforming documents", | |
"Securing mechanism specifications MUST provide a verification algorithm that returns the information in the conforming document that has been secured, in isolation, without including any securing mechanism information, such as proof or JOSE/COSE header parameters and signatures", | |
"A verification algorithm MUST provide an interface that receives a media type (string inputMediaType) and input data (byte sequence or map inputData)", | |
"A securing mechanism specification that creates a new type of embedded proof MUST specify a property that relates the verifiable credential or verifiable presentation to a proof graph", | |
"The securing mechanism MUST define all terms used by the proof graph", | |
"The securing mechanism MUST secure all graphs in the verifiable credential or the verifiable presentation, except for any proof graphs securing the verifiable credential or the verifiable presentation itself.", | |
"JSON-LD compacted document form MUST be utilized for all representations of the data model using the application/vc or application/vp media type.", | |
"This section contains an algorithm that conforming verifier implementations MUST run when verifying a verifiable credential or a verifiable presentation", | |
"The verifyProof function MUST implement the interface described in 5.13 Securing Mechanism Specifications.", | |
"The type property MUST be present and its value MUST be a URL identifying the type of problem.", | |
"If present, its value MUST be an integer that identifies the type of the problem", | |
"The title property MUST be present and its value SHOULD provide a short but specific human-readable string for the problem.", | |
"The detail property MUST be present and its value SHOULD provide a longer human-readable string for the problem.", | |
"When the language value object is used in place of a string value, the object MUST contain a @value property whose value is a string, and SHOULD contain a @language property whose value is a string containing a well-formed Language-Tag as defined by [BCP47], and MAY contain a @direction property whose value is a base direction string defined by the @direction property in [JSON-LD11]", | |
"The language value object MUST NOT include any other keys beyond @value, @language, and @direction.", | |
"Implementations MUST treat the base context value, located at https://www.w3.org/ns/credentials/v2, as already retrieved; the following value is the hexadecimal encoded SHA2-256 digest value of the base context file: 24a18c90e9856d526111f29376e302d970b2bd10182e33959995b0207d7043b9", | |
"If such operations are performed and result in an error, the verifiable credential or verifiable presentation MUST result in a verification failure.", | |
"Implementations that depend on RDF vocabulary processing MUST ensure that the following vocabulary URLs used in the base context ultimately resolve to the following files when loading the JSON-LD serializations, which are normative" | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment