Modeling Educational Verifiable Credentials

Draft Community Group Report,

This version:
https://w3c-ccg.github.io/vc-ed-models/
Issue Tracking:
GitHub
Inline In Spec
Editors:
Anthony Camilleri (Knowledge Innovation Centre)
Kim Hamilton Duffy (Massachusetts Institute of Technology)
Kerri Lemoie (OpenWorks Group)
Nate Otto (Concentric Sky)

Abstract

Draft recommendations for use of Verifiable Credentials in Educational Use Cases

Status of this document

Issue #11 - Check and update biblio

1. Introduction

1.1. Goals

1.2. Problem Statement

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:

The [LER-WRAPPER] effort has bootstrapped the alignment of existing educational data standards via the LER/VC wrapper. This enables 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 at the content level 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.

Lastly, this will attempt to address design challenges related to standards relying on the XML serialization format, which is not currently a supported serialization format in the VC data model, but is still needed for legal compliance for example in eIDAS legal signatures.

1.3. Requirements & Scope

1.3.1. Requirements

1.3.2. Out of Scope

2. Definitions

2.1. Examples of Concepts

2.2. Relation between Concepts

All of these concepts can be related to one another. The method to describe this relations still needs to be defined. All of these concepts can also have parent/child relations within the concept.

3. Data Model

3.1. 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.

3.1.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:

{
  "issuer": {
    "id": "... url to a 'joint partnership' page, or a urn id that’s a hash of the participants...",
    "type": "SomeJointDegreeCredential",  // defined by the community
    "participant": [
      {
        "name": "University of A",
        "id": "did:example:123456789"
      },
      {
        "id": "did:web:royalcollegeofb.edu",
        "name": "Royal College of B"
      }
    ]
  }
}

3.2. Aligning these Concepts with Educational Data Standards

This document seeks to provide guidance on use of the Verifiable Credential data model with the widely-used educational data standards referred to as target standards. ISSUE: The initial proposed set of standards is listed in the task force charter; this will be refined and updated with a subsequent milestone. Update in this document when done. For now, we’ll refer to this set as target standards

To restate and refine the goals of this document utilizing the concepts listed above, this document seeks to:

recommend other properties in the assertion?

3.2.1. Basis on CEDS Conceptual Model

There has already been significant effort aligning [CEDS-CONCEPTUAL] with target standards, and therefore it is convenient to use the CEDS conceptual model as our basis.

CEDS has 4 key concepts (super classes):

CEDS calls out 2 additional concepts, which are types of relationships:

3.2.2. Application to the VC data model

VC Data Model has properties issuer and credentialSubject.

In our current VC-ED use cases:

Note that these are not based on restrictions of the VC data model; they are based on a classification of the submitted VC-ED use cases.

alt*text

Side Note: The outer VC data model is: Issuer (Person/Organization) made assertion about (Event) subject (Person)

The remainder of this document will recommend:

5. Appendix

5.1. Example 1: Course/Program Certificate

5.1.1. Examples from the Wild

alt*text

alt*text

5.1.2. Extracted Fields

Field Ex 1 Values Ex 2 Values
Accomplishment Type MicroMasters Certificate Verified Certificate
Learner Name Matthew Tracker Jane Learner
Achievement Supply Chain Management My First Coursera Course
Issued Date April 2016 May 14, 2013
Certificate ID 230842h...0827 <verification link?>
??? Issuer EdX Coursera
Course Provider MITx U Penn
Other <signatories>???

5.1.3. Approaches

5.1.3.1. Approach 1: ILR/LER Wrapper with Open Badges JSON-LD serialization + PDF and linked competency definitions

EXAMPLE showing 1 record expressed in 2 different formats (JSON-LD and PDF) in the payload. Using the OpenBadges serialization for the JSON-LD and with links to a credential defined in credentialengineregistry.org and competencies from the casenetwork.imsglobal.org.

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "http://www.legreq.com/t3/learner-record/v1",
    "https://w3c-ccg.github.io/vc-ed/contexts/v1/context.json"
  ],
  "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
  "type": [
    "VerifiableCredential",
    "LearnerRecordWrapper"
  ],
  "issuerId": "did:example:ebfeb1f712ebc6f1c276e12ec22",
  "date": "2010-01-01T19:73:24Z",
  "name": "MicroMasters Certificate",
  "description": "This record authenticates that EdX MITx has conferred the MicroMasters Certificate to Matthew Tracker.",
  "learnerRecord": [
    {
      "POCid": "did:example:ebfeb1f712ebc6f1c276e12ec23",
      "payload": {
        "type": "AlumniJsonLd-3.0",
        "format": "application/ld+json",
        "data": {
          "type": "Assertion",
          "id": "https://example.org/matthew-tracker-supply-chain-management-badge.json",
          "recipient": {
            "type": "email",
            "hashed": true,
            "salt": "deadsea",
            "identity": "sha256$c7ef86405ba71b85acd8e2e95166c4b111448089f2e1599f42fe1bba46e865c5"
          },
          "evidence": "https://example.org/matthew-tracker-supply-chain-management-work.html",
          "issuedOn": "2016-12-31T23:59:59Z",
          "expires": "2017-06-30T23:59:59Z",
          "badge": "https://raw.githubusercontent.com/w3c-ccg/vc-ed/gh-pages/samples/definitions/supplyChainManagementCertificate.json"
        }
      }
    },
    {
      "POCid": "did:example:ebfeb1f712ebc6f1c276e12ec23",
      "payload": {
        "format": "application/pdf",
        "data": "H4sICMr5oF4CA2Zha2VfY2VydC5wZGYA7L0H3CxJWS6uIEgQAQmCi[...]"
      }
    }
  ]
}

5.1.4. Approach 2: Open Badge as Verifiable Credentials

Issue #10

Notes:

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://w3c-ccg.github.io/vc-ed/contexts/v1/context.json",
    "https://w3id.org/openbadges/v2"
  ],
  "id": "https://example.com/assertions/1001",
  "type": [
    "VerifiableCredential",
    "Assertion"
  ],
  "issuer": {
    "id": "did:web:edx.com"
  },
  "issuanceDate": "2020-03-10T04:24:12.164Z",
  "credentialSubject": {
    "id": "did:web:matthew's_did",
    "schema:hasCredential": {
      "id": "https://example.com/badgeclasses/123",
      "type": "BadgeClass",
      "name": "EdX MITx Supply Chain Management MicroMasters Badge",
      "image": "data:image/png;base64,...",
      "description": "Awarded on completion of EdX MITx Supply Chain Management MicroMasters program",
      "criteria": {
        "narrative": "To earn this badge, the student must complete all coursework and assessment criteria for the EdX MITx Supply Chain Management MicroMasters Program"
      },
      "issuer": "did:web:edx.com"
    }
  }
}

A second expression of similar JSON that uses only existing credentials and openbadges contexts (Not a final approach)

{
  "@context": [
	"https://www.w3.org/2018/credentials/v1",
	"https://w3id.org/openbadges/v2"
  ],
  "id": "https://example.com/assertions/1001",
  "type": [
	"VerifiableCredential",
	"Assertion"
  ],
 
  "cred:issuer": {
	"id": "did:web:edx.com"
  },
 
  "issuanceDate": "2020-03-10T04:24:12.164Z",
  "issuedOn": "2020-03-10T04:24:12.164Z",

  "recipient": {
	"type": "email",
	"identity": "alice@example.com"
  },
  "credentialSubject": {
	"id": "id:web:recipient.example.com",
	"schema:hasAchieved": {
  	"id": "https://example.com/badgeclasses/123",
  	"type": "BadgeClass",
  	"name": "Robotics Badge",
  	"image": "data:image/png;base64,...",
  	"description": "Awarded to people who have built a robot",
  	"criteria": {
    	"narrative": "Build a Robot and post a picture of it"
  	},
  	"issuer": "https://example.com/issuer"
	}
  },
  "badge": "https://example.com/badgeclasses/123",
 
  "proof": {
	"type": "PROOF-Type",
	"created": "DATE OF SIGNING",
	"proofPurpose": "assertionMethod",
	"verificationMethod": "ISSUER-SIGNING-KEY-DID-LINK",
	"jws": "SIGNATURE"
  },
  "verification": {
	"type": "hosted"
  }
}

5.2. Example 2: Diploma

Comments/Questions:

5.3. Example 3: Transcript

5.3.1. Options

Which standard would we like to start with?

Standard GEO
PESC+XML High School Adoption in US/Canada; interest abroad
PESC+XML College Transcript standard Adoption in US/Canada; interest abroad
EDI based standard governed by ANSI in fairly wide use handled by a system called SPEEDE ??
ELMO Europe

5.3.2. Implementation Options

5.4. Example 4: EDCI

Related links/examples:

Comments/Questions:

5.5. Example 5: Open Skills Assertion of ceasn:Competency

In this example, an issuer who is not necessarily the same as the definer of the competency asserts achievement of a competency or learning goal directly. This could enable direct match-up against a requirement on a job profile or learning pathway. Self-assertion of competency is also supported. There is no "BadgeClass"/"DefinedAchievement" intermediary class that must be defined in order to set out a specific learning opportunity, criteria, or authorized assessing body in order to make this claim.

Issue #5

Note:

{
  "@context":[
    "https://www.w3.org/2018/credentials/v1",
    "https://credreg.net/ctdlasn/schema/context/json",
    "https://w3c-ccg.github.io/vc-ed/contexts/v1/context.json"
  ],
  "id":"https://example.com/assertions/1001",
  "type":[
    "VerifiableCredential",
    "Assertion"
  ],
  "issuer":{
    "id":"did:web:the_issuer_did"
  },
  "issuanceDate":"2020-03-10T04:24:12.168Z",
  "credentialSubject":{
    "id":"https://example.com/profiles/bob",
    "schema:hasPerformed":{
    "id":"https://credentialengineregistry.org/resources/ce-5d4e4f72-9e96-4ab4-a1d1-d82d518d8eb4",
      "type":"ceasn:Competency",
      "competencyText":"Demonstrate critical and creative thinking."
    }
  }
}

5.6. Example 6: EMREX

EMREX is a network for exchanging assessments/results of education at any level.

The owner of the result (student or former student) gets access to trusted sources of these data (diploma registries, student information systems,...) and can share data with a third party. This third party could be an employer as part of a recruitment process, a university when applying for admission or others.

The technical set up of EMREX is described here:

[EMREX-GUIDE]

EMREX is using a XML-format called ELMO, which is based on standard data models for Learning opportunities. The basis for the data exchange is structured data representing the results the result owner wants to share, but ELMO can also hold additional documents like a signed pdf of a Diploma.

Comments/Questions:

5.7. Example 7: Using a credential definition that exists in Credential Engine

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://credreg.net/ctdlasn/schema/context/json",
    "https://w3c-ccg.github.io/vc-ed/contexts/v1/context.json"
  ],
  "id": "https://example.com/assertions/1001",
  "type": [
    "VerifiableCredential",
    "Assertion"
  ],
  "issuer": {
    "id": "did:web:the_issuer_did"
  },
  "issuanceDate": "2020-03-10T04:24:12.164Z",
  "credentialSubject": {
    "id": "https://example.com/profiles/bob",
    "schema:hasCredential": {
      "id": "https://credentialengineregistry.org/resources/ce-e7be83f4-687b-4439-a0eb-7c594086438a",
      "type": "ceterms:Credential",
      "name": "B.A. in Natural Science and Mathematics",
      "description": "The Bachelor of Arts in Natural Science and Mathematics is designed for students who are interested in the flexibility and diversity of a liberal arts degree and the opportunity to pursue a more extensive study in natural science and mathematics. This flexible degree allows you a wide range of options, including the opportunity to develop one or more minors."
    }
  }
}

5.8. Example 8: Use of EducationalOccupationalCredential (schema.org)

About this example:

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://w3c-ccg.github.io/vc-ed/contexts/v1/context.json"
  ],
  "id": "https://example.com/assertions/1001",
  "type": [
    "VerifiableCredential",
    "Assertion"
  ],
  "issuer": {
    "id": "did:web:the_issuer_did"
  },
  "issuanceDate": "2020-03-10T04:24:12.164Z",
  "credentialSubject": {
    "type": "Person",
    "id": "did:web:the_issuer_did",
    "name": "Sample Learner",
    "schema:hasCredential": {
      "id": "https://hnc-path-to-facilities-management-definition",
      "type": "EducationalOccupationalCredential",
      "name": "HNC Facilities Management",
      "description": "Higher National qualifications provide practical skills and theoretical knowledge that meet the needs of employers. The HNC in Facilities Management (SCQF level 7) develops knowledge and skills of the modern Facilities Management industry including both 'hard' and 'soft' services, and is aimed at those in supervisory and management roles or aspiring managers within the wider realm of Facilities Services."
    }
  }
}

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://tools.ietf.org/html/rfc2119

Informative References

[CEDS-CONCEPTUAL]
Jim Goodell. CEDS Conceptual Model. TBD. URL: https://github.com/CEDStandards/CEDS-IDS/blob/master/doc/CEDS-Conceptual-Model.pdf
[CREDFINDER]
alice; bob. Credential Finder. TBD. URL: https://credentialfinder.org/
[CREDREG]
alice; bob. Credential Engine Registry. TBD. URL: https://credreg.net/
[CREDREG-ILWRGUIDE]
alice; bob. Interoperable Learner Worker Record Guide. TBD. URL: https://credreg.net/quickstart/ilwrguide
[CTDLASN]
alice; bob. CTDL ASN. TBD. URL: https://credreg.net/ctdlasn/term
[EBSI]
alice; bob. EBSI. TBD. URL: https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/EBSI
[EDCI-CRED-JSONLD-SAMPLE]
alice; bob. EDCI Credential JSON-LD Sample. TBD. URL: https://ec.europa.eu/cefdigital/wiki/pages/viewpage.action?pageId=262505555
[EDCI-CRED-XML-SAMPLE]
alice; bob. EDCI Credential XML Sample. TBD. URL: https://github.com/european-commission-europass/Europass-Learning-Model/blob/master/edci*credential.xml
[EMREX-GUIDE]
alice; bob. Technical Guide to EMREX. TBD. URL: https://emrex.eu/wp-content/uploads/2020/01/Technical-Guide-to-EMREX.pdf
[EOCRED]
alice; bob. EducationalOccupationalCredential. TBD. URL: https://schema.org/EducationalOccupationalCredential
[ESCO]
alice; bob. ESCO. TBD. URL: https://op.europa.eu/en/web/eu-vocabularies/esco](https://op.europa.eu/en/web/eu-vocabularies/esco
[EUROPASS-TABLES]
alice; bob. Europass Tables. TBD. URL: https://op.europa.eu/en/web/eu-vocabularies/europasstables
[ISCED-F]
alice; bob. ISCED-F. TBD. URL: https://op.europa.eu/web/eu-vocabularies/at-dataset/-/resource/dataset/international-education-classification
[LER-WRAPPER]
Jim Goodell. LER Wrapper Spec. TBD. URL: https://cdn.filestackcontent.com/preview/FeqEJI3S5KelmLv8XJss
[LERHUB]
alice; bob. LER Hub. TBD. URL: http://lerhub.org
[OBS-ARE-VCS]
alice; bob. Open Badges are Verifiable Credentials. TBD. URL: https://github.com/WebOfTrustInfo/rwot6-santabarbara/blob/master/final-documents/open-badges-are-verifiable-credentials.pdf
[PESC-JSONLD]
alice; bob. PESC JSON-LD Task Force. TBD. URL: https://www.pesc.org/json-ld-task-force.html
[VC-DATA-MODEL]
Manu Sporny; et al. Verifiable Credentials Data Model 1.0. 19 November 2019. REC. URL: https://www.w3.org/TR/vc-data-model/

Issues Index

Issue #11 - Check and update biblio
recommend other properties in the assertion?
Issue #10
Issue #5