<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Please see the meeting notes from today's SSF WG meeting below.</div>
<div class="elementToProof" id="Signature">
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<table style="text-align: left; max-width: 100%; color: rgb(51, 51, 51); box-sizing: border-box; border-collapse: collapse; border-spacing: 0px;">
<tbody>
<tr>
<td style="text-align: left; width: 50px; box-sizing: border-box;"><span style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51);"><img style="max-width: 100%;" size="13713" data-outlook-trace="F:1|T:1" src="cid:ed1f10a6-a320-4ea7-afae-405bc042d89f"><br>
</span></td>
<td style="text-align: left; width: 10px; box-sizing: border-box;"><span style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51);"><img style="width: 10px; height: 50px; max-width: initial; box-sizing: border-box; display: block;" height="50" width="10" src="https://duo.com/assets/img/email/spacer.gif"></span></td>
<td style="text-align: left; box-sizing: border-box;">
<div style="text-align: left; font-family: Helvetica, sans-serif; font-size: 12px;" class="elementToProof">
<span style="color: rgb(51, 51, 51);"><b>Shayne Miel</b> </span><span style="color: rgb(153, 153, 153);">/</span><span style="color: rgb(51, 51, 51);"> Principal Engineer (he, him, his)
<br>
</span><span style="color: rgb(23, 78, 134);"><a style="color: rgb(23, 78, 134);" href="mailto:smiel@cisco.com">smiel@cisco.com</a></span><span style="color: rgb(51, 51, 51);">
<br>
(919) 923-6230 <br>
</span><span style="color: rgb(23, 78, 134);"><a style="color: rgb(23, 78, 134);" title="https://www.cisco.com/site/us/en/products/security/index.html" href="https://www.cisco.com/site/us/en/products/security/index.html">cisco.com</a></span></div>
</td>
<td style="text-align: left; box-sizing: border-box;"><span style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51);"><img style="width: 1px; height: 50px; box-sizing: border-box; display: block;" height="50" width="1" src="https://duo.com/assets/img/email/spacer.gif"></span></td>
</tr>
<tr>
<td style="text-align: left; box-sizing: border-box;" colspan="4">
<div style="text-align: left; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51);" class="elementToProof">
<br>
</div>
</td>
</tr>
</tbody>
</table>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof" id="WG-Meeting-2025-08-19">
<b>WG Meeting: 2025-08-19</b></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof" id="Agenda">
<b>Agenda</b></div>
<ul data-startline="3" data-endline="8" data-position="35" data-size="0">
<li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Sending "deleted" status with a Stream Update Event</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Interop spec status</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Interop event info</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
SSF Conformance Tests update</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The vote is open</li></ul>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof" id="Attendees">
<b>Attendees</b></div>
<ul data-startline="10" data-endline="18" data-position="196" data-size="0">
<li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Yair Sarig (Omnissa)</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thomas Darimont (OIDF)</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Shayne Miel (Cisco)</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
George Fletcher (Practical Identity LLC)</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Kenn Chong (RSA)</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
John Marchesini (Jamf)</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Mike Kiser (SailPoint)</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Jen Schreiber (Workday)</li></ul>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof" id="Notes">
<b>Notes</b></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof" id="The-vote-is-open-for-the-new-drafts">
<b>The vote is open for the new drafts</b></div>
<ul data-startline="21" data-endline="28" data-position="454" data-size="0">
<li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) <a rel="noopener" class="OWAAutoLink" id="OWA5805684f-4e1a-d752-487a-5f57d0082cab" target="_blank" href="https://openid.net/foundation/members/polls/373">
https://openid.net/foundation/members/polls/373</a></li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) Please vote</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Shared Signals draft 5, CAEP draft 5, RISC draft 3</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) What about the interop spec? </li><ul data-position="607" data-size="0">
<li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) Not part of the vote. There are still issues to work out and we didn't want to delay the vote any further</li></ul>
<li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) These drafts will become the true release v1 of these specs after vote.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(George) The vote itself is to promote these drafts to final</li></ul>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof" id="Interop-spec-status">
<b>Interop spec status</b></div>
<ul data-startline="30" data-endline="34" data-position="920" data-size="0">
<li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) As mentioned above, draft 1 of the interop spec is not included in the current vote.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) There is work to do in this group to get it fully ready for its own vote.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<a rel="noopener" class="OWAAutoLink" id="OWA5295f2bf-7ec8-97cc-caf5-71ecf52014fb" target="_blank" href="https://github.com/openid/sharedsignals/issues/203">Issue 203</a> which is being addressed in
<a rel="noopener" class="OWAAutoLink" id="OWAf6672b38-4e97-3d4b-d2fb-68d5a6ad68a8" target="_blank" href="https://github.com/openid/sharedsignals/pull/245">
PR 245</a> still needs to be resolved.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) Atul needs to confirm, but I believe we are using the unofficial draft 1 (i.e. what is published on github) for the upcoming interop event.</li></ul>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof" id="Interop-Event-Info">
<b>Interop Event Info</b></div>
<ul data-startline="36" data-endline="38" data-position="1456" data-size="0">
<li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) I don't have much to share other than that it is happening at Authenticate in October.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) We will probably start up the pre-interop meetings like usual. Please stay tuned for more details.</li></ul>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof" id="SSF-Conformance-Tests-Update">
<b>SSF Conformance Tests Update</b></div>
<ul data-startline="40" data-endline="50" data-position="1697" data-size="0">
<li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) Working on aligning the conformance tests with the latet unofficial interop spec</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) Old tests were based on SSF implementers draft 3, we are bringing them up to draft 5</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) Next week begin implementing Receiver tests</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) Aiming for a usable set of tests for Transmitters and Receivers by mid September</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) Do I remember correctly there was a document?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) Yes, link here: <a rel="noopener" class="OWAAutoLink" id="OWA28575b6f-a896-c656-ce20-6e4bc92fc688" target="_blank" href="https://docs.google.com/document/d/1ft_-NIdWwvUiDAfyWrvxaO-WvhJDDLbMQ-gRtsKBMJw/edit?usp=sharing">
https://docs.google.com/document/d/1ft_-NIdWwvUiDAfyWrvxaO-WvhJDDLbMQ-gRtsKBMJw/edit?usp=sharing</a></li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) Can you provide details about the site? Main or staging?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) Did a bunch of conformance tests for OpenID4VCI (Verifiable Credential Issuance). We set up a demo environment that lets us regularly update the tests. We will repeat that procedure for SSF.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) SSF Conformance tests will be provided via the demo env: <a rel="noopener" class="OWAAutoLink" id="OWA8e5fab4f-3db3-7248-3308-fbde37306ab3" target="_blank" href="https://demo.certification.openid.net/index.html">
https://demo.certification.openid.net/index.html</a></li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) It would be helpful if implementers would run these again to help us improve the tests.</li></ul>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof" id="Sending-deleted-status-with-a-Stream-Update-Event">
<b>Sending "deleted" status with a Stream Update Event</b></div>
<ul data-startline="52" data-endline="84" data-position="2754" data-size="0">
<li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) The spec says to send a Stream Update event when the status changes.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) Do we need a "deleted" status to send when a stream is deleted?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) If we don't add a deleted status, how will Receivers know that resources should be cleaned up?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Mike) Does that imply that streams live on forever with status "deleted"?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) No, the stream would be deleted and gone.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) What happens for Receivers that don't get the event?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) This event is for the benefit of the Receiver.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) But that means the stream can only be deleted after the deleted event was consumed.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) I don't think the stream should wait for the event to be delivered before deleting</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) Should we use something like the inactivity timeout to say the stream should hang around for a specific amount of time after the event is sent before deleting itself?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) It's a little bit strange to think about status of "deleted". I wonder if we want a new event, StreamDeleted.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(George) I agree with the idea of a specific event. There is no way to guarantee that the Receiver will receive the event, but having a mechanism to alert in an optimistic case is nice.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(George) Both the Transmitter and Receiver should have some documented logic to determine when a stream is no longer active. This new event is an optimization, but the fallback mechanisms have to be present as well.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) What is the expectation today for what happens when a stream is deleted?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) I don't think we have any expectations today.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) For now, we could send a "disabled" status before deleting the stream</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) I'm not against the idea of sending a "disabled" in this case. What does the Receiver do when it gets that event?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) I would expect that getting an unexpected disabled status would alert a human operator.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Mike) Someone might trigger a verficiation event which would then return a 404 because the stream would no longer exist. Is the expectation that a 404 should cause the Receiver to shut down the stream on their end?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) I would expect that the customer or Receiver host would want to trigger some kind of investigation</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) Does the deleted event vs a 404 change the customer's behavior?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) It depends on whether the customer triggered the action</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) A deleted event might be a nice thing for a Receiver that requests the deletion.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Mike) A 204 from the delete request should be the thing that tells the Receiver the deletion was successful.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) What about multiple Receivers on the same stream?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Mike) It feels cleaner to have a deleted event to go out before deletion</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Thomas) Possible race condition without some kind of timeout before deleting the stream</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) For push streams, that shouldn't be a problem, but poll streams do have that issue</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) One more argument for making this an event not a status is that statuses seem to talk about whether events can "enter" the stream, not whether they can be broadcasted over the stream.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Yair) Is there any other change that can affect the stream besides status? If so, why do we only have StreamUpdate events with status info?</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) Some examples of things that could change - the Tx could add or remove subjects, could change the delivery method, could change timeout intervals. We don't really restrict the Tx's actions.</li><li style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
(Shayne) What I'm hearing is that maybe we want to extend StreamUpdated to cover more than just status changes. Then we are not creating a new event type for stream deletion, but just adding new metadata to the StreamUpdated event.</li></ul>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof" id="Action-Items">
<b>Action Items</b></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
</div>
</body>
</html>