Modeling Educational Verifiable Credentials

Draft Community Group Report,

Issue Tracking:
GitHub
Inline In Spec
Editors:
Anthony Camilleri (Knowledge Innovation Centre)
Kim Hamilton Duffy (Massachusetts Institute of Technology)
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

1.4. Concepts Requiring Definition in an Educational Context

Note: To avoid confusion with how these concepts are represented by different standards/schema, we currently use placeholders for each concept. The names in brackets represent the current draft name for the concept.

1.4.1. Relation between Concepts

All of these concepts can be related to one another. Thus Concept 3 can include the acquisition of Concept 2, as a result of completing Concept 1, while being Concept 4.

1.4.2. Approach to Definition

Each of these concepts can be defined using the following concepts:

In pseudocode, this is structured as:

credentialSubject:
  // properties specific to the learner, e.g.:
  - learner’s did 
  - name

  // property representing relationship of subject to "concept" (skill/credential/...)
  - hasConcept: 
    // properties specific to concept "definition", e.g
    - framework / identifier / uri (may be encoded in "type" and "id")
    - name
    - description

    instance: 
      // properties specific to concept "instance" e.g.:
      - dateperformed
      - grade

1.6. Example 1: Course/Program Certificate

1.6.1. Examples from the Wild

alt_text

alt_text

1.6.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>???

1.6.3. Approaches

1.6.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[...]"
      }
    }
  ]
}

1.6.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"
  }
}

1.7. Example 2: Diploma

Comments/Questions:

1.8. Example 3: Transcript

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

1.8.2. Implementation Options

1.9. Example 4: EDCI

Related links/examples:

Comments/Questions:

1.10. 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."
    }
  }
}

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

1.12. 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."
    }
  }
}

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

[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
[LER-WRAPPER-XML]
alice; bob. LER Wrapper XML Sample -- TODO. TBD. URL: hhttps://docs.google.com/document/d/1gBKx47cgxsUnTMLxqg6Poswp4-led3x51unUY42fKUU/edit#heading=h.4rbynbs3ok62
[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

Issues Index

Issue #11 - Check and update biblio
Issue #10
Issue #5