A verifiable claim is a qualification, achievement, quality, or piece of information about an entity's background such as a name, government ID, payment provider, home address, or university degree. Such a claim describes a quality or qualities, property or properties of an entity which establish its existence and uniqueness. The use cases outlined here are provided in order to make progress toward possible future standardization and interoperability of both low- and high-stakes claims with the goals of storing, transmitting, and receiving digitally verifiable proof of attributes such as qualifications and achievements. The use cases in this document focus on concrete scenarios that the technology defined by the group should address.

This document represents a concise but limited collection of use cases readers should review alongside the Verifiable Credentials Data Model.

The work on this document was carried out under tight time constraints due to limitations of the W3C process and publishing deadlines. Under such conditions, errors are unavoidable and some of the ideas presented here are incomplete. The Working Group hopes that in the future, W3C process can be revised to better support the dynamic nature of standards work in a more consistent way across different groups.

Comments regarding this document are welcome. Please file directly on GitHub, or send them to public-vc-comments@w3.org (subscribe, archives).

Introduction

The Verifiable Claims Working Group at the W3C is developing standards for expressing and exchanging "claims" that have been verified by a third party and to make them easier and more secure on the Web.

This document does NOT attempt to define an architecture for the support of Verifiable Claims. Instead it expresses the sorts of needs that real users have that could be addressed through support for some sort of self-sovereign claim environment. It attempts to use terminology that is consistent with the other deliverables of the Verifiable Claims Working Group (you can see the relevant terms in Appendix A).

Importance of this work

Entities (people, organizations, devices) need to make many kinds of claims as part of their everyday activities. As more and more of these important activities move to the Internet, entities need to be able to transmit instantly verifiable claims (e.g., about their location, accomplishments, value, what-have-you). From educational records to payment account access, the next generation of web applications will authorize entities to perform actions based on rich sets of credentials issued by trusted parties. Human- and machine-mediated decisions about job applications, account access, collaboration, and professional development will depend on filtering and analyzing growing amounts of data. It is essential that data be verifiable.

Standardization of digital claim technologies makes it possible for many stakeholders to issue, earn, and trust these essential records about their counterparties, without being locked into proprietary platforms.

Use case model

This document presents an aggregate use case model, composed of Needs, Roles, Tasks, and Sequences. Taken together, these models define the use cases that the Verifiable Claims Working Group has addressed.

User needs define the problem space addressed by verifiable credentials. User Roles specify the roles different entities play when interacting with verifiable credentials. Tasks define the functions users can accomplish, and sequences demonstrate how tasks might be realized, by interactions between entities over time.

As with all models, this use case model is neither exhaustive nor complete. The listed uses cannot capture all possible use cases. Similarly, the models do not completely characterize the use cases represented. However, the combined model is intended to provide specific, coherent guidance for the work ahead.

User Roles

There are four roles supported by verifiable credentials: Issuer, Verifier, Subject, and Holder.

Verifiable Credential User Roles
Verifiable Credential User Roles
Issuer
The entity that creates a claim and associates it with a particular subject.
Verifier
The entity verifying a claim about a given subject.
Subject
The entity about whom a claim is issued.
Holder
A role an entity may perform by possessing one or more verifiable credentials. A holder is usually, but not always, the subject of the verifiable credentials that they are holding. Holders store their credentials in credential repositories.

User Needs

Verifiable credentials address user needs in a number of key domains:

Verifiable Credential User Needs
Verifiable Credentials, Example Domains for User Needs

Education

The education domain includes all levels of the educational experience; from primary through professional continuing education.

Retail

The retail domain encompasses all things where there is an exchange of value on an individual level. This includes brick-and-mortar store fronts, web-only venues, and even person-to-person sales.

Finance

The Finance domain includes banking, brokerage, insurance, and other industries where there is a high value placed on knowing exactly with whom you are dealing.

Healthcare

Privacy is critically important in the healthcare industry. This domain looks at everything from physical interaction to connecting patients and providers with service organizations.

Professional Credentials

In many aspects of life it is important to know that entities are who they say they are, and that they can do what they say. Professional accreditation is one way of learning about the abilities of an entity. Being able to verify these credentials is essential to their value.

Legal Identity

For many transactions, an entity must be able to prove some aspect of their identity in a way that can be quickly verified. Governments and other widely recognized entities are well positioned to provide such identification in a verifiable digital form.

Devices

Intelligence devices are created and deployed so that they can interact with other entities (people, organizations, devices). Establishing trust and maintaining secure relationships with these devices is especially critical.

User Tasks

Use cases are often used as a driver for requirements. While the users of verifiable credentials have needs across many domains, the tasks associated with those needs span the domains. This section summarizes those tasks, as well as requirements related to the tasks, and maps the tasks and requirements back to the associated needs.

It is worth noting that the subject may or may not be the same entity as the holder. There are no tasks in these examples that require participation of the subject.

Verifiable Credential User Tasks
Verifiable Credential User Tasks

Issue Claim

Requirement
It MUST be possible for any entity to issue a verifiable credential.
Motivation
Individuals and organizations need a way to issue claims about themselves or others that can be verified and trusted.
Needs
F.1, E.1, L.1, H.1

Assert Claim

Requirement
It MUST be possible for the holder of a verifiable credential to restrict the amount of information exposed in a credential they choose to share. It also MUST be possible for the holder to limit the duration for which that information is shared.
Motivations
Credentials may be issued about a subject that include multiple attributes, only some of which are required when verifying a specific criteria is satisfied. The holder should have the ability to satisfy the criteria without revealing additional attributes that are not required.
Needs
R.2, H.4

Verify Claim

Requirement
It MUST be possible for a verifier to verify that the credential is an authentic statement of an issuer's claims about the subject. The verifying entity must have the capability to connect the issuer’s identity to its credential identifier and the subject's identity to their identifier as indicated in the credential. The issuer’s verification information, such as its public key, must be discoverable from the credential record and verifiably linked to the issuer. It MUST be possible to do this in an automated fashion.
Motivations
In many environments (such as order processing) information such as a payer's address, citizenship, or age need to be automatically verified in order to complete the transaction.
Needs
F.2, C.1, E.2, R.1, F.5, H.2, C.6

Store / Move Claim

Requirement
It MUST be possible for the holder of a claim to store that claim in one or more credential repositories. It MUST also be possible for the holder to move a claim among credential repositories, and to do so without requesting a new claim from the claim issuer.
Motivation
A claim is under the control of its holder. That holder will choose where their claims are stored based upon a variety of factors (e.g., employer requirements, convenience, service levels, provider cost, business intelligence). The holder needs to be able to easily choose among various credential repositories, and also to be able to migrate their claims to another without requesting new claims from the claim issuer.
Needs
F.4, E.3, C.4

Retrieve Claim

Requirement
It MUST be possible for a holder to select if and which appropriate credential should be sent to a verifier.
Motivations
A verifier may require that a holder verify aspects of their suitability for a transaction. In this case, the holder must be able to select which, if any, verifiable credential stored with their credential repository is used to satisfy the verifier.
Needs
C.5, E.4

Revoke Claim

Requirement
It MUST be possible for the issuer of a claim to revoke it, after which it will no longer satisfy verification procedures.
Motivation
An entity (issuer) discovers that a claim they have issued and are endorsing for an end user (subject), is no longer valid and wishes to revoke the issued claim.
Needs
F.3, C.2, C.3

Focal Use Cases

Focal Use Cases are meant to provide examples where a blend of features from verifiable credentials standard may be used together to solve complex or challenging marketplace needs.

Extant Use Cases

Extant Use Cases are illustrative of market adoption, i.e., examples of the use of verifiable credentials in real-world applications.

User Sequences

The transaction examples in this section show basic ways in which verifiable credentials might be used. They are not meant to be architecturally constraining. Instead, they are meant to help illustrate the basic way it could be done in a typical commerce situation. Again — please remember that it is just an example, and should not be thought of as the canonical way such a claims environment must be implemented.

How a Verifiable Credential Might Be Created

In this first example, a user will request a verifiable credential—a confirmation of their identity. Consider this illustration:

Verifiable Credential Creation Flow Description
Verifiable Credential Creation Flow Diagram

Expanding on these steps:

  1. Jane asks her User Agent to help her get a verifiable credential about her identity.
  2. Her user agent connects her to a credential issuer that is able to verify her identity.
  3. The issuer examines her documentation.
  4. They are satisfied, so the issuer generates a verifiable credential for Jane that includes information about her identity linked to their own trusted credential.
  5. The issuer delivers the verifiable credential back to Jane's User Agent.
  6. Jane views the verifiable credential to ensure it reflects her requirements.
  7. When she is satisfied, she instructs her User Agent to save the verifiable credential so she can use it in the future.
  8. The UA communicates with her credential repository, instructing it to store the new verifiable credential.
  9. The credential repository returns a list of the verifiable credentials it is holding for Jane to the UA.
  10. The UA shows Jane her verifiable credential collection — confirming everything she has available.

How a Verifiable Credential Might Be Used

In this example, a holder of a claim needs to use that claim in a typical commerce situation:

Verifiable Credential Usage Flow Diagram
Verifiable Credential Usage Flow Diagram
  1. Jane decides to shop on the website WinesOfTheWorld.example.com (merchant).
  2. The merchant's site requires Jane be 21 years of age and requests (via a user agent-supported API call) that Jane prove this.
  3. Jane's user agent asks her credential repository for the proof.
  4. The credential repository shows Jane some verifiable credentials it holds that can support her age claim (e.g., her passport, driving license, and birth certificate).
  5. Jane selects one of these, and authorizes that it be shared with the merchant.
  6. The credential repository returns the selected credential as a response to the user agent-supported API call, which in turn delivers it to the merchant.
  7. The merchant's server verifies that the claim is valid and satisfies the requirement.
  8. The merchant redirects the user agent to the web site with appropriate authorization.

Terminology

This section is non-normative.

Example Verifiable Credentials

Acknowledgements

The editors are thankful to the contributions from the Web Payments Workshop, the Web Payments Community Group, the Web Payments Interest Group, the Credentials Community Group, the Verifiable Claims Task Force, and the Verifiable Claims Working Group.