Shared Signals Framework (SSF, CAEP and RISC)
What it is
The Shared Signals Framework (SSF) is the OpenID Foundation standard for sending security events between cooperating systems as they happen. A transmitter (an identity provider, an EDR tool, a SaaS app) publishes events about a subject (a user, session, device or token), and receivers that subscribed to an event stream act on them: end a session, force reauthentication, disable an account. It replaces the polling and long token lifetimes that leave a fired employee or a stolen session active for an hour or a day after the IdP knows.
SSF is a profile of IETF Security Event work. Each event is a Security Event Token (RFC 8417), subjects use Subject Identifiers (RFC 9493), and delivery uses push (RFC 8935) or poll (RFC 8936). Two companion specifications define what the events mean: CAEP, the Continuous Access Evaluation Profile, and RISC, Risk Incident Sharing and Coordination. Glossary versions: Shared Signals Framework, CAEP, RISC, Security Event Token.
Status (November 2026)
All three are OpenID Final Specifications, published 29 August 2025:
- OpenID Shared Signals Framework Specification 1.0
- OpenID Continuous Access Evaluation Profile 1.0
- OpenID RISC Profile Specification 1.0
The Foundation announced the approval on 16 September 2025. A Final Specification is not revised further, so this is among the most settled of the agent-relevant standards on this site. The working group's page, read 5 November 2026, lists a CAEP Interoperability Profile at Implementer's Draft stage, and the Foundation said in September 2026 that a self-certification test suite would launch that autumn. We could not confirm it had launched.
How it works
Discovery. A transmitter publishes metadata at /.well-known/ssf-configuration: its issuer, jwks_uri for signature keys, delivery_methods_supported, and the management endpoints (configuration_endpoint, status_endpoint, add_subject_endpoint, remove_subject_endpoint, verification_endpoint).
Stream setup. The receiver calls the configuration endpoint, authorized with OAuth or another method the transmitter names, to create a stream. It chooses the delivery method (urn:ietf:rfc:8935 for push, with its own endpoint_url, or poll) and the events_requested. The transmitter assigns a stream_id. The receiver can then add or remove subjects and ask for a verification event to prove the pipe works end to end.
An event. When an admin revokes a user's sessions at the IdP, the IdP sends each receiver a signed SET like this (simplified from CAEP 1.0):
{
"iss": "https://idp.example.com/",
"aud": "https://app.example.com/caep",
"jti": "24c63fb56e5a2d77a6b512616ca9fa24",
"iat": 1615305159,
"sub_id": { "format": "email", "email": "ada@example.com" },
"events": {
"https://schemas.openid.net/secevent/caep/event-type/session-revoked": {
"event_timestamp": 1615304991
}
}
}
The receiver verifies the signature against the transmitter's keys, finds the matching sessions, and ends them. With the same pattern a RISC account-disabled event (optional reason hijacking or bulk-account) tells every connected app to treat the account as disabled.
The event vocabularies. CAEP 1.0 has 8 event types: session revoked, token claims change, credential change, assurance level change, device compliance change, session established, session presented and risk level change. RISC 1.0 has 14, covering account credential change required, account purged, disabled and enabled, identifier changed and recycled, credential compromise, the opt-in and opt-out family, recovery activated, recovery information changed and sessions revoked.
What it solves for AI agents and SaaS
For SaaS and workforce identity, SSF closes the gap between "the IdP knows" and "the app acts". Without it, revoking a user at the IdP ends new logins, but sessions and access tokens already issued to apps stay valid until they expire. NIST IR 8587 (September 2026), Protecting Tokens and Assertions from Forgery, Theft, and Misuse, names SSF and CAEP and says cloud service providers and consuming agencies "SHOULD implement session revocation signals". It also notes "the SSF has seen significant adoption".
SSF is also the receiving end for ITDR and conditional access: a detection in one tool becomes a session termination in many apps within seconds, which matters most for session-cookie and token theft, the paths where MFA has already been passed (see session cookie theft and refresh token abuse).
For AI agents, SSF is the only Final standard that can revoke access mid-task across many resource servers. Model each agent as its own subject, subscribe every tool and MCP server it can reach as a receiver, and send session-revoked or account-disabled when the agent is disabled, its owner leaves, or its behavior trips a detection. The gap, recorded in SWI's Agent Identity Standards Map 2026: none of the 22 event types describes "this delegation grant was withdrawn" or "this agent was disabled", so agent semantics are a deployment convention, not a standard. The IETF AIMS draft recommends SSF for agents on that basis.
Adoption signals (verified)
- The OpenID Foundation's September 2025 release states that "Apple, IBM, Okta, and others, have already adopted these protocols."
- The specification authors work at SGNL, Okta, Coinbase, Amazon, Yubico, Cisco, Oracle and VeriClouds, per the published Final texts.
- caep.dev, a free online CAEP transmitter launched by SGNL with the working group, is linked from the working group page for testing receivers.
- NIST IR 8587 recommends session revocation signals using SSF and CAEP.
We list only what a primary source confirms. Many IdPs and ITDR tools market "shared signals" support; check for the OpenID event type URIs and stream management API rather than the phrase.
How to implement or evaluate
- Start as a receiver in your most sensitive app: accept
session-revokedandcredential-changefrom your IdP and end matching sessions. This is where most value lands first. - Ask vendors precise questions: which SSF version, push or poll, which CAEP and RISC event types they transmit and receive, which subject identifier formats, and how long from event to enforced session end.
- Use short access tokens anyway. Signals reduce exposure; they do not replace expiry. Pair them with RFC 7009 refresh-token revocation.
- Verify the stream. Use the verification endpoint on a schedule and alert when a stream stops delivering. A silent broken stream looks exactly like a quiet day.
- For agents, give each agent a stable subject identifier, register it with every receiver, and document your mapping (for example: agent disabled maps to RISC
account-disabled).
Pitfalls
- Subject mismatch. The transmitter's identifier (email,
iss+sub, opaque) must resolve to the receiver's account. Agree on formats up front. - Receivers that log but do not act. Test that a
session-revokedevent actually ends a live session. - Unauthenticated push endpoints. Validate signatures and
audon every SET, or an attacker can send fake revocations or block real ones.
Related
MCP authorization, AuthZEN, OAuth Transaction Tokens, ID-JAG and Cross App Access, the securing AI agent identities guide, and the Identity Breach Report 2026 for how often sessions and tokens outlived the response. Glossary: token theft, MFA blind zone.
Who wrote it
SSF is edited by Atul Tulshibagwale, Tim Cappalli, Marius Scurtescu, Annabelle Backman, John Bradley and Shayne Miel. RISC adds Phil Hunt and Stan Bounev among its authors. More in the experts directory.
Shared Signals Framework (SSF, CAEP and RISC): frequently asked questions
- What is the Shared Signals Framework?
- The OpenID Shared Signals Framework (SSF) 1.0 is a Final OpenID Foundation specification that defines how a transmitter (for example an identity provider) sends security events to receivers (for example SaaS apps) over a configured event stream. Each event is a signed Security Event Token (RFC 8417) about a subject such as a user, session or device, delivered by HTTP push (RFC 8935) or poll (RFC 8936). Two companion Final specifications define the events: CAEP for session and access changes and RISC for account security.
- What is the difference between CAEP and RISC?
- Both are event vocabularies on top of SSF. CAEP 1.0, the Continuous Access Evaluation Profile, defines 8 event types about live access: session revoked, token claims change, credential change, assurance level change, device compliance change, session established, session presented and risk level change. RISC 1.0, Risk Incident Sharing and Coordination, defines account-level events such as account disabled, account purged, credential compromise, identifier changed and sessions revoked, originally for coordinating account takeover response between providers.
- Is CAEP the same as Microsoft Continuous Access Evaluation?
- Not exactly. Microsoft documents Entra Continuous Access Evaluation (CAE) as based on the OpenID CAEP work, and its initial implementation covers Microsoft services such as Exchange, Teams and SharePoint Online, with Microsoft noting latency of up to 15 minutes for some events. CAEP itself is a vendor-neutral event vocabulary that any SSF transmitter and receiver can use. Support for Entra CAE does not by itself mean a product exposes an SSF stream to third parties, so check for the OpenID event type URIs and the SSF stream management API.
- Are SSF, CAEP and RISC final standards?
- Yes. All three were published as OpenID Final Specifications on 29 August 2025, and the OpenID Foundation announced them on 16 September 2025. A Final Specification is not subject to further revision and carries the Foundation's intellectual property protections, so implementers can build on it without expecting breaking changes.
- How do Shared Signals help with AI agents?
- They give you a standard way to cut off an agent's access in every connected app at once. If you model each agent as a subject, the identity provider can send a CAEP session-revoked or RISC account-disabled event the moment the agent is disabled or its owner leaves, and receivers end sessions and reject tokens. No event type is specific to agents or to a single delegation grant yet, so agent cases are mapped onto these session and account events.
Related on Start with Identity
- BlogA shared ChatGPT link could read the victim's session token and private chats, Parameter says
Parameter disclosed on October 28 a chain that let a shared ChatGPT conversation run script as chatgpt.com, read the viewer's session token and call ChatGPT's A
- ArticleIAM Maturity Model: A Self-Assessment Framework for Identity Programs
Assess your IAM program maturity with a 5-level model covering capability mapping, self-assessment questions, and prioritized improvement strategies.
- ArticleIAM Vendor Selection Framework: From RFP to Production
A structured framework for IAM vendor selection covering RFP templates, evaluation criteria, proof of concept planning, total cost of ownership analysis, and de
- GuideIdentity Governance Program Guide: Building an Effective IGA Framework
Design and implement a complete identity governance and administration program covering access reviews, segregation of duties, certification campaigns, and comp
- ArticlePrivileged Access Governance Framework: Policies, Monitoring, and Break-Glass Procedures
A complete framework for governing privileged access, covering PAM policies, session monitoring strategies, credential vaulting best practices, break-glass proc
- GlossaryShared Account
A shared account is a single set of credentials used by more than one person, or by a function rather than a person, such as a team mailbox, a kiosk or front-de