Skip to content

Shared Signals Framework

  • OpenID Shared Signals Framework 1.0
  • CAEP (Continuous Access Evaluation Protocol) 1.0
  • RISC (Risk Incident Sharing and Coordination) 1.0
Flow IDNameDescription
ssf-stream-configurationStream ConfigurationCreate and configure event streams
ssf-push-deliveryPush DeliveryTransmitter pushes SETs to receiver
ssf-poll-deliveryPoll DeliveryReceiver polls transmitter for SETs
caep-session-revokedSession Revoked (CAEP)Session revocation event and response
caep-credential-changeCredential Change (CAEP)Credential change event and response
risc-account-disabledAccount Disabled (RISC)Account disabled event and response
risc-credential-compromiseCredential Compromise (RISC)Credential compromise event and response
  • SSF Interactive Sandbox — Full transmitter/receiver sandbox
  • Session Revocation Demo — CAEP session revoked event lifecycle
  • Credential Compromise Response — RISC response action execution
  • Push vs Poll Comparison — Delivery mode behavior comparison

session-revoked, credential-change, device-compliance-change, credential-compromise, account-disabled, account-enabled, account-purged, identifier-changed, assurance-level-change, token-claims-change, identifier-recycled, account-credential-change-required, sessions-revoked

PathMethodsPurpose
/ssf/.well-known/ssf-configurationGETSSF discovery
/ssf/jwksGETTransmitter JWKS
/ssf/streamPOST, GET, PATCH, DELETEStream CRUD
/ssf/statusGET, POSTStream status
/ssf/subjectsGET, POSTSubject management
/ssf/actions/{action}POSTTrigger event action
/ssf/pushPOSTPush delivery
/ssf/pollGET, POSTPoll delivery
/ssf/ackPOSTAcknowledge events
PathMethodsPurpose
/ssf/receiver/pushPOSTReceive pushed SETs
/ssf/receiver/statusGETReceiver health
/ssf/receiver/eventsGETReceived event log
/ssf/receiver/actionsGETResponse action log
PathMethodsPurpose
/ssf/events/streamGETSSE event stream
/ssf/eventsGETEvent history
/ssf/security-stateGETAll security states
/ssf/security-state/{email}GETState by subject
/ssf/decodePOSTDecode SET

SSF runs a standalone receiver on port 8081 alongside the main API on port 8080. Push delivery to {baseURL}/ssf/receiver/push is proxied to the internal receiver. The receiver validates SETs and executes response actions via the MockIdP action executor.

  • Stream configuration: delivery method, event types, subject format
  • SET structure: iss, iat, jti, events claim with event URI keys
  • Push delivery: SET JWT signature, receiver bearer token authentication
  • Poll delivery: sets response, more_available flag, acknowledgment
  • Response actions: receiver processes event and updates security state
  • Security state: subject state changes after event processing