Skip to main content

Identity Service — Service Risk Register

Status: populated Owner: TBD Last updated: 2026-04-18 Companion: Service Template · FAILURE_MODES · SECURITY_MODEL

1. Risk catalog

IDCategoryRisk descriptionLikelihoodImpactSeverityOwnerMitigationStatus
RISK-IDENT-01SecurityJWT signing key compromise enables platform-wide impersonationLowCriticalHighSecurity teamAWS KMS with hardware-backed keys; key rotation 90 days; KMS access restricted to identity-service IAM role only; audit all key usageOpen
RISK-IDENT-02SecurityArgon2id parameter tuning insufficient; credential database breach leads to mass password recoveryLowHighHighPlatform team64 MiB / 3 iterations / 1 thread; breach-list check on new passwords; account lock on failed attemptsOpen
RISK-IDENT-03AvailabilityKMS availability dependency — full login outage if KMS unreachableMediumCriticalHighSREKMS multi-region; circuit breaker 5 failures; signed JWT cache in memory (15 min TTL); runbookOpen
RISK-IDENT-04ComplianceGDPR erasure not propagated to all downstream servicesMediumHighHighDPO + platform teamidentity.user.deactivated.v1 event consumed by all services; erasure checklist enforced in DEFINITION_OF_DONE.md; audit trailOpen
RISK-IDENT-05Data integrityLegacy credential migration introduces bcrypt hashes incompatible with argon2id verifierMediumMediumMediumMigration teamRe-hash on first login; fallback verifier for legacy hashes during migration window; monitor re-hash progress metricOpen
RISK-IDENT-06SecurityOIDC JIT provisioning creates shadow accounts outside tenant admin visibilityMediumMediumMediumIdentity teamEmit identity.external_identity.linked.v1; surfaced in admin user list with backend=oidc; JIT audit logOpen
RISK-IDENT-07PerformanceEffective license resolver ancestor walk adds latency under deep hierarchyLowMediumMediumPlatform team5-min Redis cache; event-driven invalidation < 30 s; alert on resolver p99 > 200 msOpen
RISK-IDENT-08AvailabilityKeycloak realm-per-tenant Keycloak outage disables broker-mode tenantsMediumHighHighSRE + Keycloak teamCircuit breaker per provider; in-house fallback for tenants with both backends; Keycloak HA clusterOpen
RISK-IDENT-09ComplianceSession not invalidated within token TTL after tenant suspensionLowHighHighIdentity teamProactive Redis revocation set on tenant.suspended event; maximum 15-min window; alert if event lag > 30 sOpen
RISK-IDENT-10OperationalDual-publish legacy event aliases create confusion and double-processingMediumMediumMediumPlatform teamInbox deduplication prevents double processing; aliases removed at M2; migration cut-over tracked in MIGRATION_PLAN.mdOpen
RISK-IDENT-11ScalabilitySession table grows to 50 M+ rows; slow queries on revocation checksMediumMediumMediumDBACovering index on (user_id) WHERE revoked_at IS NULL; cron purge; partition by month in M1Open
RISK-IDENT-12SecurityWebAuthn RP ID misconfiguration enables cross-origin credential theftLowHighHighSecurity teamRP ID pinned to platform domain; tested in contract suite; reviewed in security auditOpen

2. Risk summary

SeverityCount
High7
Medium5
Low0

3. Escalation path

Severity thresholdEscalation
High — securitySecurity team lead + CISO within 24 h
High — availabilitySRE on-call immediately
MediumTracked in sprint backlog; reviewed at milestone