Rotate a webhook signing secret
What It Does
Signing-secret rotation gives providers time to switch to a replacement. Local secret references change before provider re-registration is necessarily successful. A scheduled expiry removes the old reference after the overlap.
The Flow
When Something Fails
Reject disabled endpoints and an already rotating endpoint. No intended rotation begins on that refusal. A provider registration failure is recorded after local rotation. The provider can continue using the old signing secret; secret storage cannot roll back with the database. Apply the normal message failure and retry handling. Notification processing can still fail for unrelated verification reasons. A later pass repeats failed expiry work. Previous-secret acceptance lasts longer if the dispatcher is unavailable.
Open Design Questions
Provider re-registration and local secret updates do not form one transaction. A provider left on the old secret loses verification once overlap expires.