[Openid-specs-risc] Call notes
Atul Tulshibagwale
atul.tulshibagwale at crowdstrike.com
Tue Aug 11 19:11:09 UTC 2026
Hi all,
The notes from today's meeting are stored here
<https://github.com/openid/sharedsignals/wiki/WG-Meeting:-2026%E2%80%9008-11>
and copied below.
Thanks to those who participated,
Atul
---
WG Meeting: 2026-08-11 <#Agenda>Agenda
- Poll based receivers
- Mike's versioning PR (#310
<https://github.com/openid/sharedsignals/pull/310>)
- Yair's PR: device management state change (#329
<https://github.com/openid/sharedsignals/pull/329>)
- Thomas: Additional CAEP Events for CAEP Interop
- WISE: Instances in subjects
<#Attendees>Attendees
- Yair Sarig (Omnissa)
- Atul Tulshibagwale (CrowdStrike)
- Apoorva Deshpande (Okta)
- Mike Kiser (SailPoint)
- Sahil Mukhija (CVS Health)
- John Marchesini (Jamf)
- Debayan Basu (Independent)
- Thomas Darimont (OIDF)
- Martin Gallo (Independent)
- Jack Zaldivar (Databricks)
<#Notes>Notes <#Poll-receivers>Poll receivers
- We're short by 2 receivers that use poll delivery in order to launch
the certification program.
- (Sahil) We will be able to test by end of September
<#Versioning-PR>Versioning PR
- (Mike) Do we need to have the old copies?
- (Apoorva) What do you mean not keep them? We need the published
copies.
- (Mike) Joseph suggested to keep the old copies if we need to make
changes
- (Mike) FAPI and others have kept the old files in order to work on
errata
- (atul) we should probably link to it from our spec page . . .
- (apporva) we use to link copies under drafts, but we haven't done
that recently
- (atul) Should the change from Yair's PR that changes the base URL
of the events go into Mike's PR?
- (Yair) yes.
- (Thomas) We should look at how OID4VC folks did it (for the VCI
spec). They have copied the 1.0 file to the 1.1 file to retain the GitHub
history, and then moved the 1.1 file to a "1.1" folder.
<#Device-compliance-change-PR>Device compliance change PR
- (Yair) I'll work on a new PR, once Mike has merged his.
<#Additional-Events-in-Interop>Additional Events in Interop
- (Thomas) A vendor wanted to try out the conformance suite, and they
only support the "risk level change" event, and no other event. So they
cannot use the tests as they stand right now - because the test suite
requires at least one of "session revoked", "credentials change", or
"device compliance change".
- (Thomas) We should be able to support this, so should we allow this
event as one of the events?
- (Apoorva) We should drop the requirement for the events, and allow any
events from the CAEP spec. We could include other specs later.
- (Atul) In the future we may have implementers implementing just some
CAEP or RISC or SCIM events.
- (Thomas) I could support all known (e.g. CAEP) events. It's fine to
limit it to CAEP for now, and later introduce other event types.
- (Thomas) The main purpose is to demo interoperability at the protocol
level. For that, it is sufficient to process at least one of the CAEP
events. If the transmitter and receiver don't have an overlapping set of
events, then we will have a problem.
- (Apoorva) Originally, I had brought this up. Interop should be about
the plumbing. But if we drop this requirement now, what happens to the
60-day period.
- (Yair) Are we going to list the events that an implementation is
certified for.
- (Thomas) No. We're not listing event types. Its just that the
conformance test suite claims to only know about the session revoked,
credentials change, and device copmliance change events.
- (Thomas) But we don't specify in the certification which events are
supported by this implementation
- (Apoorva) The spec currently requires one of 3 events: session
revoked, credential change, or device compliance change.
- (Yair) If we need to change the spec, we should also take care of the
complex subject issue. (We should allow complex subjects that include the
three formats: email, iss-sub, and opaque - only for verification)
- (Thomas) See: CAEP Interop Profile Suggestions
- (George) What is the goal for people to be certified. There seems to
be a lot of variability in what it means to be certified, for example,
implementation 1 supports 2 events, and the other support the 3rd event,
then it is still incompatible. Can you have certification to mean "I
implemented SSF correctly". When events get added, the permutations
explode. Does certification mean interoperability, or does it mean
something else.
- (Thomas) Certification is currently specified as such. We had
use-cases only as a "lowest common denominator" thing. We don't really care
about what an implementation does with the event it sends or receives.
- (Thomas) The fact that we are just limited to those 3 event types is
an arbitrary decision, based on the most common implementations we were
seeing.
- (George) IIUC, the goal is that "I implement SSF correctly", and the
way to do it is by showing that I support specific event types. Today, the
test framework supports 3 known events, but we can extend that to mean any
CAEP event. I think that is useful (that you implemented th core protocol
correctly).
- (Thomas) Yes, that is as it is intended right now. The CAEP Interop
Profile gives us a framework that specifies the required capabilities. The
number / type of events supported is actually a 2nd order thing.
- (George) I don't think the interop and certification have to be the
same. If the certification isn't going to say "you have implemented these
events correctly", then the certification is not the same as the interop
profile.
- (Atul) How about we keep the interop profile unchanged, but we loosen
the requirement in the certification tests to be any CAEP Event, not just
the three.
- (Thomas) We should align with the spec wording. I would recommend to
change the spec to loosen the requirement. See my suggested text below.
- (Yair) Should we also add complex subjects in that PR then?
- (Thomas) Supporting complex subject type is very common.
- (Yair) If I send a "device compliance" event with a complex subject,
then will it pass certificaiton?
- (Thomas) Not at this time.
- (Yair) The suggestion is to add complex as one of the types that must
be supported, and it can include two or more members that are already
specified (email, iss-sub, and opaque).
<#Action-Items>Action Items
- Atul to create a PR to loosen this requirement, considering Thomas'
language suggestion below. We can then discuss that PR in the next meeting.
-
<#Misc>Misc <#Thomas-CAEP-Interop-Profile-Suggestions>Thomas' CAEP Interop
Profile Suggestions
Change section 3. to ## 3. Event Types and Use Cases
## 3. Event Types and Use Cases
### 3.1. General Requirements
An implementation conforming to this profile MUST support at least one CAEP
[CAEP] event type, and MUST declare each event type it supports.
For each declared event type:
- A Transmitter MUST be able to generate events of that type as defined in
[CAEP], MUST populate all claims defined as REQUIRED for that type, and
MUST populate `reason_admin` with a non-empty object.
- A Receiver MUST be able to accept events of that type and MUST interpret
all claims defined as REQUIRED for that type in [CAEP]. A Receiver MUST
NOT reject an event solely because it contains OPTIONAL claims that the
Receiver does not interpret.
Sections 3.2 through 3.n define additional requirements for specific event
types. An implementation declaring support for an event type profiled in
those sections MUST also meet the requirements of the corresponding
subsection.
Add a Risk Level Change use-case
### 3.4. Risk Level Change
In order to support notifying and responding to changes in the assessed
risk level of a subject, implementations MUST support the CAEP event type
`risk-level-change`. This event is used to signal that the Transmitter's
assessment of the risk associated with a subject has changed.
Implementations MUST support the following field values:
`principal`
Receivers MUST interpret all allowable values of this field. Transmitters
MAY generate any allowable value of this field
`current_level`
Receivers MUST interpret all allowable values of this field. Transmitters
MAY generate any allowable value of this field
`previous_level`
Receivers MUST interpret all allowable values of this field, and MUST
handle its absence as specified in [CAEP]. Transmitters SHOULD populate
this field when the previous risk level is known to the Transmitter
`reason_admin`
Transmitters MUST populate this value with a non-empty object
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-risc/attachments/20260811/52a8fd05/attachment-0001.htm>
More information about the Openid-specs-risc
mailing list