❓ Clarification: Handling multiple renderMethod entries from multiple issuers
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 9
- Forks
- 8
- Avg merge
- 14d 42m
- Merged PRs (30d)
- 2
Description
❓ Clarification: Handling multiple renderMethod entries from multiple issuers
I'm reviewing the current draft and trying to understand how to implement renderMethod for credentials with multiple issuers. The specification seems to have a gap when issuers provide conflicting render instructions.
Section 2.1
The spec says in Section 2.1:
"The value of the
renderMethodproperty MUST specify one or more rendering methods..."
If I have a credential with multiple issuers, like this:
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://w3id.org/vc/render-method/v1"
],
"id": "http://example.com/credentials/123",
"type": ["VerifiableCredential", "CrossBorderTravelPass"],
"issuer": [
"did:gov:usa",
"did:gov:canada",
"did:gov:mexico"
],
"renderMethod": [
{
"type": "TemplateRenderMethod",
"renderSuite": "svg-mustache",
"template": {
"id": "https://usa.gov/templates/travel-pass.svg"
},
"renderProperty": [
"/credentialSubject/name",
"/credentialSubject/passportNumber",
"/credentialSubject/nationality"
]
},
{
"type": "TemplateRenderMethod",
"renderSuite": "svg-mustache",
"template": {
"id": "https://canada.ca/templates/travel-doc.svg"
},
"renderProperty": [
"/credentialSubject/name",
"/credentialSubject/nationality"
]
}
],
"credentialSubject": {
"id": "did:example:traveler123",
"name": "Jane Doe",
"passportNumber": "P12345678",
"nationality": "Dual Citizen"
}
}
The Implementation Dilemma
- USA's template shows
passportNumber(for verification) - Canada's template hides
passportNumber(for privacy) - Mexico has no
renderMethod - All three are equal co-issuers
Questions Needing Clarification
-
Priority
Should a wallet use the firstrenderMethodin the array? Last? All of them? -
Consensus
Do all issuers need to agree on presentation? If Mexico adds a third conflicting template later, what happens? -
Completeness
If issuers disagree on what fields to show (renderProperty), whose preference wins? -
Liability
If a wallet chooses USA's template (showing passport number) in Canada, who is responsible for the privacy violation?
What I Can't Find in the Spec
I've reviewed Sections 2.1 and 2.2, but can't find guidance on:
- How to handle multiple
renderMethodentries (priority, conflict resolution) - Whether
renderMethodshould be considered per issuer or per credential - What happens when
renderPropertyarrays conflict between issuers - Whether all issuers must sign or approve the render method
Minimal Request
Could the editors please clarify:
- Is handling multiple issuers with potentially conflicting
renderMethodentries in scope for v1.0? - If yes, what normative text should implementers follow?
- If no, should we add a note about this limitation in Security Considerations or elsewhere?
This clarification would help avoid inconsistent implementations and potential privacy/security issues.
Thank you for your guidance!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing Sections 2.1 and 2.2, which the issue identifies as relevant to renderMethod behavior. Determine whether v1.0 needs normative guidance for conflicting entries and multiple issuers, or a limitation note in Security Considerations; the work is done when the specification's expected resolution is clarified.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100