Skip to content

feat(sso): client-secret rotation — rewrap_dek + value re-seal + warn-on-stale #10154

Closed

Description

@mrveiss

Phase C2 of #8994. Depends on C1.

Rotation = (a) KEK rotation via envelope rewrap_dek (no payload re-encrypt); (b) value rotation via re-seal when operator rotates at the IdP. Default 90-day advisory cadence, warn-on-stale, never hard-expire (spec §4). Admin-initiated always available. Audit each rotation.

AC:

  • rewrap_dek KEK rotation (plaintext unchanged)
  • value re-seal rotation
  • warn-on-stale surfaced in SSOSettings.vue
  • audit row per rotation
  • tests

Design: docs/superpowers/specs/2026-06-15-enterprise-sso-federation-design.md (branch issue-8994). Parent sub-umbrella #8994 (under umbrella #9930).

Activity

  1. mrveiss commented on Jun 21, 2026

    @mrveiss
    OwnerAuthor

    BLOCKED on #10437 (expose rewrap_dek KEK-rotation on UnifiedSecretsService/API) and on C1 #10153. rotate_value requires new plaintext; KEK-rotation-without-value-change is not surfaced.

  2. mrveiss commented on Jun 26, 2026

    @mrveiss
    OwnerAuthor

    Merged to Dev_new_gui (5f2e83cc3, PR #10498). SSO secret rotation: rotate-kek (via #10437 rewrap_dek — rotate KEK, keep value) + rotate-value (re-seal new secret) endpoints (SECURITY_MANAGE-gated), {field}_rotated_at tracking + check_staleness warn-on-stale (SSO_SECRET_MAX_AGE_DAYS env, default 90d) surfaced on the provider-health response. 24 tests pass. Batch #10440.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions