Skip to content

Conversation

@marcoscaceres
Copy link
Collaborator

@marcoscaceres marcoscaceres commented Oct 9, 2025

Closes #???

Introduces a formal definition for "Digital Wallet", clarifying its role and relationship to the "holder" concept. These changes improve clarity, precision, and alignment with the specification's terminology. Consistently use the defined term "[=digital wallet=]" in place of previous informal references like "digital wallet" or "wallet".


Preview | Diff

@timcappalli
Copy link
Collaborator

timcappalli commented Oct 9, 2025

This should be part of the existing terminology work, and defined as a type of credential manager.

#352

https://github.com/w3c-fedid/digital-credentials/tree/tc-352-terminology

@marcoscaceres
Copy link
Collaborator Author

#352 is an issue, this addresses part of it.

See my comments there. A separate PR for “client platform” would be appreciated as part of the Model.

“Credential Manager” is (or should be) defined by the Credential Management spec, not our spec. We can then link to it.

@marcoscaceres
Copy link
Collaborator Author

marcoscaceres commented Oct 9, 2025

We need to coordinate across the three working groups to decide who owns each definition.

@msporny, hi! 👋 can you help us here? We would like define “Digital Wallet” formally in a spec and wrap “holder”.

We are happy for VC 2.0 to own the definition if it’s generic enough, but right now what’s defined in VC 2.0 doesn’t exactly match how we define a “digital wallet” (this PR).

let’s coordinate 🤗

@marcoscaceres
Copy link
Collaborator Author

marcoscaceres commented Oct 9, 2025

An alternative name to a “wallet” could be a “credential provider” (what on Apple’s platform’s is called a “Document Provider” by the Identity Document Framework).

@mohamedamir, what’s the equivalent on Android? Any idea?

Perhaps then “digital wallet” can remain a colloquial term… as apps that hold credentials also do a lot of other things (e.g., the MyGov app from the Australian government has a wallet but also lets me lodge my taxes, has an “inbox”, and access a range of government services).

Here’s a screenshot showing the different things it provides:
MyGov app

@timcappalli
Copy link
Collaborator

timcappalli commented Oct 9, 2025

Proposing we close this PR in favor of the existing issue and PR (#387).

Agenda+ to discuss closure.

@timcappalli timcappalli added the agenda+ Add to the weekly agenda label Oct 9, 2025
@marcoscaceres
Copy link
Collaborator Author

@timcappalli, as I mentioned in #387 (which was created after this PR), we should add one definition at a time. See also my comments in the relevant issue.

@mohamedamir
Copy link
Contributor

@mohamedamir, what’s the equivalent on Android? Any idea?

Credential Provider is the closest IMHO.

FWIW: the API itself is called Holder API.

@msporny
Copy link
Contributor

msporny commented Oct 10, 2025

@msporny, hi! 👋 can you help us here? We would like define “Digital Wallet” formally in a spec

Hi, yes, we have an exported term for that called a credential repository and note in the definition that a "digital wallet" is a type of credential repository. It's a somewhat awkward term that took several months of bike shedding to get to:

https://www.w3.org/TR/vc-data-model-2.0/#dfn-credential-repositories

That said, we have an active VCWG updating the v2.1 specs and are happy to update the terminology to reflect the current state of affairs based on the needs of the DC API spec. I expect we'll want to tweak that definition a bit.

With all my hats off, though, I'll warn against the usage of the term "digital wallet" as the primary term. It's fine as an imperfect synonym but might not be the term we'll want to use in 5-10 years. The reasoning being that there are other sorts of apps (and websites) that might hold digital credentials that are not considered digital wallets. For example, ride hailing apps or retailer apps do not consider themselves "digital wallets" but are likely to hold digital credentials in the future. We might want to shift to say something like "credential management application", where a "digital wallet" is a subset of that class of application and a "credential repository" is the storage portion of that application.

There is a lot of this discussion happening in the Verifiable Credential API for Lifecycle Management incubation work that's been happening for the past several years as well.

I note some disagreement in this PR, so will wait until you guys explicitly ask the VCWG to raise an issue and modify the spec. I expect once we have that decision, we can rapidly make changes to align terminology to what the DC API spec needs.

and wrap “holder”.

What do you mean by "wrap"? We have an exported term for holder here:

https://www.w3.org/TR/vc-data-model-2.0/#dfn-holders

The terminology in the VC spec probably needs some rework at this point -- define digital wallet, define digital credential, specify that mdocs, VCs, etc. are a subclass of digital credential... specify that digital wallet is a subclass of credential management application (or whatever we can find consensus on), etc.

In any case, the VCWG is ready, willing, and able to coordinate on this.

@timcappalli
Copy link
Collaborator

@msporny

We might want to shift to say something like "credential management application", where a "digital wallet" is a subset of that class of application and a "credential repository" is the storage portion of that application.

Agreed, and that's why credential manager has been used across many other documents in this space, and why credential manager is part of the Terminology PR (#387).

There is no official ask from the Fed ID WG to the VC WG at this time. The ask appears to be from an individual without working group consensus.

@marcoscaceres
Copy link
Collaborator Author

marcoscaceres commented Oct 14, 2025

@msporny wrote:

What do you mean by "wrap"? We have an exported term for holder here:

What we mean is that a "digital wallet" is a "holder", but also does other stuff (per what's defined in this PR). But that it is a holder is the critical bit.

@marcoscaceres
Copy link
Collaborator Author

marcoscaceres commented Oct 14, 2025

@timcappalli wrote:

The ask appears to be from an individual without working group consensus.

All PRs start mostly without group consensus so that we can have something to reach consensus on (I'm not aware of any group consensus to send #387 - particularly given the feedback provided in #352 (comment)).

It is common place to coordinate across groups where there's strong overlapping interests. Cross-collaboration across working groups is generally considered good practice (or at least, being good neighbors), particularly where there is strong shared interests and where we already depend on their work (as we do on the VC group).

It would be a dereliction of duty, as an Editor of this specification, to not reach out to the VC folks at this stage for their input.

@msporny
Copy link
Contributor

msporny commented Oct 14, 2025

@msporny wrote:
What we mean is that a "digital wallet" is a "holder", but also does other stuff (per what's defined in this PR). But that it is a holder is the critical bit.

Imma be pedantic only because we're talking about definitions that are probably going to stick.

Per the VCWG definitions -- "Holder" is a role that an entity plays -- that role has the responsibility of holding on to digital credentials. They do so via an application (software or hardware)... so I'd say that a "digital wallet" is a type of "credential management application" used by a "holder" for the purposes of receiving, holding, managing, and presenting digital credentials.

+1 to get the VCWG involved -- we love bikeshedding terminology like this (for better or worse).

@marcoscaceres
Copy link
Collaborator Author

Pedantic is good! And yes, we totally want longevity with these definitions.

Ok, let me put that into a cocktail mixer and see what comes out. 🍸

appreciate the help @msporny.

@marcoscaceres marcoscaceres marked this pull request as ready for review October 15, 2025 05:33
@marcoscaceres marcoscaceres requested a review from a team as a code owner October 15, 2025 05:33
@marcoscaceres
Copy link
Collaborator Author

Ok, @msporny, tried to integrate your suggestions and clarifications.

Copy link
Contributor

@msporny msporny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@marcoscaceres
Copy link
Collaborator Author

@timcappalli, I think this is ready to go. Please take a look.

@TallTed, mind also having a look?

@marcoscaceres marcoscaceres requested a review from Copilot October 17, 2025 07:23
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request standardizes terminology throughout the index.html file by replacing informal references to "digital wallet" and "wallet" with the defined term "[=digital wallet=]" and introduces a formal definition for "Digital Wallet" to improve specification clarity and precision.

  • Systematically replaced all informal "digital wallet(s)" and "wallet(s)" references with defined term notation "[=digital wallet=]" or "[=digital wallets=]"
  • Added a comprehensive definition for "Digital Wallet" including its role as a credential manager and relationship to the holder concept
  • Enhanced consistency in terminology usage across the entire specification document

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Contributor

@TallTed TallTed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few nits.

Co-authored-by: Ted Thibodeau Jr <[email protected]>
Copy link
Collaborator

@timcappalli timcappalli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding in a definition for "wallet" and "digital wallet" makes sense as that is the more consumer / end user term for a credential manager, but IMO, the spec text should use the more technical term, credential manager.

requests=], ensuring that sites cannot silently query for nor issue
digital credentials, nor communicate with wallet providers, without the
user's active participation and confirmation of each action.
digital credentials, nor communicate with [=wallet=] providers, without
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
digital credentials, nor communicate with [=wallet=] providers, without
digital credentials, nor communicate with [=credential managers=], without

Comment on lines 149 to 150
<li>Enable platform-provided credential selection UX when multiple wallet
applications have credentials that match a [=digital
Copy link
Collaborator

@timcappalli timcappalli Oct 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<li>Enable platform-provided credential selection UX when multiple wallet
applications have credentials that match a [=digital
<li>Enable platform-provided credential selection UX when multiple [=credential
managers=] have credentials that match a [=digital

credential/presentation request=].
</li>
<li>Enable platform-provided wallet selection UX when multiple wallet
<li>Enable platform-provided [=wallet=] selection UX when multiple wallet
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<li>Enable platform-provided [=wallet=] selection UX when multiple wallet
<li>Enable platform-provided [=credential manager=] selection UX when multiple wallet

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this one should be [=digital wallets=] (until we generalize this) - the use of digital implies only displaying applications that qualify as digital wallets.

and regulatory environments and may need to be collected by the
digital wallet before sharing information with the [=verifier=], or
by the [=verifier=] itself before initiating the request. With
[=digital wallet=] before sharing information with the [=verifier=],
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[=digital wallet=] before sharing information with the [=verifier=],
[=credential manager=] before sharing information with the [=verifier=],

Comment on lines +2237 to +2238
credential request to a [=digital wallet=], and which [=digital
wallet=] to select. This is due to the information disclosure that
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
credential request to a [=digital wallet=], and which [=digital
wallet=] to select. This is due to the information disclosure that
credential request to a [=credential manager=], and which [=credential
manager=] to select. This is due to the information disclosure that

The {{DigitalCredentialGetRequest}} dictionary represents a [=digital
credential/presentation request=]. It is used to specify an [=digital
credential/exchange protocol=] and some [=digital credential/request
data=], which the user agent MAY match against software used by a holder,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
data=], which the user agent MAY match against software used by a holder,
data=], which the user agent MAY match against the holder's [=credential manager=].

credential/exchange protocol=] and some [=digital credential/request
data=], which the user agent MAY match against software used by a holder,
such as a digital wallet.
such as a [=digital wallet=].
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
such as a [=digital wallet=].

digital wallet to the [=issuer=] (verifier-issuer linkability). The
former is a property that can be maintained by the [=holder=] and
[=issuer=], e.g. through issuing fresh credentials for individual
[=digital wallet=] to the [=issuer=] (verifier-issuer linkability).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[=digital wallet=] to the [=issuer=] (verifier-issuer linkability).
[=credential manager=] to the [=issuer=] (verifier-issuer linkability).

Comment on lines +1682 to +1683
the [=digital wallet=] application owns this decision. While some
[=digital wallets=] can be considered [=user agents=], it is generally
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
the [=digital wallet=] application owns this decision. While some
[=digital wallets=] can be considered [=user agents=], it is generally
the [=credential manager=] application owns this decision. While some
[=credential managers=] can be considered [=user agents=], it is generally

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My preference would be to leave this one just a "digital wallet(s)".

digital wallet application</a> before user confirmation (keeping in
mind <a href="#multiple-user-agents">considerations for integrating
multiple cooperating user agents</a>).
[=digital wallet=] application</a> before user confirmation (keeping
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[=digital wallet=] application</a> before user confirmation (keeping
[=credential manager=] application</a> before user confirmation (keeping

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one will result in invalid markup (two nested <a> elements). Also, I think this somewhat changes the sentence.

@marcoscaceres
Copy link
Collaborator Author

marcoscaceres commented Oct 28, 2025

@timcappalli, I wonder if we should do this in two parts? Your suggestions seem to broaden the scope of the privacy section to the more general "credential manager" concept, which MAY be ok - but I think we should be really careful with broadening the terminology,

@johannhof, can you check also if you concur with the changes. I'm weary of changing things in the privacy section with @timcappalli's suggestions unless you also think it's ok to use the broader credential manager definition.

Happy to discuss or we can spin up a separate PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agenda+ Add to the weekly agenda

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants