API Key Rotation Checklist

Prevent Data Exposures Before They Happen

Rotate Keys Regularly, Before They're Exposed

A compromised key lets an attacker access your data forever unless it's revoked and rotated. This checklist keeps your secrets fresh. One page, 30 minutes per rotation cycle.

← Back to SLA Template

What This Is

API keys and secrets are the keys to your kingdom. If they're stolen, anyone can read your data, delete your resources, or impersonate your services. Rotation isn't just a best practice — it's the only way to limit the damage of a breach. This checklist gives you a repeatable process for keeping your secrets fresh and your systems secure.

Why You Need This

Pre-Rotation Preparation (15 Minutes)

Don't rotate in the dark. Gather everything you need first.

Pre-Rotation Checklist

During Rotation (30-60 Minutes)

Follow this order to minimize disruption. Rotate in the right direction: add new before removing old.

Rotation Sequence

  1. Add new keys to config: Deploy updated configs with fresh keys to all environments.
  2. Update service restarts: Restart services to pick up new configs. Do this in order of dependency.
  3. Verify in staging first: Test that new keys work correctly before touching production.
  4. Add cooldown period: Wait 5-10 minutes after each service restart to ensure stability.
  5. Roll out to production: Gradually rotate each key, one at a time.
  6. Verify endpoints: Test critical endpoints manually or via automated smoke tests.

Post-Rotation Verification (10 Minutes)

Don't assume it worked. Verify with data, not hope.

Post-Rotation Checklist

Rotation Schedule Guidelines

How often should you rotate? The rule of thumb: rotate before credentials are likely to be compromised.

Schedule by Risk Level

Worked Example

A fintech startup lost $120,000 when an old API key was stolen and used to withdraw funds. The key had been created 2 years earlier and never rotated.

They implemented this rotation schedule: internal admin keys every 90 days, user-facing API keys every 6 months. They automated the rotation process using a GitOps workflow: a PR with new keys → automated testing → merge → deployment. Failed tests → no rotation. Success → rotation complete.

Result: After one year, they had 12 rotations with zero incidents. Their security team confidently reported: "We can't fix stolen credentials, but we control how long they're valid."