Skip to content

SSF

Image: ghcr.io/parlesec/protocolsoup-ssf

Use SSF service to test security event stream configuration, CAEP/RISC event delivery, and receiver response actions.

PropertyValue
Primary port8080 (SSF APIs)
Receiver port8081 (push delivery listener)
HealthGET /health
SSF discoveryGET /ssf/.well-known/ssf-configuration
Receiver statusGET /ssf/receiver/status
  • POST|GET|PATCH|DELETE /ssf/stream — stream management
  • GET|POST /ssf/status — stream status
  • GET|POST /ssf/subjects — subject management
  • POST /ssf/actions/{action} — trigger event actions
  • POST /ssf/push — push delivery
  • GET|POST /ssf/poll — poll delivery
  • POST /ssf/ack — acknowledge events
  • POST /ssf/receiver/push — receive pushed SETs
  • GET /ssf/receiver/status — receiver health
  • GET /ssf/receiver/events — received event log
  • GET /ssf/receiver/actions — response action log
  • GET /ssf/events/stream — SSE event stream
  • GET /ssf/events — event history
  • GET /ssf/security-state — all security states
  • GET /ssf/security-state/{email} — security state by subject
  • POST /ssf/decode — decode SET token
  • GET /ssf/event-types — available event types

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

VariableRequiredDefaultDescription
SHOWCASE_BASE_URLYeshttp://localhost:8080External base URL
SSF_DATA_DIRNo./dataStream and receiver state directory
SSF_RECEIVER_PORTNo8081Standalone receiver listener port
SSF_RECEIVER_TOKENNoauto-generatedBearer token for push delivery authentication
Terminal window
docker run -p 8080:8080 -p 8081:8081 \
-e SHOWCASE_BASE_URL=http://localhost:8080 \
-e SSF_DATA_DIR=/app/data \
-v ssf-data:/app/data \
ghcr.io/parlesec/protocolsoup-ssf:latest
  • Port 8081 runs the standalone receiver. Keep it private unless you intentionally test external push delivery.
  • Push delivery to {baseURL}/ssf/receiver/push is proxied to the internal receiver on port 8081.
  • The receiver validates SETs and executes response actions (session revocation, credential compromise, etc.) via the built-in MockIdP action executor.
  • Set SSF_RECEIVER_TOKEN explicitly in shared environments.
  • Persist SSF_DATA_DIR to keep stream and event state across restarts.