<div dir="ltr">Hi all,<div>The notes from today's SSWG call are here:</div><div><a href="https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004">https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004</a></div><div><br></div><div>They are pasted below for convenience.</div><div>Thanks to all those who participated,</div><div>Atul</div><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><span><div dir="ltr" style="margin-left:0pt" align="left"><table style="border:none;border-collapse:collapse"><colgroup><col width="165"><col width="160"></colgroup><tbody><tr style="height:74.5pt"><td style="vertical-align:middle;padding:5pt;overflow:hidden"><p dir="ltr" style="line-height:1.44;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline"><span style="border:none;display:inline-block;overflow:hidden;width:137px;height:68px"><img src="https://lh7-us.googleusercontent.com/OubMXEaSzW6cz-Rt9RyUGsuX2z_G2pbaWOSLNAI_1YuZEk9lVaehxLoZgJt6AbxshlaXTZ4HHvQjpxPRVTWVxlwCl-fPKhGsbSTcgVVvejMX1rS_DaeeX4yOVQyvp2y3cFkC6XMBihqiTrDY3qBYwq8" width="137" height="68" style="margin-left:0px;margin-top:0px"></span></span></p></td><td style="vertical-align:top;padding:5pt;overflow:hidden"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Poppins,sans-serif;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline"> Atul Tulshibagwale</span></p><p dir="ltr" style="line-height:1.5;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Poppins,sans-serif;color:rgb(102,102,102);background-color:transparent;vertical-align:baseline"> CTO</span></p><p dir="ltr" style="line-height:1.44;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial,sans-serif;color:rgb(136,136,136);background-color:transparent;vertical-align:baseline"> </span><a href="https://www.linkedin.com/in/tulshi/" target="_blank"><span style="font-size:11pt;font-family:Arial,sans-serif;color:rgb(17,85,204);background-color:transparent;vertical-align:baseline"><span style="border:none;display:inline-block;overflow:hidden;width:24px;height:24px"><img src="https://lh7-us.googleusercontent.com/nf4RO594hvFNyujzHdKSn1RCJcOIC1-Mk2-_S2GLH4LUi6Prxj4bL0tyguJ-6XH50k_fHPq6nynNBdkJwAzgGdYlImXDDKv07yQuj5PcskVaBqf9vL1Z2esDwZsb5Z9J4tvDcPiiZdQSuyzywRbH3Fs" width="24" height="24" style="margin-left:0px;margin-top:0px"></span></span></a><a href="mailto:atul@sgnl.ai" target="_blank"><span style="font-size:11pt;font-family:Arial,sans-serif;color:rgb(17,85,204);background-color:transparent;vertical-align:baseline"><span style="border:none;display:inline-block;overflow:hidden;width:24px;height:24px"><img src="https://lh7-us.googleusercontent.com/jy9xWqMUZyDKsa5W_-BxVILzsnbgKHSkJVzdCeCWVVSvhJbGal-I_Ja-qTTnA1SpYE65RrEcWMMLNPfbrp9HXjBOKdeXNIVuhOBg-vZe-Ed8e0rCV8BMjih-COWlyljD_Hfqg2SzCuqKASIsPk1O6_w" width="24" height="24" style="margin-left:0px;margin-top:0px"></span></span></a></p></td></tr></tbody></table><br></div><div dir="ltr" style="margin-left:0pt" align="left">--</div><div dir="ltr" style="margin-left:0pt" align="left"><div class="gmail-markdown-body" style="box-sizing:border-box;font-family:-apple-system,"system-ui","Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;color:rgb(31,35,40)"><div class="gmail-markdown-heading" style="box-sizing:border-box;margin-top:0px"><h1 class="gmail-heading-element" style="box-sizing:border-box;margin:0px 0px 16px;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgba(209,217,224,0.7)">WG Meeting: 2025-11-04</h1><a id="gmail-user-content-wg-meeting-2025-11-04" class="gmail-anchor" aria-label="Permalink: WG Meeting: 2025-11-04" href="https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004#wg-meeting-2025-11-04" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218);float:left;padding-right:4px;margin:auto;line-height:1;display:flex;width:28px;height:28px;border-radius:6px;opacity:0"></a></div><div class="gmail-markdown-heading" style="box-sizing:border-box"><h2 class="gmail-heading-element" style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgba(209,217,224,0.7)">Agenda</h2><a id="gmail-user-content-agenda" class="gmail-anchor" aria-label="Permalink: Agenda" href="https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004#agenda" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218);float:left;padding-right:4px;margin:auto;line-height:1;display:flex;width:28px;height:28px;border-radius:6px;opacity:0"></a></div><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px"><li style="box-sizing:border-box"><a href="https://github.com/openid/sharedsignals/issues/299" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218)">JWKS based Auth instead of / in addition to OAuth</a></li><li style="box-sizing:border-box;margin-top:0.25em">Multi-SET Push</li><li style="box-sizing:border-box;margin-top:0.25em">Conformance Tests Changes (Auth header for Push)</li><li style="box-sizing:border-box;margin-top:0.25em">Signals signify change. What about steady state</li></ul><div class="gmail-markdown-heading" style="box-sizing:border-box"><h2 class="gmail-heading-element" style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgba(209,217,224,0.7)">Attendees</h2><a id="gmail-user-content-attendees" class="gmail-anchor" aria-label="Permalink: Attendees" href="https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004#attendees" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218);float:left;padding-right:4px;margin:auto;line-height:1;display:flex;width:28px;height:28px;border-radius:6px;opacity:0"></a></div><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px"><li style="box-sizing:border-box">Atul Tulshibagwale (SGNL)</li><li style="box-sizing:border-box;margin-top:0.25em">Yair Sarig (Omnissa)</li><li style="box-sizing:border-box;margin-top:0.25em">Thomas Darimont (OIDF)</li><li style="box-sizing:border-box;margin-top:0.25em">Kenn Chong (RSA)</li><li style="box-sizing:border-box;margin-top:0.25em">Tushar Raibhandare (Google)</li><li style="box-sizing:border-box;margin-top:0.25em">Sean O'Dell (Disney)</li><li style="box-sizing:border-box;margin-top:0.25em">John Marchesini (Jamf)</li><li style="box-sizing:border-box;margin-top:0.25em">Ashish Kedia (Google)</li></ul><div class="gmail-markdown-heading" style="box-sizing:border-box"><h2 class="gmail-heading-element" style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgba(209,217,224,0.7)">Notes</h2><a id="gmail-user-content-notes" class="gmail-anchor" aria-label="Permalink: Notes" href="https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004#notes" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218);float:left;padding-right:4px;margin:auto;line-height:1;display:flex;width:28px;height:28px;border-radius:6px;opacity:0"></a></div><div class="gmail-markdown-heading" style="box-sizing:border-box"><h3 class="gmail-heading-element" style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;line-height:1.25">JWKS based Auth</h3><a id="gmail-user-content-jwks-based-auth" class="gmail-anchor" aria-label="Permalink: JWKS based Auth" href="https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004#jwks-based-auth" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218);float:left;padding-right:4px;margin:auto;line-height:1;display:flex;width:28px;height:28px;border-radius:6px;opacity:0"></a></div><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px"><li style="box-sizing:border-box">(Tushar) Receivers calling Transmitter APIs has OAuth as a standard, which has complexities. Client IDs, scopes, admin roles, etc. Lot of setup required<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">Because OAuth is flexible, it might be implemented differently by each entity</li><li style="box-sizing:border-box;margin-top:0.25em">When a Transmitter is calling the Receiver, we already use the idea of a JWKS specified in the Transmitter Configuration Metadata, which can be used to verify the signature.</li><li style="box-sizing:border-box;margin-top:0.25em">What if we were to have something complementary going the other way.</li><li style="box-sizing:border-box;margin-top:0.25em">No configuration other than specifying the Receiver URL is required. Each API call is signed using the Receiver's private key</li></ul></li><li style="box-sizing:border-box;margin-top:0.25em">(Atul) I like the idea, and it is complementary to Phil Hunt's earlier proposal that would allow Transmitters to create streams with Receivers</li><li style="box-sizing:border-box;margin-top:0.25em">(Thomas) Would there be a well-known URL for the receiver?</li><li style="box-sizing:border-box;margin-top:0.25em">(Tushar) Yes, we need to work out the details though</li><li style="box-sizing:border-box;margin-top:0.25em">(Yair) This is one more authentication option. Is the proposal to replace that flexibility, or just propose it as one option<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">In the current spec, if you support polling, you never need to call the receiver. This works in the on-premise use cases where the receiver may not be reachable</li><li style="box-sizing:border-box;margin-top:0.25em">If we do this, we will require the receiver to be available to the transmitter over the internet</li></ul></li><li style="box-sizing:border-box;margin-top:0.25em">(Sean) In some instances this abstracts it to where we can use JWT assertion grants or SPIFFE SVID JWTs<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">People are moving toward this way of doing things.</li><li style="box-sizing:border-box;margin-top:0.25em">We need to generalize it so that these possibilities are also allowed</li></ul></li><li style="box-sizing:border-box;margin-top:0.25em">(Ashish) I see two gaps. If the spec leaves the authz / authn optional, then each receiver and transmitter will have to know something about the other party in advance. Without a stronger standard, we cannot achieve more interoperability<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">Also, there is no good way for a Transmitter to discover all receivers it can connect to.</li><li style="box-sizing:border-box;margin-top:0.25em">We see these as blockers to future adoption.</li></ul></li><li style="box-sizing:border-box;margin-top:0.25em">(Thomas) Do receivers need to be discoverable?<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">(Ashish) Why can't transmitters discover receivers and open streams with them? A receiver can disallow a transmitter if required<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">When the identity federation is established, it can be established in either way, so why is this different</li></ul></li></ul></li><li style="box-sizing:border-box;margin-top:0.25em">(Yair) We will always have a discoverability issue, because we are sending customer information<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">I agree that the handshake should be bidirectional and simpler</li><li style="box-sizing:border-box;margin-top:0.25em">(Ashish) The handshake should be initiated on either end.</li></ul></li><li style="box-sizing:border-box;margin-top:0.25em">(Atul) 3 different concerns: Discoverability, handshake and method of authorization<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">(Tushar) we need a mechanism to discover events that receivers support</li></ul></li></ul><div class="gmail-markdown-heading" style="box-sizing:border-box"><h3 class="gmail-heading-element" style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;line-height:1.25">Roadmap</h3><a id="gmail-user-content-roadmap" class="gmail-anchor" aria-label="Permalink: Roadmap" href="https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004#roadmap" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218);float:left;padding-right:4px;margin:auto;line-height:1;display:flex;width:28px;height:28px;border-radius:6px;opacity:0"></a></div><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px"><li style="box-sizing:border-box">(Ashish) Perhaps we can have smaller work streams where some parties are more interested than others in specific areas</li><li style="box-sizing:border-box;margin-top:0.25em">(Tushar) +1 to Ashish</li></ul><div class="gmail-markdown-heading" style="box-sizing:border-box"><h3 class="gmail-heading-element" style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;line-height:1.25">Multi-SET Push</h3><a id="gmail-user-content-multi-set-push" class="gmail-anchor" aria-label="Permalink: Multi-SET Push" href="https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004#multi-set-push" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218);float:left;padding-right:4px;margin:auto;line-height:1;display:flex;width:28px;height:28px;border-radius:6px;opacity:0"></a></div><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px"><li style="box-sizing:border-box"><a href="https://www.ietf.org/archive/id/draft-deshpande-secevent-http-multi-set-push-00.html" rel="nofollow" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218)">Multi SET Push Draft</a></li><li style="box-sizing:border-box;margin-top:0.25em">Please review and email: <a href="mailto:saag@ietf.org" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218)">saag@ietf.org</a> with your comments / usefulness of the draft</li></ul><div class="gmail-markdown-heading" style="box-sizing:border-box"><h3 class="gmail-heading-element" style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;line-height:1.25">Conformance test update</h3><a id="gmail-user-content-conformance-test-update" class="gmail-anchor" aria-label="Permalink: Conformance test update" href="https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004#conformance-test-update" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218);float:left;padding-right:4px;margin:auto;line-height:1;display:flex;width:28px;height:28px;border-radius:6px;opacity:0"></a></div><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px"><li style="box-sizing:border-box"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">(Thomas) Current conformance tests allow the configuration of an empty push authorization header</p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">The implementers can get away without sending an authorization header.</li><li style="box-sizing:border-box;margin-top:0.25em">This is wrong, because the spec requires the authorization header to be replayed</li><li style="box-sizing:border-box;margin-top:0.25em">We have updated the test to conform better to the spec. We always generate a random push authorization header in the API to set up the stream, and we expect the header back in the push delivery. Also for "empty" (i.e. missing header)</li><li style="box-sizing:border-box;margin-top:0.25em">This simplifies the configuration a bit and it matches the spec better</li><li style="box-sizing:border-box;margin-top:0.25em">This uncovers an issue with the spec:</li><li style="box-sizing:border-box;margin-top:0.25em">It says a Transmitter "must" use the header value from the stream configuration, but it does not say what to do if the header is missing.</li></ul></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">(Yair) If the receiver did not ask for a header, should it not receive a header?</p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">(Thomas) This is not clear in the spec. It should specify the behavior when the authorization header is not specified in the stream configuration.</li></ul></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">(Atul) If the receiver doesn't specify the header, then it could still allow specific values that are agreed offline.</p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">(Thomas) We could ignore it, but it might indicate a configuration error.</li></ul></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">(Sean) This is less about security but more about testing. Should a receiver fail conformace testing if it accepts a non-empty authorization header when none was specified in the stream configuration?</p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">(Thomas) To me and Joseph, it made sense to only accept values that we had specified, accepting random values could indicate an issue with the receiver.</li><li style="box-sizing:border-box;margin-top:0.25em">(Thomas) It could be a warning and not an error</li><li style="box-sizing:border-box;margin-top:0.25em">(Sean) Warning sounds right.</li><li style="box-sizing:border-box;margin-top:0.25em">(Thomas) Created <a href="https://github.com/openid/sharedsignals/issues/301" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218)">Issue 301</a></li></ul></li></ul><div class="gmail-markdown-heading" style="box-sizing:border-box"><h3 class="gmail-heading-element" style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;line-height:1.25">Steady state</h3><a id="gmail-user-content-steady-state" class="gmail-anchor" aria-label="Permalink: Steady state" href="https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004#steady-state" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218);float:left;padding-right:4px;margin:auto;line-height:1;display:flex;width:28px;height:28px;border-radius:6px;opacity:0"></a></div><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px"><li style="box-sizing:border-box">(Ashish) Events indicate state change, once a stream is established, all future change will be transmitted. What about state that was established before the stream was created (e.g. a device was non-compliant, and never changed its state)<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">This is non-intuitive. There should be a way to synchronize the state.</li></ul></li><li style="box-sizing:border-box;margin-top:0.25em">(Atul) We need to address this, let's consider it in the roadmap discussion.<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">(Yair) This is going to be pretty complex. The receiver could be allowed to query state</li><li style="box-sizing:border-box;margin-top:0.25em">(Atul) There could be a new API to request state of the subject (subject could be as broad as needed)</li><li style="box-sizing:border-box;margin-top:0.25em">(Sean) Are you asking for a chronological history?</li><li style="box-sizing:border-box;margin-top:0.25em">(Ashish) No, but its interesting to know current state for all subjects (e.g. devices)<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">This came up in credentials change as well. The receiver would like to know if an existing user has MFA setup or not.</li></ul></li><li style="box-sizing:border-box;margin-top:0.25em">(Yair) This can be a huge number of subjects / state data. This spec is about security, whereas this is a different domain.</li><li style="box-sizing:border-box;margin-top:0.25em">(Ashish) I agree it is a different domain, but its related to making these specs effective. What you want to do based on change is dependent on the current state at the time of stream creation. E.g. if a device is non-compliant when the stream is created, then I want to immediately stop accepting it.</li><li style="box-sizing:border-box;margin-top:0.25em">(Kenn) This should be done out of band. The change event will have information about what the event is. Then there can be another API through which we can get more information. This might not be a shared signals concern. This could be something like JIT provisioning.</li><li style="box-sizing:border-box;margin-top:0.25em">(Kenn) It depends on the use-case.</li><li style="box-sizing:border-box;margin-top:0.25em">(Yair) I agree, usually there is a login flow and the current state is established at the time of login. Trying to establish state at the time of stream creation would be a huge amount of data.</li><li style="box-sizing:border-box;margin-top:0.25em">(Ashish) We do check compliance at the time of login, but at the time the stream is established, there would be a bunch of devices that are already not compliant. Future changes in compliance will generate events, but those that went out of compliance between login an stream establishment.</li><li style="box-sizing:border-box;margin-top:0.25em">(Ashish) SCIM is a very good standard that a lot of parties have implemented, but there's nothing like that in devices. Doing it out of band makes it implementation specific.</li></ul></li><li style="box-sizing:border-box;margin-top:0.25em">(Atul) Has this been discussed in SCIM?<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">(Ashish) The SCIM folks don't see much demand for it from participating organizations, but they agree this could be a future version. It might take time though.</li></ul></li></ul><div class="gmail-markdown-heading" style="box-sizing:border-box"><h2 class="gmail-heading-element" style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgba(209,217,224,0.7)">Action Items</h2><a id="gmail-user-content-action-items" class="gmail-anchor" aria-label="Permalink: Action Items" href="https://github.com/openid/sharedsignals/wiki/WG-Meeting-2025%E2%80%9011%E2%80%9004#action-items" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218);float:left;padding-right:4px;margin:auto;line-height:1;display:flex;width:28px;height:28px;border-radius:6px;opacity:0"></a></div><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px">Roadmap for SSF:</p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">Discoverability</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">Handshake</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">AuthZ Method</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">Reconciling / "steady state" or what is the state of things whith no change events. What is the current value of this identity or device with this context? On Demand Signals vs just change.</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><del style="box-sizing:border-box">Thomas to create an issue with the spec for empty authorization header value: <a href="https://github.com/openid/sharedsignals/issues/301" style="box-sizing:border-box;background-color:rgba(0,0,0,0);color:rgb(9,105,218)">Issue 301</a></del></p></li></ul></div><div id="gmail-wiki-footer" class="gmail-mt-5 gmail-Link--muted gmail-wiki-footer" style="box-sizing:border-box;font-family:-apple-system,"system-ui","Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:14px;margin-top:32px;color:rgb(89,99,110)"><br class="gmail-Apple-interchange-newline"></div></div></span></div></div></div>