Modeling Educational Verifiable Credentials

Draft Community Group Report,

More details about this document
This version:
https://w3c-ccg.github.io/vc-ed-models/
Issue Tracking:
GitHub
Editors:
Kerri Lemoie (MIT Digital Credential Consortium)
Kim Hamilton Duffy (Centre)
Dmitri Zagidulin (MIT Digital Credential Consortium)
Jacksón Smith (Learning Economy Foundation)

Abstract

Draft recommendations for use of Verifiable Credentials in Educational Use Cases

Status of this document

1. Introduction

1.1. Goals

1.2. Problem Statement & Brief History

Many Verifiable Credentials pilots in the education space are having to invent their own schemas, despite the wealth of previous art in the educational data standards communities. That is for multiple reasons:

Open Badges made it possible for an achievement to be recognized in a data format that could be shared and verified online or digitally signed by issuers. Over time, a desire to describe these achievements with more human and machine meaning increased. Over the same period of time, web standards at the W3C, Verifiable Credentials (VCs) and Decentralized Identifiers (DIDs), established models for online claims, like digital credentials in education, to be cryptographically authenticated while giving holders of the credentials more persistent access to their credentials and more privacy options.

This created a need for 1) standards like Open Badges to align with the W3C standards so that these credentials could operate like other verifiable claims on the web, and 2) technology vendors and technologists to understand how to create, communicate, and interpret achievement claims to serve the needs of all of the parties involved.

The [LER-WRAPPER] effort bootstrapped the alignment of existing educational data standards via the LER/VC wrapper. This enabled technology providers to build interoperable tooling at the wrapper/envelope level, staying agnostic to the contents, while enabling discoverability of metadata. This effort attempts to extend upon those efforts, enabling interoperability/mapping via enriched linked data.

This effort attempts to bridge the VC ecosystem to the robust work already done in the educational data standards space, to enable reuse of the great work done by experts in the space. Our main goal is discoverability of educational data standards frameworks, and informing implementors of how to use these in VCs.

Our work will help inform VC-EDU pilots, but will be forwarded as recommendations to relevant educational data standards bodies, representatives of which are active in this group. Educational data standards bodies rely on validation through real world use, which the umbrella of the W3C-CCG can provide.

1.3. Requirements & Scope

1.3.1. Requirements

1.3.2. Out of Scope

2. Data Model

2.1. Contexts

Contexts used in the same sense as in [VC-DATA-MODEL]: “where the value of the @context property MUST be an ordered set where the first item is a URI with the value https://www.w3.org/2018/credentials/v1”. For the VC-EDU model, the second URI should be https://w3c-ccg.github.io/vc-ed-models/context.json. It is required that JSON-ld be used for education credential to accommodate potential multiple contexts.

2.2. ID

ID is used in the same sense as in [VC-DATA-MODEL]. It MAY be used to represent a unique identifier for the VC. If included, it MUST be a URI and if it is a URL, it should be dereferencable containing machine-readable information about the id, not the VC itself in consideration of privacy concerns.

2.3. Type

Types are used in the same sense as in [VC-DATA-MODEL]. Types map to the @contexts and for the VC-EDU model include both “VerifiableCredential” and “VerifiableEducationCredential”. Other education models, such as Open Badges, specify the types to be used.

2.4. Issuer

2.5. Issuer

Issuer is used in the same sense as in [VC-DATA-MODEL] with no additional semantics; the issuer is simply an entity that makes a claim about the subject. The issuer doesn’t necessarily have relationship to learning experience that led to the credential

Issuer structure basic requirements are specified in [VC-DATA-MODEL]: "The value of the issuer property MUST be either a URI or an object containing an id property." The only required property from [VC-DATA-MODEL] is [id]. This document provides the following additional guidelines for implementers.

2.5.1. Joint Issuers

[VC-DATA-MODEL] syntax currently allows for one issuer, which is overly restrictive for some use cases. Two options are possible for implementers:

2.6. Issuance Date

IssuanceDate is used in the same sense as in [VC-DATA-MODEL].

2.7. Credential Subject

CredentialSubject is used in the same sense as in [VC-DATA-MODEL]: is “defined as a set of objects that contain one or more properties that are each related to a subject of the verifiable credential.” This document provides the following guidelines for implementers:

In the object of the [credentialSubject]:

2.8. Proof

Proof should follow the requirements and recommendations made by the [VC-DATA-MODEL].

2.9. Expiration

ExpirationDate is used in the same sense as in [VC-DATA-MODEL].

2.10. Evidence

Evidence is used in the same sense as in [VC-DATA-MODEL]. For Open Badges, evidence is. This issue being discussed as part of Open Badges 3.0

2.11. Credential Status

Credential Status is used in the same sense as in [VC-DATA-MODEL].

3. Examples

3.1. Basic Verifiable Education Credential

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://w3c-ccg.github.io/vc-ed-models/contexts/v05/context.json"
  ],
  "type": [
    "VerifiableCredential",
    "VerifiableEducationCredential"
  ],
  "issuer": {
    "id": "did:key:z6MkrHKzgsahxBLyNAbLQyB1pcWNYC9GmywiWPgkrvntAZcj",
    "name": "Education Insitution"
  },
  "issuanceDate": "2022-05-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:key:123456778rdf43ewer46d",
    "achievement": {
      "name": "Name of the achievement",
      "description": "Description of the achievement"
    }
  }
}

3.2. Base Verifiable Education Credential

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://w3c-ccg.github.io/vc-ed-models/contexts/v05/context.json"
  ],
  "type": [
    "VerifiableCredential",
    "VerifiableEducationCredential"
  ],
  "issuer": {
    "id": "did:key:z6MkrHKzgsahxBLyNAbLQyB1pcWNYC9GmywiWPgkrvntAZcj",
    "name": "Education Insitution"
  },
  "issuanceDate": "2022-05-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:key:123456778rdf43ewer46d",
    "achievement": {
      "name": "Name of the achievement",
      "description": "Description of the achievement"
    }
  }
}

3.3. Base Verifiable Education Credential with CTDL Properties

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://w3c-ccg.github.io/vc-ed-models/contexts/v05/context.json",
    "http://credreg.net/ctdl/schema/context/json"
  ],
  "type": [
    "VerifiableCredential",
    "VerifiableEducationCredential"
  ],
  "issuer": {
    "id": "did:key:z6MkrHKzgsahxBLyNAbLQyB1pcWNYC9GmywiWPgkrvntAZcj",
    "name": "Education Insitution"
  },
  "issuanceDate": "2022-05-01T00:00:00Z",
  "credentialSubject": {
    "id": "did:key:123456778rdf43ewer46d",
    "achievement": {
      "name": "Name of the achievement",
      "description": "Description of the achievement",
      "ceterms:LearningMethod": {"learnMethod":"Applied"}
    }
  }
}

3.4. Diploma Issued as an Open Badge

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://purl.imsglobal.org/spec/ob/v3p0/context.json"
  ],
  "id": "urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58",
  "type": [
    "VerifiableCredential",
    "OpenBadgeCredential"
  ],
  "name": "Name of this Open Badge Instance",
  "issuer": {
    "type": ["Profile"],
    "id": "did:key:z6MktiSzqF9kqwdU8VkdBKx56EYzXfpgnNPUAGznpicNiWfn",
    "name": "Issuing Institution"
  },
  "issuanceDate": "2022-11-14T00:00:00Z",
  "credentialSubject": {
    "type": ["AchievementSubject"],
    "id": "did:key:123",
    "achievement": {
      "id": "urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922",
      "type": ["Achievement"],
      "achievementType": "BachelorDegree",
      "name": "Bachelor Degree",
      "description": "This credential represents a bachelor degree",
      "criteria": {
        "type": "Criteria",
        "narrative": "Fulfill requirements set by issuing institution"
      }
    }
  }
}

4. Appendix

4.1. About CTDL/Credential Engine

4.2. About Open Badges & CLR /1EdTech

Our main goal is discoverability of educational data standards frameworks, and informing implementers of how to use these in VCs. For example, in 2021, the VC-EDU Task Force agreed to propose to 1EdTech (formerly IMS Global) to align Open Badges to the VC Data model. This resulted in a new charter for Open Badges 3.0 and Comprehensive Learner Record (CLR) 2.0.

Conformance

Document conventions

Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification.

All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119]

Examples in this specification are introduced with the words “for example” or are set apart from the normative text with class="example", like this:

This is an example of an informative example.

Informative notes begin with the word “Note” and are set apart from the normative text with class="note", like this:

Note, this is an informative note.

Conformant Algorithms

Requirements phrased in the imperative as part of algorithms (such as "strip any leading space characters" or "return false and abort these steps") are to be interpreted with the meaning of the key word ("must", "should", "may", etc) used in introducing the algorithm.

Conformance requirements phrased as algorithms or specific steps can be implemented in any manner, so long as the end result is equivalent. In particular, the algorithms defined in this specification are intended to be easy to understand and are not intended to be performant. Implementers are encouraged to optimize.

References

Normative References

[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119

Informative References

[LER-WRAPPER]
Jim Goodell. LER Wrapper Spec. TBD. URL: https://cdn.filestackcontent.com/preview/FeqEJI3S5KelmLv8XJss
[VC-DATA-MODEL]
Manu Sporny; Dave Longley; David Chadwick. Verifiable Credentials Data Model v1.1. W3C Recommendation. URL: https://www.w3.org/TR/vc-data-model