[MINUTES] CCG Incubation 2025-12-04

Here's a summary of the meeting:

*Meeting Summary*

The meeting focused on the "Verifiable Issuer Verifier" specification
within the CCG Incubation group. The discussion revolved around the data
model and the structure of the JSON representation. Key decisions and
action items included restructuring the spreadsheet to resemble a JSON
tree, clarifying the "recognized by" property, and aligning with existing
W3C DID core spec service sections.

*Topics Covered:*

   - *W3C TPAC Report Out:* Review of the decisions made at W3C TPAC
   regarding the incubation work. This included the adoption of specifications
   for the next rechartering proposal and prioritization of work items.
   - *Verifiable Issuer Verifier Specification:* Detailed discussion and
   restructuring of the spreadsheet to match the JSON representation. Key
   terms and properties, such as "recognized by" and "recognizer," were
   examined and refined.
   - *Data Modeling and JSON Structure:* Deep dive into the data model's
   structure, focusing on the hierarchy, and the relationships between various
   components (e.g., recognizer, list operator, service, etc.). The goal was
   to establish a clear JSON representation.
   - *Alignment with Existing Standards:* Exploration of using the W3C DID
   Core Spec service section to model the service object.

*Key Points:*

   - The incubation work was adopted for the next rechartering proposal at
   W3C TPAC.
   - The group aimed to reshape the spreadsheet to look like a JSON
   document, addressing the structure and relationships of the data model.
   - "Recognized by" terminology was clarified.
   - The list operator and issuer were defined as synonymous.
   - The meeting produced action items to address specific questions and
   align with existing standards.

Text: https://meet.w3c-ccg.org/archives/w3c-ccg-ccg-incubation-2025-12-04.md

Video:
https://meet.w3c-ccg.org/archives/w3c-ccg-ccg-incubation-2025-12-04.mp4
*CCG Incubation - 2025/12/04 10:01 EST - Transcript* *Attendees*

Benjamin Young, David C, Manu Sporny, Parth Bhatt, Phillip Long, Ted
Thibodeau Jr
*Transcript*

David C: Are you chairing the meeting? not.

Benjamin Young: Hey y'all.

David C: I wasn't sure whether there was going to be a meeting today or not.

Benjamin Young: Either I think it's who's going to show in the call that
you go over the spreadsheet of terms and that's probably what we'll review
here. I don't know that there's anything else that this group is working on
particularly links in the chat for anybody…

Manu Sporny: Yeah, I think that's a good idea. we could do a quick little
report out and then just keep going through that document. I think we're
just trying to drive towards a cohesive PR for all these things. So, yeah,
I think that sounds like a good plan for

Benjamin Young: who doesn't have it. And I'm sorry I didn't add that to
this meeting's agenda. I did last time. I think one of the dangers of
autoconfirmed meetings is in December anyway. People assume they're not
going to happen.

Manu Sporny: Yeah, I typically make it there. You can edit the event and
just add an agenda for it and it'll push out a reminder to everyone. And I
think everyone's used to getting those and that's why people might be don't
know if the meeting's happening. but regardless,…

Benjamin Young: Gotcha. Yeah.

Benjamin Young: Yeah. Yeah.

Manu Sporny: I mean, I think much, what's on the agenda today is kind of
the boring plumbing work of working through,…

Manu Sporny: bike shedding.

Benjamin Young: Not here,…

Benjamin Young: right? Yeah.

Manu Sporny: And we just have to get through it. And I don't know, I think
there's enough of us to do the boring plumbing work today, so we might as
well get on with it. Yep.

Benjamin Young: Yeah. Yeah. that Philip's here, right? we did annotate it a
bit last time, Monu. I walk you we added a new property field that ended up
mostly being notes in a way about what we take out in favor of other stuff
sometimes. And then there's some feedback that's been happening in the
column E as well.

Manu Sporny: Okay, it sounds good. Do you want to continue sharing this
meeting, Benjamin, since you're on the No,…

Benjamin Young: It's really up to you. I should have checked with you when
you got back sure.

Manu Sporny: it's totally fine. Yeah, I'm happy for you to you to do it and
I can just provide input if that works for you or…

Benjamin Young: Yeah, that's fine.

Manu Sporny: if you feel like you've got strong opinions on the data
modeling naming, I can share instead.

Benjamin Young: No, I really don't. I'm happy to share this one.

Manu Sporny: Okay.

Benjamin Young: Is this all essentially going to be about that now that the
other…

Manu Sporny: Thanks. Yeah. Yeah.

Benjamin Young: because it had been about the wider incubating specs, all
of which are now VCWG specs or to be okay.

Manu Sporny: Let's cover that maybe as the first agenda item is just like I
don't know if David or Phil have heard about what happened at TAC and then
we can then get into okay what do we need to finish up in this incubation
group and honestly it's just this spec right the verifiable issue verifier
thingy.

Benjamin Young: Okay, great.

Manu Sporny: …

Benjamin Young: We might also rename the series as well.

Manu Sporny: yep. Okay.

Benjamin Young:

Benjamin Young: Cool. But why don't you do that and then I can catch you up
on what we did while you were out.

Manu Sporny: Sounds all right. So, brief report out on W3CTPAC as it
relates to the incubation work that we've been doing in the W3C credentials
community group.

Manu Sporny: the high level takeaway is that everything we've been
incubating and wanted to put on the standards track was adopted as things
we would put in the next rechartering proposal. So that's the good news is
that we didn't get any push back on any of the work items. People were
concerned about the workload which we're all concerned about. but we said
that we would deal with that where, we would move specs forward that had
the most amount of editors doing work. And then the specs where people
aren't doing work or didn't have enough editors or is kind of lagging
behind or whatever, those would be secondary tertiary priority. So, we'll
just prioritize things and move them forward.
00:05:00

Manu Sporny: We had a little bit of that prioritization discussion at
W3CTPAC and again it was fairly standard benign stuff. There was fireworks
no one getting upset about any of the work. it was a good discussion so we
had a long list of specifications like this one verifiable issuers
verifiers which we're talking about today verifiable credential API render
method confidence refresh method postquantum signatures all of those things
are in scope and I think Avon's put together a charter update we just need

Manu Sporny: to kind of review it. so that's good news. the did methods
working group had some discussion. There's a charter proposal that's going
to go forward. We are expecting one formal objection on it but we've spent
months discuss trying to find a way through it and it just seems like
there's just going to be a formal objection on it. so so the outcome of TAC
was that we have a very good plan and consensus on what the next two years
of work is going to entail. Now it's just a matter of doing the work right
which is difficult in and of itself.

Manu Sporny: So what that means is that all of the specifications except
the postquantum suite and the verifiable issuers verifier spec are in a
state where we could hand it over to the working group and the working
group could take the verifiable issuers and verifiers and the postquantum
suite need a little more work and we can continue to incubate it here. So
that's kind of what the discussion today is but at some point when we feel
like the bones of the thing are fairly together well enough that we can
hand it over to the working group then we just hand it over to the working
group.

Manu Sporny: So, there's no big rush. It'll be included in the next
rechartering thing and our decision to transfer it to the working group
will be up to us and the working group to negotiate later on. so that
relieves some of the time pressure that we've kind of felt over the past
couple of weeks. that's kind of where we are. so it's good news, all
around. what we should probably focus on in the incubation group is just
verifiable issuer verifier. just the specification. there was a desire by
the chairs of the VC working group. So for those that haven't heard yet,
Brent Sundell has a new affiliation. He works for Ubico now.

Manu Sporny: he will continue on as a chair of the group with Ubico joining
the group. so that's good news. and then also Phil Archer who's XW3C but
now at GS1 is joining Brent as chair which will be excellent because Phil
is deeply involved in supply chain work using DIDs and Cs in that work. So
he'll be a part of that and the new rechartering and all that kind of
stuff. they suggested that we try and run as much work in parallel as we
can. So separate calls for render method and confidence method and
verifiable issuers verifiers and that sort of thing.

Manu Sporny: There's seven specs. I don't think we're going to have seven
parallel calls. So we're probably going to end up at three and we'll just
have three which are very focused. So verifiable credential API is one of
the calls. The other one is probably going to be render method and
confidence method. and then the other one is, going to be some other set of
Probably verifiable issuers and verifiers is going to be kind of high up on
that list. People want to see something happen with that spec. okay, so at
a high level, that's kind of what happened at W3CT. Any questions, concerns
about any of that?
00:10:00

Manu Sporny: Okay. then, back over to you, Benjamin.

Benjamin Young: Yeah, thank you,…

Benjamin Young: Yeah, let's look at this spreadsheet. the link is in chat.
Bill, I think you might have joined afterward. I'm not sure that Google
persists it, so I'll do it again. it's the same one we looked at last time.

Benjamin Young: Mostly I'm going to go over it just quickly to catch Manu
up. and then we can dig into Go ahead.

Phillip Long: I'll check.

Phillip Long: It's there. but wasn't there also a discussion about whether
approaching it this way versus approaching it from the perspective of the
JSON LD data model that it represents also part of the discussion last time?

Benjamin Young: Yes. Yes, it was. so just for some context, the group was
hacking at this spreadsheet for a while and many of us were confused about
what the JSON would ultimately look like.

Benjamin Young: So there was a discussion of someone and this is still
probably where it fell on the ground creating JSON objects that would
represent this language so that we were then looking at JSON and not a
spreadsheet. that didn't happen because of turkey day and whatever else
happened in between and we didn't really assign who was going to do that.
So consequently we still just have the spreadsheet. I think what we could
do though is live edit some JSON for some of this if we wanted and start an
issue space or…

Benjamin Young: something where we reshape some of this. does that sound
okay Phil

Phillip Long: That sounds reasonable. I think the concern arose that
depending the terms chosen and whether they're a class or a property and
the seemed to be somewhat dependent on the structure of the JSON.

Phillip Long: And therefore whether it would be included in a particular
way or not. and…

Benjamin Young: right? Yeah,…

Phillip Long: and that was why I was asking and I believe Dave was David
was in making contributions to that discussion and I think he's here isn't
he?

Benjamin Young: David's here,…

Phillip Long: Are you speaking, David? Because you're muted.

Benjamin Young: but on mute. Yeah.

David C: Sorry, I was on mute and I was actually on a different window. I
was actually looking at the list. So, I had to then go out of there and
come on to this to take the mute off. Yeah. No, we had some really good
discussions at the last meeting and I also explained to people the
rationale for why it was the way it was and that restructuring creates
quite a lot of simplification and as the red lining is showing a lot of the
properties can be replaced because the generic properties that Mando added
at the beginning they are relevant

David C: in the subsequent sections. And so the names can be removed and…

David C: replaced by their generic equivalents.

Benjamin Young: Yeah. …

Benjamin Young: one approach we could take is to duplicate this sheet and
then be more aggressive in how we reshape the spreadsheet so that it starts
to look like a JSON tree. that would maybe be a faster way forward than
starting new documents because I think one of the things that tripped me up
was the casing of the properties is atypical currently. go ahead

Manu Sporny: Yes. To what you just said, Going back, I think the plan was
to basically get through a rough cut of the spreadsheet and…

Manu Sporny: then we would just propose what the JSON objects would look
like in the issue that's tracking it. and then kind of go from there if
that makes sense. So, we were

Benjamin Young: Yeah, I think…

Benjamin Young: what we hit though was the group was having a really hard
time imagining…

Benjamin Young: what those JSON shapes would look like from the
spreadsheet. all classes can have section of these weren't clearly
filtering down in people's minds.

Manu Sporny: Yeah, gotcha.
00:15:00

Benjamin Young: And hence there's duplication list name which you can see
in column D or take it out and use name so it might be I mean we can try
this and see if it works duplicating the sheet and then trying to express a
hierarchy and being aggressive with stripping these out down to whatever
their more generic terms are

David C: Yeah, It's pretty small.

Benjamin Young: Does that sound like it would work?

Manu Sporny: I'm fine to go with whatever the group would be helpful for
the group.

Benjamin Young: Okay. Yeah,…

Manu Sporny: I mean, we could share an editor, right, in a …

Benjamin Young: I can do that.

Manu Sporny: HackMD or whatever. …

Benjamin Young: Yeah, I will share this window and then we can turn it into
real Jason if we want, but I was just going to stick with this hierarchical
approach. Is that painfully small for everyone? I can zoom in.

Manu Sporny: it's pretty.

Benjamin Young: That better? give it a second.

Manu Sporny: Maybe two more zooms.

Benjamin Young: Two more.

Manu Sporny: Yeah. Yep. Yeah. There we go.

Benjamin Young: That good. And I'll try and squish some of these columns
down. Big 4K monitor, so I have no idea how it comes across.

Phillip Long: Looks good on my 4K.

Benjamin Young: Thank you. cool. So, as mentioned, a lot of these are going
to be shared throughout. So, let me duplicate the sheet first.

Benjamin Young: I'll just call it reduced for now. so yeah, we ran into
lots of things early on like this recognized.

David C: Yeah, this is particularly contentious from my opinion …

Benjamin Young: Go ahead, Dave.

David C: because I don't really know what its purpose is and B. this is
supposed to be a trust list. So, whoever publishes the list, it's meant to
be trusted. and that's the whole point of a trust list. and you either
trust the list originator or you don't.

David C: they're recognized by is saying, " I actually think that Manu is
recognized by Path. So, you should trust Manu Manu because Path recognized
him." And that is really re really bad because first of all, how do I know
that Arth said that about what evidence is there that that person who is
supposed to be doing the recognizing is actually doing the recognizing? And
I'm just not making it up. I might say, Manu is recognized by President
Trump.

Benjamin Young: Go ahead.

David C: I don't think he is, but I could state that. So, I think this is a
really questionable property.

Manu Sporny: Yeah, it was an let's see this property and let me try to see
summarize this property the recognized buy thing was a result of the
conversation that we had a couple of weeks ago where people said we don't
want to publish trust lists.

David C: Okay.

Manu Sporny: So there remember I mean we had this whole conversation
started with there are multiple different use cases one of them is the use
case that you're highlighting David which is I do want to publish a trust
list and I want to do it in the EU way. that's one set of use cases.

Manu Sporny: The other set of use cases is I'm announcing to the world that
I recognize this entity to issue these types of credentials and I am saying
that they're good enough for me. I'm not making a statement beyond that.
I'm not saying that, I'm a government entity and I'm officially anointing
these groups. saying if this organization makes a statement about using
this type of credential then it's good enough for me right that's what it
was meant to be the language is I agree with you David problematic and we
need to bike shed the language but that's where this came from is that it
was the decentralized use
00:20:00

Manu Sporny: case, right? the non-European Union use case where you just
want and I am literally saying if Parth issues a credential about
programming practices, it's good enough for me, Meaning I trust him to make
those types of statements. that's what lines 13 through 15 are. I'll try to
find the link to the issue where we talk about it in a bit more depth.

David C: Yeah. Yeah. Okay.

Manu Sporny: That's it.

Benjamin Young: But before we dive back into that,…

Benjamin Young: and David, I know you luckily got a response. I wanted to
see if and we can finish up this conversation and then address what I'm
about to say. one of the things I wanted to do was try to make this whole
thing look like a JSON document. And so I think we need to circle back to
what is the top level type for this thing that we're doing. And then I'll
reshape the structure into a more tree JSON thing. Remove the headings and
start moving stuff around. But I didn't want to spook everyone when I
started deleting stuff. but let's go ahead and…

Benjamin Young: wrap the conversation about the recognized thing and then
I'll do some restructuring but we will have to come back to what is the
type of the top level document All right.

David C: Yeah, the top level.

David C: Got you. so what I would say to Mano is first of all, who signs
the list? because it needs to be cryptographically protected or otherwise,
no one can trust it. that even you said that the person you're recognized
by, we don't even know if that's true. So if you are signing the list,
okay, and you say I recognize this other entity, then in fact what you're
saying is This other entity is a trusted entity. and they have published
the following information.

David C: So that's more reasonable because then we know that our trust is
in you because you've signed it and you're saying I trust this other entity
and in my opinion this other entity has stated the following. Okay, I think
that's the semantics you were meaning Manu. and then someone should be able
to follow a list a link and they should be able to go to the other entity…

Benjamin Young: Go ahead, man.

David C: who you might not recognize and then they should be able to find
out that indeed that other entity is making the same statements that you
were asserting that they made.

Manu Sporny: Let me share my screen. I don't disagree with much that you
said, David. I'm part of me is struggling because I'm trying to also
represent Joe Andrews viewpoint on all this stuff. who felt very strongly
that we shouldn't be publishing trust lists and we shouldn't be calling it
trust stuff that we should find a different word for it and that's kind of
where this stuff is coming from. So, I think what you're saying is valid,
David. I think we tried that before and we got objections and the people
that are objecting aren't here today. And so I'm hesitant to try and have
the conversation without them here, I guess, is going back to what do these
look like? this is what I was trying to get at.

Manu Sporny: Benjamin issue 37 we have this rec and even here this
recognize but thing like my comment here is don't really like this term I
don't think anyone does right now but the recognition criteria and things
like that we reworked this based on Joe objecting to the language that we
were using but if we want to look at what do these things actually look
like and map them to the spreadsheet that This is where the spreadsheet
items came from is we have examples in these different use cases. this is a
It's a verifiable credential noting that recognition and recognized by are
problematic and we probably need to bite shed those terms. so we're trying
to iterate towards something that worked but The VC is issued by some
entity.

Manu Sporny: So this is a recognizer for lack of a better term. and the
credential subject is you are identifying an issuer. You're saying they're
recognized issuer. They're recognized by this other entity which is the
entity that issues the recognition credential. So how this did web
recognizer example thing signed the VC and they're also in the recognized
by entry. that's what it's being kind of used for right now. Again I'm not
strongly defending it. I'm just saying that's where we got to in the group.
00:25:00

Manu Sporny: And then the recognition criteria is issuance of a certain
type of credential that matches a credential schema for a certain period of
time and then you can run the schema against a VC and see if that entity is
recognized for issuing that particular VC. so that's this use case. This is
a fully decentralized verifiable issure use case. This is what the JSON was
expected to look like. And then the terms from here, the new ones were
moved into the spreadsheet. and this is just me giving background for kind
of where we got those things in the spreadsheet from and how these things
end up being realized in an actual VC.

David C: Okay, that's helpful.

David C: So basically the recognized by is the issue field.

Manu Sporny: It the issuer can be misconstrued in this way …

Manu Sporny: which issue are you talking about are you talking about the
issuer right yeah Yep.

David C: Yeah, I understand there's a problem in semantics there. Yeah. but
I mean essentially it's the issue of the verifiable credential as you said.

Manu Sporny: Yep.

David C: Right.

Phillip Long: Good job.

David C: So what you don't actually So if you got some crypto protecting
something somewhere, you have to give the name of the entity that's
producing the crypto. So the issuer of the credential needs to be mentioned
somewhere within it…

David C: because you can't just have a signature without an identifier of…

Manu Sporny: Mh we do so…

David C: who signed it, But unless it could be just a public key, I guess
we could go down the fact that you have to find out who's got the public
key and it's the public key that's issued it. So you're not saying who
issued it, in which case you'd remove it alto together, but normally we
would put the identity of the signer,…

Manu Sporny: if you look…

David C: right? Yeah.

Manu Sporny: if you look on the screen the issuer is this recognizer entity
right so here's the VC we do specify…

David C: Right. Yeah.

Manu Sporny: who the issuer is and then we restate it here and again this
is a modeling question like if it's here do we really need to me mention it
here and I forget who but

David C: You don't need it. No.

Manu Sporny: felt strongly that the argument for needing it and again I'm
arguing for somebody else that's not on the call that the argument for
needing it is you want this object from a data modeling perspect
perspective to kind of exist on its own right this object in here exists
independently of the verifiable credial potential that wraps it and it may
be useful to have a recognized by property for the recognized issuer. So
this is a recognized issuer. Who are they recognized by? it's this entity
and in the graph of data you've got everything that you kind of need right
here. Right?

David C: got it. Yeah.

Manu Sporny: you use the outermost wrapper to determine if you believe the
internal stuff is valid. And if the internal stuff is valid, you probably
just end up storing the internal stuff in your database that you use to
make business decisions. So that's the argument for recognized by being
here. it's not a cut and dry, There are arguments against putting it in
there, but that's where we got to with the data modeling.

David C: Yeah. Yeah.

Manu Sporny: And again,…

Phillip Long: That's right.

Manu Sporny: I mean, I think we spent all of 15 minutes talking about this.
It hasn't been analyzed to any depth.

David C: What one thing I find quite weird is we've got a working party. I
wouldn't call working group. We've got a working party working on trusted
issuers and…

David C: then some guys come along and say we don't want you to call it
that. In fact we don't want you to be working on trusted issuers. I think
that's a bit weird actually.

Manu Sporny: It's a centralization concern and…

Manu Sporny: and this is something that I agree with. the way the European
Union is addressing this concern I think is deeply problematic from a
governance standpoint. I get that the EU is really government-ledd,
regulationled, centralization when it comes to these trusted lists, but
that being the basis of the design leads to deeply centralized systems.
00:30:00

Manu Sporny: So I do think that is a very strong argument for we don't want
to use that model for a decentralized identifier system. That's not to say
that the use case isn it is valid. The EU has decided that that's the way
that they want to model this stuff, but from an self-s sovereign identity
and SSI principles perspective, it's kind of antitheical to the kind of the
ecosystem. And so the question is, all right, if we're not going to
centralize it in the way the EU has decided to do,…

Manu Sporny: what does that look like? And can we use the same kind of spec
to achieve that fully decentralized use case? And I think the result there
is of course It's just a different vari we can use some of the same
terminology but the data model is different because the data model is not
centralized right

David C: I disagree with your premise…

Manu Sporny: I think the difference here is the presumption that there is
an authority.

David C: because a list of one is just a subset of a list of a thousand. So
your decentralized model is a list of one. Therefore you can use exactly
the same data model of a list of a thousand or you just have one entity in
the list.

Manu Sporny: the presumption that there is a governmental authority that I
get the point that you're making David and…

Manu Sporny: and meaning from a technical perspective you're just listing
something an entity that you recognize to issue something right…

David C: Correct.

Manu Sporny: but right so at the base level that's fine but that's not what
the EU model does right that the EU model is not saying that the EU model

Manu Sporny: is saying there are special entities that are anointed by
government that have a legal authority above and beyond anyone else. and
it's that level of

David C: Yeah,…

David C: but we don't have to have that in Our spec is a data model spec.
And this fully decentralized entity that's publishing a list of one, he is
the list operator, He's a list operator and he chooses to put one entity in
his list. So we can use exactly the same data model. We just alter your
misconception that this list operator has to be government recognized.

David C: I don't think that's stated in the current document and we should
remove any notion of that from the data model but say that the list
operator can be an individual it can be a company it can be a state or
whatever and we leave it at that and that's what the data model Right.

Manu Sporny: I agree with that,…

Manu Sporny: David, but if we look at the data model that's in the spec,

Manu Sporny: for the EU stuff. It has properties in there like policy or
legal notice in PSP certifications, right? that's massively heavy weight.

David C: Right. Good. Yep. Yeah.

Manu Sporny: As these are things that go well above and…

David C: But They can be optional fields. And also in your data model,
you've got the criteria for the recognition. The criteria is the policy,
right? No,…

Manu Sporny: beyond what the fully decentralized case is trying to get at,
Governance URI contract type policy sets. I mean these are very heavyweight
government process things, right? so I

David C: no, no. Look, I mean, forget I'm talking about a semant at the
semantic level, When you say the criteria that I've recognized someone by,
that's that is my policy. It's the criteria I've used to recognize.

David C: So let's use the same term and let's put the definition of the
term sufficiently broad so it covers both the fully decentralized case and
the national case and any shade in between.

Manu Sporny: Yeah, sure.

Manu Sporny: That sounds good to me. my only concern at that point is that
we are now deviating from the trust tsp stuff that the train work like we
are deviating from that…
00:35:00

Manu Sporny: if we do it that way which I'm fine I totally agree with

David C: …

David C: we're going to deviate massively. Yeah, we have to deviate…

Manu Sporny: Mhm.

David C: because as in our early discussions, Manu, we recognized that in
the EU, the top level object was of multiple classes, which is why it led
to TSP name and list operator name because the class was a multiple class.
And we agreed early on that it would be sensible to have individual object
classes and then they could all have name. Right? So,…

Manu Sporny: Mhm. Okay.

David C: so we've already deviated substantially from the EC model by doing
that.

Manu Sporny: I mean, if that's fine, if we don't have objection to doing
that, then I totally agree with you.

David C:

David C: I thought we Yeah,…

Manu Sporny: What's good?

David C:

David C: I'm sure we agreed more than a month ago, a couple of months ago,
that modeling way was more akin to the way the W3C verified credential
group had done its modeling that they're a single object with a type,
right? So, I thought we'd already agreed on that, which is why we can Yeah.

Phillip Long: So does that mean we need to remove those properties manu
that you were just highlighting in terms of I can't scroll the spreadsheet
but

David C: Which is why we can simplify the names significantly,…

Manu Sporny: Mhm. Okay. Yep.

David C: which We started to do that as you can see last week. No, they're
at the bottom that the service business URI and all that stuff. No, they
shouldn't be removed. that they're there for a purpose. The thing is if you
have a complex model, you can always simplify and…

David C: refine it down for something simpler. If you have a simple model,
there's just no opportunity to put the complexity in that other people need.

Manu Sporny: Yeah. …

Manu Sporny: what I…

Manu Sporny: what we have to ensure here to agree with…

David C: We Right.

Manu Sporny: what David's saying is that there is a EU version of this and…

Manu Sporny: we have to ensure that it maps to the data model that we have…

Phillip Long: is there.

Manu Sporny: which means that we cannot get rid of these things because the
EU model has these things in them and…

Manu Sporny: if we can't do a full round trip that's lossless then we won't
be supporting

Phillip Long: So right and…

Manu Sporny: the EU use case,…

Phillip Long: so that's…

David C: I think that's right.

Phillip Long: where the comment but those become optional or they have a
new definition.

David C: Yeah. Yeah.

Manu Sporny: right? Yep.

David C: Probably the definition is broadened to cater for the fully
decentralized case and they become optional.

Manu Sporny: Yep.

Phillip Long: Okay, that helps. So,

Manu Sporny: Okay. …

Manu Sporny: that Sounds like we have alignment there. Thanks. I was just
kind of sharing to provide the background on that. Benjamin, I don't know
where we go from here, though. What we want to do

David C: I don't know.

Benjamin Young: So, I've been hacking a bit on the reduce tab also screen
share. and trying to reshape it to something like a JSON file. There we go.
so based on the example you were showing,…

David C: All right.

Benjamin Young: Monu, I pulled out the verifiable recognition credential as
the top level type of this object we're inside of. These are a little in
the way at the moment. and then credential subject would be of type issuer,
recognized verifier. Currently with these properties, recognition criteria
would contain just these two as I understand. plus the typical ID type and
more uniquely the credential schema. I don't know if we're still confused
about this, but I was trying to pull the notes up. yeah,…

David C: In terms of terminology,…

Benjamin Young: go ahead.

David C: we've got the typical re well-known term trust or…

David C: We can have recognize etc. Okay.

David C: Because it's a pretty common generic structure in English. We
could recognize by becomes recognizer doesn't it?

Benjamin Young: for line 14.

David C: That's the recognizer.

Benjamin Young: Yeah.

David C: Or recognize or I'm not quite sure what they said or right but…

Benjamin Young: Yeah. two countries divided by a common language,…

David C: but yeah.

Benjamin Young: I don't know which one it is either. I think it's prettier
with an O. Anyway, I think it's probably an E in the US.

Benjamin Young: Not that it matters. yeah,…
00:40:00

David C: And then that becomes the policy.

David C: The recognized criteria is the policy.

Benjamin Young: that might be clearer in that I don't know it feels less
passive maybe thoughts rec recognizer versus recognized by Okay.

Manu Sporny: What feels less passive? Yeah. Yeah. Yeah. Yeah. I'm totally
fine to change it to recognize her. I don't think we were the current
language needed to be bike shed

Benjamin Young: Yeah, that's kind of the goal here, I will leave that
there. I'm pulling up some of these other rows so that we can look at them
in the object we were just looking at…

Benjamin Young: since we're trying to JSONify this table. where would these
guys appear? They are not well formatted.

David C: This is the recognizer.

David C: These are the properties of the recognizer. So, if you want to put
in the column by list of call recognizer.

Benjamin Young: Okay.

David C: Okay. Yeah.

Benjamin Young: I'm going to go ahead and change these things.

Benjamin Young: So list operator information would be or…

David C: This is the recognizer.

Benjamin Young: list operator.

David C: Yeah, it's the recognizer because these are all properties of the
recognizer.

Benjamin Young: Okay.

David C: So it's the recognizer's name, recognizes email address, website,
etc.

Benjamin Young: Okay. Sure.

David C: All optional, right? In most cases. Yeah.

Benjamin Young: Yeah. Philip, I think you were saying something.

David C: I don't think you need list operator there actually…

David C: because recognize there is an object isn't it so you don't need
that level of nesting just delete all right okay got you right right yeah
Yeah.

Benjamin Young: This is the type. Sorry, I'm trying to truncate it because
we're in a spreadsheet, but you can imagine these are all type the bold
things.

David C: Yeah. Yeah.

Benjamin Young: The bold things are type values. yeah, sorry that's
unclear. Yes, I can rework it…

Phillip Long: You can put a key up on the side.

David C: Actually those other properties…

Benjamin Young: if you want. I was just trying to make it…

Phillip Long: No, you're doing well.

Benjamin Young: if you think more of a given it's a spreadsheet.

Phillip Long: You're doing well.

David C: though the properties version ident the first two properties
they're a property of a list not of a list operator the name address email
URL are properties of the list operator…

Benjamin Young: Okay.

David C: but those two are properties of a particular list right Yeah.

Benjamin Young: So, are we going to then have a Oops, wrong thing. Are we
going to then have a And it's probably already down here. There's list name
and whatever. So,…

David C: Exactly. Yeah.

Benjamin Young: is there going to…

David C: Yeah. A list…

Benjamin Young: then be a list property right underneath it.

David C: because the list operator could have several lists. Yeah.

Benjamin Young: So, then we're going to have, type list or something. Do we
have lots of types of lists like these guys?

David C: I think we had three we had three…

Benjamin Young: Trust service provider list and…

David C: which was the trusted issuer and the wallet provider…

Benjamin Young: they would each be a list type.

David C: but It's a type. Yeah, exactly. So, …

Benjamin Young: Are those types of the items in the list or are they the
type of the list? I don't know if that's clear. cuz we're going to first
call out that we're inside of a list and…

David C: right. Yeah. Got you. Got Yeah.

Benjamin Young: then we're going to say what each item in the list is and
I'm guessing it right.

David C: So this is a modeling thing, isn't it?

David C: is to whether you can mix up within one list both trusted issuers
and trusted verifiers. I think it's probably better if you have a list of
one type all your issuers in one list and all your verifiers in another
list.

Benjamin Young: So then we'd end up with something like issuers.

David C: I mean it's going to be quicker to pause as well, isn't it?
Because you go down and say I'm only interested in the issuers that this
guy's publishing. I'm not interested in any of his verifiers.

Manu Sporny: If we look at line 14,…

Manu Sporny: it is already a recognized issue or recognized verifier and
then I guess you link back to the list,…

Benjamin Young: Okay. That's just about…

David C: All right. Yeah. Yeah.

Manu Sporny: so you kind of already Yeah.
00:45:00

David C: Yeah. Yeah. Exactly.

Benjamin Young: where we're going to signal that. So, this is a list or a
collection or whatever it's going to be.

David C: Yeah. Yeah,…

Benjamin Young: And the items within this have the version identifier and
sequence number or the list itself.

David C: The idea I think from memory is that certainly the sequence number
is easy that is as you update your list you increment the secret the
sequence number and…

Benjamin Young: So it's like okay And…

David C: they also have facility for keeping back copies of them.

David C: So if you want to go and look back at some historical list, you
could actually do that. And I think the version identifier is if the list
changes its contents because the standard evolves, then the version of the
list you'd need to know that this is the first version of the list or this
is the second version of list because they've got different properties. I
think that's the idea for that for those.

Benjamin Young: then the items in the list are going to be of what type?

David C: So then you've got the trusted service providers. the other
feature that it's got is that a trusted service provider can actually
provide different types of trust service.

Benjamin Young: These guys.

David C: So, if you think of a university can be a trust service provider.

David C: It can issue verifiable credentials, but it can also be a website
where they accept verifiable credentials from pupils or from people who are
applying for courses and they say, "Okay, give me your verifiable
credential to show that you've already got an undergraduate degree…

David C: if you're applying for a master's degree." so university can be
both a trusted issue and a trusted verifier, So that's…

Phillip Long: And…

Phillip Long: it has employees,…

David C: why Yeah.

Phillip Long: I mean, they're employers as well.

David C: Yeah. Yeah.

Phillip Long: And so they have to be treated in the same way that any
business would be treated.

David C: So that's why that the trusted service provider can offer
different types of service.

Benjamin Young: Okay, I'm bringing up those fields into this space.

Benjamin Young: Is this looking right where this list? So the Okay.

David C: Trust the services would be at a level above the ones below…

David C: because as I said trusted service provider can provide many
different services.

Benjamin Young: I didn't quite follow that.

Benjamin Young: I mean, it's just

David C: No.

David C: I gave it the example of a university who's a trust service
provider.

Phillip Long: Yeah. But…

Phillip Long: but it give me an example…

David C: It can issue verifiable credentials.

Phillip Long: those two things where any entity couldn't be both or…

David C: Couldn't be both.

Phillip Long: or shouldn't be Because from my perspective,…

David C: That's an interesting observation.

Phillip Long: an entity would all could and…

Phillip Long: should be able to be both at any point in time.

David C: Yeah. Yeah.

David C: Because these are roles of course, aren't they?

Phillip Long: Right. Exactly.

David C: We've always said that verify and issue are roles.

Phillip Long: So I don't think so the difference isn't really necessary.

David C: Yeah. Yeah. So sorry the difference in the services is necessary…

Phillip Long: The question is whether that particular thing is included.
Right. Okay.

David C: but I agree what you're saying now is that there is no difference
in a trust service provider because all trust service providers should be
able to do everything right but I think they did differentiate them but

Phillip Long: Right. Right.

David C: But yeah, you're right. You don't need to.

Phillip Long: It just simplifies it, I think.

David C: Yeah. Yeah. Yeah. So the service tells whether what you're doing.
So the actual service is So it's service type, isn't it? Yeah.

Benjamin Young: So on here.

Phillip Long: That's right. That's right.

Benjamin Young: New property like that.

David C: And again s services has to be an outer it has to be a level in
the hierarchy above the following above 28 onwards doesn't it…

David C: because it's a set of services right so that's got to be no I'm
saying under trust service provider there will be another level of
indentation called services and…

Benjamin Young: Is this…

Benjamin Young: what you're saying? And then we've got …
00:50:00

David C: then under services will be current status starting time etc.

David C: So we need Yeah,…

Benjamin Young: so all of this stuff is inside of another list is…

David C: it's inside services.

Benjamin Young: what I got.

David C: They're all properties of a service,…

Benjamin Young: Right. Oops. I always hate pasting in spreadsheets. That
back the way it was. There we go. And then these guys.

David C: right? And then those want to move in then they to move in the
square. That's right. Yeah. Exactly.

Benjamin Young: And then does this thing the services do have a type. It's
whatever that is.

David C: I don't have a time. Yeah. Exactly. Yeah.

Benjamin Young: We don't work.

David C: Isn't that same level of current status?

David C: Why does that have to be a level above All right.

Benjamin Young: It doesn't have to be.

Benjamin Young: It's the way again all of these are I type colon whatever.

Phillip Long: times. Listen.

Benjamin Young: I'm just structuring it this way so we can see a tree in
the JSON LD. It would be type and…

David C: Yeah. Yeah.

Benjamin Young: and then these would come over here.

David C: Right. Okay. Okay.

Benjamin Young: So, I can restructure it. That's more helpful than my nifty
bold and whatever. why don't I do that since it keeps confusing David?

Phillip Long: Yeah, as long as you're doing it with such facility that do
it with whatever way is easiest for you and…

Phillip Long: we'll figure it out.

Benjamin Young: Yeah, I don't want people to keep getting confused.

Benjamin Young: So, just have to move everything over one Is it should
still be in the same spot,

David C: Actually, that outer type is now wrong,…

David C: isn't it? because the because this is something being published by
me.

Benjamin Young: All right.

David C: Whereas I can be a totally decentralized individual or…

Phillip Long: How do you mean it's right up there?

David C: I can be a country.

David C: So the recognized issue recognized verifier that's not there is it
basically yeah…

Benjamin Young: So that the overall structure didn't change. I just
reabeled things so that they were more like the JSON LD in the end.

David C: but I think All right.

Benjamin Young: I mean that the meaning should be identical to what we just
were looking not of the list operator or…

David C: Yeah, maybe we had a debate about whether we should have an issue
property. but these are all properties of the issuer. The list operator is
the issuer. Right?

David C: So type name, address, email. These are all properties of the
issuer and we already have that in our verifiable credentials.

Benjamin Young: is list operator.

David C: The list operator is the issuer of the verifiable credential. so
the type name address in other words list operator and issuer are Verible
credential issuer and list operator are synonymous.

Phillip Long: the quotes around it.

Benjamin Young: I know you're a spreadsheet. You don't like the equal sign.
Leave me alone.

Benjamin Young: Yeah. I just put a space in front of that. So that's all
possible that you can have those in issuer…

David C: So you can move all those properties type name address you can put
them within issue…

David C: because we already did that in some of our VC trials. we put
things like name address and URLs in there. Yeah. …

Benjamin Young: but wasn't there some reason why we had list operator
expressed inside recognizer I thought that was the whole discussion earlier
with you and monu that there was deliberate redundancy yeah we are down to
time I think we're going to have to come back to this in particular I had
fun playing with spreadsheets as I always do.

David C: ask manu to comment on that.

Phillip Long: So there's an action item for Manu to address that difference.

David C: We made good progress today anyway. I think u Yeah. Yeah.
00:55:00

Benjamin Young: Resolve all the problems. Manu get rebase reality.

Manu Sporny: Thank you.

Benjamin Young: Go ahead.

Parth Bhatt: Yeah, I was for the services bject. I was thinking about what
if we just follow the W3C did code spec service section or the list of
attributes there.

Parth Bhatt: I can drop the link in here. It's more or…

Manu Sporny: Yeah, I think that's a good idea.

Parth Bhatt: less similar analogy.

Parth Bhatt: That's what I'm getting.

Benjamin Young: Yeah, I wondered about services too.

Benjamin Young: Okay, I'm going to leave a note for that.

Benjamin Young: And let's come back to that. make it not read. All right.

Parth Bhatt: Sounds good.

Benjamin Young: So, in a week,…

David C: Great.

Benjamin Young:

Benjamin Young: let's do this again.

David C: Good progress.

Benjamin Young: All right.

David C: Yeah. Thank you. Bye-bye.

Benjamin Young: Thanks everybody. Bye.

Manu Sporny: I think all but
Meeting ended after 00:56:32 👋

*This editable transcript was computer generated and might contain errors.
People can also change the text after it was created.*

Received on Thursday, 4 December 2025 23:04:35 UTC