This document describes the Verifiable Credentials Vocabulary and Term definitions used for describing Verfiable Credentials [[VERIFIABLE-CREDENTIALS]]. This document provides the RDFS [[RDF-SCHEMA]] vocabulary definition and a description of the JSON-LD context definition for use with defining Verfiable Credentials.
Alternate versions of the vocabulary definition exist in
which also includes the
@context required for metadata descriptions.
Comments regarding this document are welcome. Please file issues directly on GitHub, or send them to email@example.com (subscribe, archives).
The Working Group seeks implementation feedback, having set the requirement of at least two implementations of each feature as the exit criteria for the Verifiable Credentials Data Model 1.0 Candidate Recommendation phase. The group aims to obtain reports from two producers and two consumers for each feature if possible. For details, see the test suite and sample implementation report.
This document describes the RDFS vocabulary description used for Verifiable Credentials [[VERIFIABLE-CREDENTIALS]] along with the default JSON-LD Context.
This specification makes use of the following namespaces:
The following are class definitions in the
A type of validator that can be used to syntactically validate JSON documents using the JSON Schema language.
A type of refresh service that must be interacted with in a manual fashion.
A refresh service is a mechanism that can be utilized by software agents to retrieve an updated copy of a `verifiable credential`.
A `credential` is a set of one or more claims made by an issuer. A `verifiable credential` is a tamper-evident credential that has authorship that can be cryptographically verified. Verifiable credentials can be used to build `verifiable presentations`, which can also be cryptographically verified. The claims in a credential can be about different subjects.
A `presentation` is data derived from one or more `credentials`, issued by one or more `issuers`, that is shared with a specific `verifier`. A `verifiable presentation` is a tamper-evident `presentation` encoded in such a way that authorship of the data can be trusted after a process of cryptographic verification. Certain types of verifiable presentations might contain data that is synthesized from, but do not contain, the original verifiable credentials (for example, zero-knowledge proofs).
The following are property definitions in the
The value of the credentialSchema property MUST be one or more data schemas that provide verifiers with enough information to determine if the provided data conforms to the provided schema.
The value of the credentialStatus property MUST include the id property, which MUST be a URL, and the type property, which expresses the credential status type (also referred to as the credential status scheme), which MUST provide enough information to determine the current status of the credential (for example, suspended or revoked).
An entity about which claims are made.
The value of the evidence property MUST be one or more evidence schemes providing enough information to a verifier to determine whether the evidence gathered meets their requirements for issuing a credential. The precise content of each evidence scheme is determined by the specific evidence type definition.
The value of the expirationDate property MUST be a string value of an ISO8601 combined date and time string representing the date and time the credential ceases to be valid.
The value of the issuanceDate property MUST be a string value of an ISO8601 combined date and time string representing the date and time the credential was issued. Note that this date represents the earliest date when the information associated with the credentialSubject property became valid.
The value of the issuer property MUST be a URI. It is RECOMMENDED that dereferencing the URI results in a document containing machine-readable information about the issuer that can be used to verify the information expressed in the credential.
The value of the refreshService property MUST be one or more refresh services that provides enough information to the holder's software such that the holder can refresh the credential.
The value of the serviceEndpoint property MUST be a URL to the service endpoint associated with the subject.
The value of the verifiableCredential property MUST describe a VerifiableCredential.