The W3C Credentials Community Group

Meeting Transcriptions and Audio Recordings (2014-today)

Go Back

W3C CCG Weekly Teleconference

Transcript for 2023-07-25

Our Robot Overlords are scribing.
Harrison_Tang: Came on you thanks for joining.
Manu Sporny: Hey Harrison how you doing.
Harrison_Tang: Great cool so let's start this week's wtcg meeting I think some of us at our at the ietf San Francisco so they couldn't make it today but I think we have corn now so today's agenda is that will talk about verifiable credentials rendering method thanks though thanks money and Dimitri for joining but before we get to the main agenda just want to quickly go over.
Harrison_Tang: some of the elements.
Harrison_Tang: We'll just a quick reminder on the code of ethics and professional conducts just want to make sure everyone is respectful to each others opinions next quick I denote anyone can participate in these calls Hardware all substantive contributions to any CG work items must be members of the ccg with for IP our agreement signed I make sure you have a w3c account and you have encounter any problems just let any of their cultures now.
Harrison_Tang: at least meeting.
Harrison_Tang: Something went wrong with the recording and we restarted right now on a second.
Our Robot Overlords are scribing.
Harrison_Tang: All right I think the recordings on now so the meetings are being recorded and it's automatically transcribed we will publish the meetings and recordings and the transcription in the day or two after this meeting we used to teach at to Q speakers doing the call so you can type in Q Plus 2i yourself to the queue or q- to remove and you can do Q question mark to see who is in the queue.
Harrison_Tang: all right.
Harrison_Tang: Actions were introductions you're new to the community where you are just recently re-engaging with the community please feel free to on you.

Topic: Introductions / Re-introductions

Ed Eykholt: Oh I thought I'd say hi this is Ed I called I haven't been on this call for quite a while been part of the VC Community generally and using did Saint the cardano blockchain in building a identity wallet for that chain.
<manu_sporny> Welcome, Ed!
Harrison_Tang: Welcome back at.
<manu_sporny> (Welcome back, that is!) :)
Harrison_Tang: Next we have announcements and reminders any announcement.
Harrison_Tang: Hey money please.
Manu Sporny: Yeah just a couple the first one is the selective disclosure cryptography sweet we sorry let me collect my thoughts we had asked for a demonstration of support from the community for the ecb's a crypto sweet we got.
<manu_sporny> Demonstration of Support for NIST-Compliant Selective Disclosure for Data Integrity Cryptosuites in VCWG:
Manu Sporny: Not really.
Manu Sporny: Out for that we have multiple Global standards organizations also supporting the ecdsa for Selective disclosure crypto Suite including gs1 Connexus which does global retail standards us one that does global supply chain standards and one edtech that does global education standards all using verifiable credentials in json-ld and that sort of thing.
Manu Sporny: So that's.
Manu Sporny: As a result of that we have put out new features in the ecdsa crypto sweet that the verifiable credentials working group is developing so those links to those kind of pull requests went out last Friday as well so that's just a heads up that that's going on there a lot of that stuff is going to help.
Manu Sporny: Help me.
Manu Sporny: As well the the BBS crypto sweet their number of selective disclosure Primitives in there that are just generally useful to a variety of selective disclosure next so that's item one the second item which is also good news is the rdf data set canonicalization working group at the w3c is at a point where their feature complete with the rdf data set canonicalization work which means that we're pretty much.
Manu Sporny: Much ready to go.
Manu Sporny: In the can.
Manu Sporny: Nation with that specification if folks remember that is a specification that this community incubated for many years before handing it over to a working group so they're going into Canada Trek which basically means feature complete done we have no major issues open on the spec so that's also good news.
Manu Sporny: Good news is that the HTTP signature specification that was incubated in this community for almost a decade probably seven years is in working group last call at ITF so this is work that Justin richer and Annabelle Bachmann have been doing they've been doing fantastic work getting the specification through the ITF process and we're.
Manu Sporny: Going forward.
Manu Sporny: No that's tough being an official ITF RFC soon we use this community uses that specification for doing things like invoking authorization capabilities and single shot access to http endpoints that use dids as the authentication mechanism and so and so forth so that's good news good news number 4 is that the multi formats working group a tight.
Manu Sporny: ETF looks like it's going to.
Manu Sporny: Community the ccg has incubated multi hash multi key multi base and both multi base and multi cash or in a charter that is going to be proposed to the internet engineering Steering group in two weeks time we are expecting it to be adopted and that will start that works official standardization Journey.
Manu Sporny: The ITF standards track so that's all super great news right I mean those are all things that were incubated in this community going to ITF going to w3c and you know getting getting their way through the the process okay that's it for updates from me here soon.
Harrison_Tang: Well thanks money a lot of great new so I'll reach out to you and then coordinate with you on getting some of these topics to our future agenda if you don't mind.
Harrison_Tang: Cool alright next we got.
Erica Connell: Hi Harrison can you hear me.
Erica Connell: Happy Tuesday I just wanted to make the announcement that rebooting the web of trust 12 will be coming up here in September will be convening in Cologne Germany from September 18th to the 22nd tickets are available on Eventbrite I'll drop the link in the chat that's it thank you.
Harrison_Tang: Great thanks a lot.
Dmitri Zagidulin: Thanks Dad to what Erika said the week before rebooting web of trust we have the w3c T back which is the yearly the most recent conference in that's going to be in Seville Spain and then the week before that is going to be the first instance of the D webcam conference in Brazil and I'll paste the link in chat so three conferences back to back.
Dmitri Zagidulin: And Brazil and Europe.
Harrison_Tang: Thank you any other announcements working binders.
Harrison_Tang: Any update on the work items.
Manu Sporny: Yes there is a request in to the chairs of the ccg to approve the confidence method specification so I think it's kind of hanging out there and we're blocked at VC W G4 the adoption of that item we have three people that have volunteered to lead that item at this point I believe it's met all of them and so we just need the chairs to take an action so that we can move.
Manu Sporny: Move that specification over 2.
Manu Sporny: The ccg so that the URLs resolved so that we can put some specification text into the VC data model spec.
Manu Sporny: You have a.
Manu Sporny: Ta I just need to tell the VC working group when that's going to be done do you have an ETA on when that approval might happen.
Harrison_Tang: I will sync up with Mike and Kimberly today or this week and then we'll get a result.
Manu Sporny: Excellent thank you.
Harrison_Tang: Updates on the work items.
Harrison_Tang: All right so let's get to the mint agenda so I think earlier in April or May we actually approve wanted to the work item verifiable credentials rendering message so the you know today just very excited to have Manu and Dimitri here to present and lead a discussion on this topic so money imagery the floor is yours.
Manu Sporny: Absolutely thank you so much to me.
Dmitri Zagidulin: Alright thank you so much so welcome everyone we can talk about a really exciting and timely because I think a lot of us VC emblem enters are hitting up against this pain point right now topic which is how do you display verifiable credentials so mono if it's okay with you I can go over the slide deck and you feel free to jump in at any point yeah.
Dmitri Zagidulin: All right.
Dmitri Zagidulin: Real quick let's let's add some context why are we even talking about this why do we need general-purpose VC display methods as you can probably guess or have already encountered some issuers like universities and governments really care about how their VC's look they really want them to be displayed consistency consistently in wallets now.
Dmitri Zagidulin: In the VC community in a decentralized and there is a sovereign sort of mindset we recognize that there's no way that the issuer's can enforce or guarantee but it would be nice if we had a mechanism where they could at least hint politely ask hey if you don't if you don't care and you can be displaying these credentials here's a template you can use and the thing is for.
Dmitri Zagidulin: That sort of helped that sort of I don't have to figure out how to lay out a diploma a student idea government credential all that stuff as an implementer I'll welcome any help I can get because displaying the verifiable credentials is one of the most common.
Dmitri Zagidulin: Actions that we do with them even more common than issuing in verifying the other reason that it's a really relevant sort of pain point right now is of course going from paper to digital and back so it a lot of use cases for example James Chartrand from McMaster University who I think is here on the call Hazard already ran into the this his Pilots with University.
Dmitri Zagidulin: The musing verifiable.
Dmitri Zagidulin: For diplomas and so on students are crossing the borders and the Border guards don't know anything about VCS they don't have any special purpose VC verifying software they at best have a phone with a camera and they can scan QR codes and so it's really important for student to be able to present their credential in a way that's possible understandable to regular people ah printed out on paper with.
Dmitri Zagidulin: A qr-code that can work.
Dmitri Zagidulin: A general person general-purpose way without specialized software.
Dmitri Zagidulin: And then of course the other reason is we want VC's to be able to be translated into different modes from visual to audio to tactile to constrained visual environments such as fed cm in the browsers.
Dmitri Zagidulin: So so what do we have like given that we need to display verifiable credentials and there are just a million different verifiable credentials there's a potential Infinity of different types what is an implementer to do so we have a couple of options Option 1 that has been popular in the pre verifiable credentials world in the open badges world is to essentially bake.
Dmitri Zagidulin: A badge.
Dmitri Zagidulin: Into a static image to PNG for example and embed that PNG in the badge itself right and so.
Dmitri Zagidulin: It's great in terms of you can get a Pixel Perfect exactly how the issuer wants this thing to be speak to be displayed but of course once you start displaying on different screens you get into the Iran to the same challenges that browsers run into with variously sized images and there's no Universal standard aside from the individual standards like open badges version 2 was doing or.
Dmitri Zagidulin: Or some of the other projects.
Dmitri Zagidulin: The other next two options is are the most common this is 2 & 3 is what 99.9% of the wallets are doing right now so any wallet that you're going to encounter they're doing either 2 or 3 so 2 is you have a lot of if then statements or more likely case statements that says if I encounter a credential and I look and it's type field and I recognize the type of their such as student ID credential.
Dmitri Zagidulin: I'm going to display this.
Dmitri Zagidulin: Specialized component that I put together that my graphic designers sat down and wrote the react or vue.js or whatever templating language you use.
Dmitri Zagidulin: Somebody at the implementer sat down and made a layout and the wallet the verifier all the other software is just switching off of the type do we know how to handle this thing yes okay let's handle it in that way.
Dmitri Zagidulin: What happens in the most common.
Dmitri Zagidulin: You don't know how to handle a special-purpose credential right we want our walls to be Universal and so chances are guaranteed that you're going to encounter a credential with a new type that you don't know how to layout and so far the only real option that we have is to Loop through all the verifiable potential properties and just list them out right think think of a on ordered ordered list of keys and values.
Dmitri Zagidulin: Of course it helps if the condenser is flat but the moment you have any kind of multiple levels of depth becomes awkward do you.
Dmitri Zagidulin: Do you laid out visually with indents do you use dot notation that sort of thing so different implementers do different stuff of course there is hope to be able to augment this notion of just listing all of the fields by guessing at the field types right that this is a string this is a date Etc by other looking at the Json schema if it's specified in a verifiable credential or sometimes looking at the context.
Dmitri Zagidulin: Be amazing the options that we really want to be able to display credentials is again if the issue itself can give us a hint could provide either a pre-baked image or better yet a template a flexible template that works on different screen sizes and so on that we could use.
Dmitri Zagidulin: We've got that going.
Dmitri Zagidulin: We can do all sorts of interesting things like we can compile directories of common templates we can have Community templates for very common verifiable credential display types and.
Dmitri Zagidulin: In combination with other ccg work item which is known issuer and verifier lists we could add to that a third thing which is no known template lists or something.
Dmitri Zagidulin: In its current Incarnation began at our W everybody web trust 11 where a number of us on this call came together to to write a paper on rendering verifiable credentials and there's a demo video of how it works in the browser because Charles little Charles laner was very kind to in the blink of an eye put together a demo based on the in progress paper.
Dmitri Zagidulin: And the paper Incorporated.
Dmitri Zagidulin: In it some of the existing credential rendering proposals such as the to diff proposals while it rendering and credential manifest.
Dmitri Zagidulin: And then we also looked at the traceability vocab again work item of this group template work right so we as much as possible we try to unify and support all these existing.
Dmitri Zagidulin: Ice packs and proposals and also just provide a general purpose method that is flexible in the future and so just recently the VC render method was adopted as a ccg work item so we're very excited about that okay so what does this look like.
Dmitri Zagidulin: Here's of our farm credential familiar to all of us this is the data model V1 but it would look exactly the same in V2 we're adding an optional field called render method and what is it it's an array of method hints so here's a very simple one it says wallet look in the render methods and one of your options is you can display this credential as an SVG.
Dmitri Zagidulin: Sure conveniently put together an SVG.
Dmitri Zagidulin: Either fully rendered or a template that you can fill out using.
Dmitri Zagidulin: Data from the verified credential and so it's just the type the location of where you fetch it from the web or better yet from your local cache.
Dmitri Zagidulin: A media type so that the wall it knows what to display when and how to actually lay it out and HTML and react in whatever it's using.
Dmitri Zagidulin: So that's the general types all of the examples your you that you're going to be seeing will have these.
Dmitri Zagidulin: These two or more Fields so they required the ID and the type so the wall knows what to do with it and then a number of optional Fields such as media type although personally I do think bigger type should be required this part of the future discussion so render method another top level field in the verifiable credential it's optional it provides hints from the issuer on how to display stuff.
Dmitri Zagidulin: Here's a.
Dmitri Zagidulin: A little more complicated method taken from the render method spec itself the current work item which is it's got the type it's got the ID where to fetch it you've got a name in case the wallets wants to present several choices to the user it's got a CSS media query so that it knows how to orient it.
Dmitri Zagidulin: And then it's got the last field at the bottom got a essentially digest hash to secure two Integrity protect the contents of the credential and we're going to get into the various options available there right so it's just a demonstrates that the render method objects themselves the hints are fairly extensible and you can get as detailed or as Bare Bones with them as you would like.
Dmitri Zagidulin: Here's another example.
Dmitri Zagidulin: Which is near and dear.
Dmitri Zagidulin: To our hearts over on the VC edu side which is of course PDFs as I mentioned it's a credibly common pain point and use case we have a digital credential we have this Json object we need to turn it into a PDF how do we do that well so one easy way to do that is again for the issuer to provide a PDF template and templating is a common operation in the PDF World Adobe writes about it and has all sorts of tools.
Dmitri Zagidulin: Tools there's.
Dmitri Zagidulin: Various programming languages on how to take a PDF use it as a template and fill it out with Fields right so again similar pattern as before you've got an ID which of where to fetch it we've got the type media type and of course the securing digest and so.
Dmitri Zagidulin: Implementing wallet and I want print button on a credential I look to see.
Dmitri Zagidulin: If I already have a hard-coded template then I look to see if there's one in the render method.
Dmitri Zagidulin: And of course if I don't encounter one we're back to guessing and what the layout should be we're back to essentially.
Dmitri Zagidulin: Hang out a flat list of all of the fields in the Json object which I think we can all agree is suboptimal experience print wise.
Dmitri Zagidulin: Okay so we mentioned the digest hash so of course the one of the most common questions we hear is so how do we trust the template provider because it's a provider has a lot of power if the wall is helpfully use the templates use the rendering hints how do we trust them well.
Dmitri Zagidulin: Four methods included in the verifiable credential itself.
Dmitri Zagidulin: You're relying on the same trust bottle as the issuer.
Dmitri Zagidulin: If you if their signature verifies and optionally the issuer is a known issue or list for you as a verifier you have no reason not to also trust this other field from the from the issue which is the render method right in the future for Community templates we could the question of trust is a little bit harder so we can reuse the exact same mechanism that we do with known verifiers in issuers and then of course we should always keep in mind that.
Dmitri Zagidulin: The displaying application so the wall at the.
Dmitri Zagidulin: Can should always feel free to override or ignore the suggested rather render method because we want the user to be in control we want the software developer to be in control also.
Dmitri Zagidulin: So yeah so we have all of the usual mechanisms for ensuring template integrity.
Dmitri Zagidulin: If you're storing the template externally your you can use quote unquote trust Registries or known issue or lists or you can use hash based linking you can use the already mentioned digest multi based or recently the verifiable credential 2.0 working group added a section to the spec called Integrity of related resources which does the same thing it's a it adds.
Dmitri Zagidulin: A section to the verifiable credential that.
Dmitri Zagidulin: Links to resources and provides a digest hash of them.
Dmitri Zagidulin: Course the common question is so what's the difference between these two methods digest multi-piece the smaller so it makes for a more compact credentials but the Integrity of related resources back is included in the base data model verify the credential data model itself so it's going to hopefully see a lot of implementation so those are the two trade-off one smaller but less known other ones more verbose and.
Dmitri Zagidulin: A more standard in that it's part of the specification.
Dmitri Zagidulin: And then of course you can always instead of using external Integrity or known lists you can just stuff the entire content the entire template into the verifiable credential itself just like using embedded images for example which is simpler allows you to reuse the credentials own signature for integrity protection but of course substantially increases the size of the credential just like.
Dmitri Zagidulin: Same trade-off.
Dmitri Zagidulin: Images in the BC you either hash linking or you're embedding in which case it's going to be huge and sometimes that's okay.
Dmitri Zagidulin: And then as I mentioned before for advanced reviews cases week just like with cascading style sheets this is the same sort of principle we can apply a cascading series of overrides where the wallet you can imagine the wallet going down this list each time it wants to figure out how to render it right is there a render method from the issuer or a brand owner.
Dmitri Zagidulin: We're not going to get into.
Dmitri Zagidulin: That here it's a.
Dmitri Zagidulin: Publisher and brand owner is a common topic of conversation and education space.
Dmitri Zagidulin: You either use the render method from the issuer or overriding it with wallet specific preferences you can use trusted directories of templates and who knows maybe we'll get into same thing same way that we have ringtone marketplaces we could have credential display Market places although that sounds nightmarish so I hope you don't get there another Advanced topic that has been brought up.
Dmitri Zagidulin: Up is.
Dmitri Zagidulin: Hey if we have this way of rendering credentials could we.
Dmitri Zagidulin: Could we use.
Dmitri Zagidulin: The same technique to.
Dmitri Zagidulin: To express a different brand identity for for the issuer so if it's an international company and it's known by this name in the u.s. region and it's known by a different legal name for in the European region you could conceivably render it as with different letterhead with different logos Etc through your render method template.
Dmitri Zagidulin: The same.
Dmitri Zagidulin: We use in internationalizing and localizing verifiable credentials so again we're running into that in our pilots in the edge of space where we have a Mexican University that wants to issued multilingual credentials in Spanish and English and as always the there's the option of do they just.
Dmitri Zagidulin: Issue two copies of the same credential one in English and then the exact same potential in Spanish that is a valid option and then the you hand both to the user and have the user be able to present in whatever appropriate case whichever one they want so that is always an option but for a lot of use cases it's really convenient for the issue or to have one credential that contains.
Dmitri Zagidulin: Galatians 4.
Dmitri Zagidulin: Multiple languages and fortunately the verifiable credential data model has that mechanism built in you can pull up the their fabric Essentials back and look at the internationalisation localization section where you can see that you can specify default languages you can specify you can override languages per individual claim all sorts of things and of course if you overdo it if you.
Dmitri Zagidulin: You offer the same potential in 20 different languages.
Dmitri Zagidulin: It increases the size and similarly if you are on top of translation are doing different render methods based on regions that can come in at or really interact with translation and just make for a really huge Reese's so it's an advanced topic but I just wanted to add it and this is just an example a mock exam.
Dmitri Zagidulin: I love that what that would look like.
Dmitri Zagidulin: This one uses the disc credential manifest rendering hint based on the disc back but adds the language and the region jurisdiction tag.
Dmitri Zagidulin: So that while I could select.
Dmitri Zagidulin: Which render method to display based on that.
Dmitri Zagidulin: Quick side note in the v-spec directory of course it since it's a item.
Dmitri Zagidulin: I'm going to say it's the ccg item but it's not it's the VC working group item well okay so for those who may not be familiar.
Dmitri Zagidulin: Aside from the main VC data model 2.0 spec the new DC working group also has this extension mechanism list of sub specifications and proposals from the community that involve verifiable credentials so there are separate specs for different proof methods there are specs for their detailed specifications for existing VC Fields like status like.
Dmitri Zagidulin: Ants and of course.
Dmitri Zagidulin: Channel their fiber credential properties such as the render method so the render method is a perfect example of an item that lives in the VC specification directory again these are just some of the examples of what lives in their side from the proof methods we've got this render method based on the paper and and further work with Community we've got this notion of composable credential using digest multi based and then we have.
Dmitri Zagidulin: The verifiable issuers and verifier.
Dmitri Zagidulin: That is also a really exciting development in the community and we're going to pause here for funds and money if you want to add anything.
Manu Sporny: Oh you did such a wonderful job to me treat I have next to nothing to add that was that was fantastic I guess one thing that I wanted to go back to that you had mentioned was kind of accessibility needs so as many of you in the education space or you know if you work with governments know their requirements to make the things you create.
Manu Sporny: Compliant with people's accessibility means so if people have sight accessibilities or hearing accessibility needs our.
Manu Sporny: Most useful you know verifiable credential that only has a visual depiction is problematic for someone that can't see and so that's where you would want something like a render method that would render to audio so that if they were to use you know an accessible device to get such a verifiable credential that it would be read out loud to them instead of them just not being able to you know interact with the system.
Manu Sporny: Bottom so there's.
Manu Sporny: A lot of Hope and promise I think in the accessibility community that the work that we're doing here in the verifiable credentials Community will one Empower you know people with accessibility needs with with digital credentials that also you know cater to the needs that they have so all that to say governments have requirements around accessibility if.
Manu Sporny: The issue.
Manu Sporny: Until they have to be able to say that they're doing it in a way that does not marginalize you know communities in render method is is one of the mechanisms that can be used to kind of achieve that but other than that Dimitri that was fantastic you hit on every major Point associated with this work thanks.
Dmitri Zagidulin: Harrison I think you're up next.
Harrison_Tang: Yeah I would imagine a lot of issuers with Brands like they want to have some kind of assurance that you know their credentials and you know basically our display in a consistent manner where a manner that they approve right so like for example I would imagine a hypothetical situations like DMVs don't want like California DMV is don't want their driver license to display in different ways by different.
Harrison_Tang: my wallet or different presenters.
Harrison_Tang: Is there a way to for the issuers to have that kind of assurance that the presenters and walnuts are displaying these you know verifiable credentials were badges in a consistent manner.
Dmitri Zagidulin: Great question great question I and it sounds like I'm on also wants to give an answer but I'll answer real quick that this is a social and legal problem and not a technical one because there's no technical way to enforce even in theory consistent display because that's essentially a form of DRM there's no way to absolutely guarantee it but there are much like with DRM there are certainly legal.
Dmitri Zagidulin: Highly encouraged on the one end and punished on the other and so then it becomes a notion of the issuer's regulate or convince software providers to.
Dmitri Zagidulin: When you encounter a credential from me and maybe we can add different types or watermarks to the render method property when you encounter this credential you better display it as such right so when when doing the negotiation of which wallet too.
Dmitri Zagidulin: Issue the credential to and requiring the various wallet data stations because we certainly don't want to issue based on.
Dmitri Zagidulin: While provider companies know we want while it's to be able to give generica at a stations so that's one mechanism that issuers could use to.
Dmitri Zagidulin: To enforce that Manu where you have a leaky to answer the question go ahead.
Manu Sporny: Yeah yeah I mean yes but +12 everything you said Dimitri there's a really interesting Dynamic that's happening here in render method is kind of that the one of the it's kind of like the tip of the iceberg right it's the easiest to kind of try and in tackled so what Dimitri was saying we are company engages with state and federal governments.
Manu Sporny: It's in.
Manu Sporny: Very concerned about their citizen credentials being displayed in a way that they do not approve of the other thing that they're concerned about is that when their credential is displayed they're concerned that the person looking at the display is not actually going to be believed it's a valid credential right so so one they're very very concerned about the brand and image of you know the state being upheld when the.
Manu Sporny: NG is displayed and they're also concerned that when the.
Manu Sporny: Blade is the person looking at it going to believe it if it's a legitimate ID right so those are I mean that is very much going into like the current thinking of you know States and governments in large organizations issuing credentials they they're you know they're their marketing and branding teams want strong control over how the thing is rendered but at the same time in this is this is kind of the thing that fights counter to it.
Manu Sporny: It they want open the ecosystems they want like open wall.
Manu Sporny: Them's and so you know the conversation like it kind of goes like this it's like you know the government says hey we want an open Wallet ecosystem and we're like great you know the VC you know ecosystem is an open can be an open Wallet ecosystem but then the next statement is but we really want to make sure that when somebody renders our credential it looks exactly like this and then we're kind of like well you and have an open Wallet ecosystem but you can't simultaneously.
Manu Sporny: Obviously also.
Manu Sporny: And then and then you know the large organizations are like oh well then we're going to vet our writers and only allow certain wallet providers to hold our credentials and at that point we were like okay well you're not quite an open Wallet ecosystem of that point right if you if you lock it down to only a few you know wallet providers now the counter did that is exactly what Dimitri said it's make it so that the wallets can provide at a station's General out of stations not like.
Manu Sporny: Like I am you know a wallet from giant big.
Manu Sporny: X and therefore you can trust you no trust me that I'm going to do the right thing with the credential so render method is like right in the middle of that there's this push and pull on open Wallet ecosystems but still being able to you know render things in a certain way that same push and pull has to do with like key management and Security in when you're allowed to like share the credential and so on so forth so this is all.
Manu Sporny: Like kind of tip of the.
Manu Sporny: That we're dealing with in the in the digital community so that's it you know it's a it's a great you know question Harrison I think we're all still trying to figure out you know what the right balance is I think many of us do not want to sacrifice and open Wallet ecosystem you know that's the primary you know we're talking about self so I'm an identity we're talking about individuals having the right to own their data once you start imposing limits on that individual about which wallets.
Manu Sporny: That they can use your now down a slippery slope to.
Manu Sporny: Big Tech providers potentially nudging people towards their solution which is not you know as open as the as the an open Wallet ecosystem that's it.
Dmitri Zagidulin: Thanks Mondo and just to add to that real quick so we're the other thing to keep in mind is that we already live in this world in a lot of aspects information look at the browser the user always can change the CSS of any website even if it's a government website even if it's a if it's Coca-Cola or some other brand that really cares about their branding I can as a user pull up their site change the color scheme.
Dmitri Zagidulin: Has the fonts to Papyrus I know.
Dmitri Zagidulin: I think I.
Dmitri Zagidulin: Yeah there's no.
Dmitri Zagidulin: There's no technological way to prevent me from doing that unless you get into horrible DRM territory but of course in real credentials this becomes a lot more relevant and so yeah that's what it stations are for.
Harrison_Tang: Thanks Phil you're next.
Phil_L_(P1): Yeah thanks to great presentation mono and and Dimitri this is kind of following on your your section of more advanced topics and I'm curious about the use cases where the display actually wants to combine information from different credentials into a common display of some sort I know that you know adobe's working on that and and there are other approaches to considering how to do that but I wonder if you given that.
<manu_sporny> "Great presentation" was definitely all Dmitri :) -- I'm just a semi-useless appendage attempting to support Dmitri here.
Phil_L_(P1): She can talk a little bit about what is what is being done out there either by Adobe or others who do you think would be relevant thanks.
Dmitri Zagidulin: Oh what a great question so I'll touch on Adobe separately Mana do you think it makes sense to provide an example from the a drip irrigation world.
Manu Sporny: Sure and if so in what way maybe you could start off Dimitri and then I could I can pull up.
Dmitri Zagidulin: Yeah yeah so so so we have an example of exactly this fill in a traffic in true age credentials where the credentials are composable that there is a there's an outer container credential that hash links to smaller different credentials that there's an overall container that links to a person's picture.
Dmitri Zagidulin: To their age category.
Dmitri Zagidulin: And so essentially if the triage system wanted a consistent way of here is how you take these three credentials and compose them together visually that's that's definitely something that they could put in a template.
Dmitri Zagidulin: Staple that template to zoo container credential and use that now like you said it's definitely a advanced usage Mana go ahead.
Manu Sporny: Yeah that's exactly right Dimitri I think Phil you know one of the one of the challenges here with like mult rendering of multi credentials is that if you're pulling the data from outside of the credential like like for example as Dimitri said if you hash linked to stuff that rendering language will be more complex right I mean it it will need to understand how to pull in all these.
Manu Sporny: He's different credentials and.
Manu Sporny: I'm kind of form it is it is absolutely doable like that is that it's a doable thing but it is technically complicated so if you were to look at something that for too kind of as to provide it easier example to implement if you were looking for something that had a had like a top-level credential subject and then a whole bunch of other credentials embedded in that credential where all of the data was local you know it was signed you know hash like but it was all.
Manu Sporny: Local that type of rendering is much easier to accomplish.
Manu Sporny: I think we're very much early days when it comes to like rendering of complex compound credentials in you know there's there's quite a bit of work that that needs to be done there I think probably the first set of like quick wins is going to be in the some of the simpler use cases so foreign to give you an example Dmitry was talking about you know the true age program the true age program utilizes a compound credential so it's.
Manu Sporny: Got this outermost.
Manu Sporny: For that's got you know an individual's picture but that individuals picture it never it never leaves their wallet the true age program never sees like the the you know the photo of the person the only thing the true age program you know gets is like a driver's license number which is then immediately tokenized in like ee encrypted and locked away and what you're left with is are these random numbers the the tokens the true age tokens which are.
Manu Sporny: Rendered as cue.
Manu Sporny: Right so the oh that the individual has you know in their digital wallet is this compound can credential that contains a bunch of different things that can be a bunch of different random numbers 90 B random numbers that can be rendered as a QR code which is a verifiable credential so one of the one of the big challenges with version 1 of true age that's that's out there today is that we told the wallets that they have to render the QR code like.
Manu Sporny: They have to take the binary and converting.
Manu Sporny: You see bore LD and then as a QR code and that was before render method existed you know today if we had to do it again we would have just used render method and say hey here's a peers of PNG that you need to show on the screen so when they go to display it the wallet doesn't have to have all this complicated logic about you know how to how to transform to see more LD and how to take that to a QR code instead just say oh I've got a render method here I'm just going to render this as an image.
Manu Sporny: Each right so that's an example of like the way we used to kind of address this problem.
Manu Sporny: And if render method you know gets traction and and you know people start using it we would have a much simpler way to try and address the problem but going back to your compound credential problem I think that's still a hard problem like we're very early days and trying to figure out how that could work.
Phil_L_(P1): Dimitri do you want to expand on what is going on elsewhere there.
Dmitri Zagidulin: Oh yeah so I think the only other thing that I would add to that is this notion of compound credentials is so it's it's deployed into age and it's an item of great interest in the education space because we have these CLR V2 we have this comprehensive learner record which is a kitchen sink for laundry list of all your achievements as a student in one big compound there.
Dmitri Zagidulin: Bible credentials it doesn't use hash links it embeds all the.
Dmitri Zagidulin: Rolls into one outer one and again that's a lot of the wallets are going to be wrestling with how do we display that.
Phil_L_(P1): And in the forecast for the possibilities for using something from the PDF world to accomplish some of this.
Dmitri Zagidulin: Oh okay yeah so let's say we've got we've got a few minutes let's talk about the big EF world but ma no go ahead we got the cue.
Manu Sporny: I was I was gonna say you know render method the way it's the way that it's it's contemplated right now is kind of like attached to the verifiable credential right but Dimitri also highlighted some really interesting that we could maybe decouple it from the verifiable credential like have rendering templates for presentations or have a rendering like a rendering template for a CL R V2 would.
Manu Sporny: Be simultaneously.
Manu Sporny: The easy and difficult to do because because rendering you know like if we took like an SVG thing like it's not programmatic like you know a CLR has like a bunch of different classes in it and you know if you wanted some kind of generalized rendering mechanism I don't I don't think it would be easy to do for for cl are in kind of like a generative way right but if we take a step back and look at render method as like this is.
Manu Sporny: Is a design pattern.
Manu Sporny: In maybe what we can do is just in time render templates that would take in a CL R V2 in create programmatically create an SVG that could be used to render a CL R V2 or render a presentation like let's say somebody shows up with like you know they're they're getting a job and they show up with like driver's license and utility bill to demonstrate that there are person that exists that's recognized by you know government and.
Manu Sporny: Leti companies in they show up with a couple of open badges.
Manu Sporny: Create a render template that takes all of that information and then renders it to the screen like if that is a common set of things that people provide your organization your software developers and designers might say oh we're going to create a render template for this particular type of presentation again early days who knows you know where that's going to go but it's certainly a possibility.
Dmitri Zagidulin: Harrison go go ahead you're on the queue.
Harrison_Tang: Yeah quick question on this cl cl are like is it does this compound presentation just show a bunch of credentials like as it is or it doesn't attempt to kind of merge all the different like elements you know so for example is the elements for of age like shows I mean different credentials is it trying to merge and do conflict resolutions.
Dmitri Zagidulin: Great question well so yeah nobody knows because literally that question a bunch of developers are in board rooms right now arguing about how to do that so how did there's no standard yet it's every wallet implementers is trying to figure out how to do this.
Harrison_Tang: Got it thanks.
Dmitri Zagidulin: Okay so let's say a few words about PDFs so does the general pattern verifiable credentials.
Dmitri Zagidulin: On how do you secure external binaries so we know how to secure with a Json object and having found XML objects but what about how do I secure a PDF or a PNG or I don't know word doc.
Dmitri Zagidulin: Ways to do that I can either.
Dmitri Zagidulin: Is your regular verifiable credential familiar Json object and hash linked to the binary resource that's fundamental option one and then fundamental option two is.
Dmitri Zagidulin: If the binary file has a separate metadata option I can.
Dmitri Zagidulin: I can hash link the contents of the of the PDF and put it in the separate PDF metadata.
Dmitri Zagidulin: That everybody a file has and so Adobe has a way of doing that it's called C2 PA it's something something content protection Alliance and it's a way to say here's how you hash the contents of a PDF here are the metadata fields that you can use for this so could you theoretically.
Dmitri Zagidulin: Embed a verifiable credential in the metadata of the PDF yes I don't think anybody's done that yet Adobe themselves is building in the tooling for the cgpa into PDF viewer Photoshop all these different things I don't think they're using verifiable credentials that I think they're they're using their own digital signatures.
Phil_L_(P1): They actually have a verifiable credential subsection for how to do it that way and I'll put it in the technical specs are taking the technical spec Doc in the chat.
Dmitri Zagidulin: Excellent yeah but that's a that's a slightly different problem it's not a different problem it's just a complementary way of doing it so you can either issue a standalone verifiable credential and use the render method 2 points to a PDF which is the printed version of that or you can do the opposite which is if your PDF and then embed a verifiable credential into its metadata so those are the yin and yang.
Dmitri Zagidulin: I'm dealing with PDFs and other binary objects any other quick questions I've got two minutes till the top of the hour.
Harrison_Tang: No I think we're good so thanks Dimitri thanks money for a great presentation today.
Dmitri Zagidulin: Thanks everyone cheers Harrison here's the here's the link to the slides if you want to mail it out.
Harrison_Tang: I would do that.
Dmitri Zagidulin: On the agenda or whatever okay cool.
Harrison_Tang: Great I will do that thanks then the tree and yeah I think this concludes this week's GG meaning so thanks for it thanks everyone for attending.