Copyright © 2024 the Contributors to the Digital Credentials Specification, published by the Web Platform Incubator Community Group under the W3C Community Contributor License Agreement (CLA) . A human-readable summary is available.
This document specifies an API to enable user agents to mediate access to, and presentation of, digital credentials such as a driver's license, government-issued identification card, and/or other types of digital credential . The API builds on Credential Management Level 1 as a means by which to request a digital credential from a user agent or underlying platform.
This specification was published by the Web Platform Incubator Community Group . It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Contributor License Agreement (CLA) there is a limited opt-out and other conditions apply. Learn more about W3C Community and Business Groups .
This is an unofficial proposal.
GitHub Issues are preferred for discussion of this specification.
TBW
There are many types of digital credential that can be conveyed using this API. Examples of these types include:
Is a verifiable credential about a person.
The following items are within the scope of this specification:
The following items are out of scope:
WebIDLpartial dictionary CredentialRequestOptions {
DigitalCredentialRequestOptions digital;
};
The
digital
member
allows
for
options
to
configure
the
request
for
a
digital
credential
.
WebIDLdictionary DigitalCredentialRequestOptions {
sequence<IdentityRequestProvider> providers;
};
The
providers
specify
a
request
protocol
and
structured
request,
which
the
user
agent
MAY
match
against
a
identity
credential
provider
.
The
IdentityRequestProvider
dictionary
is
used
to
specify
a
request
protocol
and
structured
request,
which
the
user
agent
MAY
match
against
a
identity
credential
provider
.
WebIDLdictionary IdentityRequestProvider {
required DOMString protocol;
required DOMString request;
};
The
protocol
member
denotes
the
request
protocol
when
requesting
an
identify
credential.
The
protocol
member's
value
is
be
one
of
the
well-defined
keys
defined
in
9.
Registry
of
protocols
for
requesting
digital
credential
or
any
other
custom
one.
The
request
member
is
the
request
to
be
handled
by
the
user's
selected
identity
credential
provider
.
The
DigitalCredential
interface
represents
a
conceptual
digital
credential
.
WebIDL[Exposed=Window, SecureContext]
interface DigitalCredential : Credential {
readonly attribute DOMString protocol;
readonly attribute DOMString data;
};
The
protocol
member
is
the
request
protocol
that
was
used
to
request
the
digital
credential
.
The
data
member
is
the
credential's
encrypted
data.
The following is the registry of request protocols that are supported by this specification.
It is expected that this registry will be become a W3C registry in the future.
To be included in the registry...
We need to come up with a registry governance and inclusion criteria.
For inclusion, at a minimum, there should be implementation support, and we talked about having some privacy checks too.
User agents MUST support the following request protocols :
| Protocol identifier | Description | Specification |
|---|---|---|
| Coming soon... | ||
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words MAY and MUST in this document are to be interpreted as described in BCP 14 [ RFC2119 ] [ RFC8174 ] when, and only when, they appear in all capitals, as shown here.
Referenced in:
Referenced in:
Referenced in:
Referenced in: