Distributed Systems & Enterprise ResiliencePlaybook3 min readUpdated September 2026

The Database Password That's Three Years Old and Everyone's Afraid to Touch

Every distributed system accumulates a few secrets nobody wants to rotate: a database password set up at launch, an API key with unclear ownership, a service credential that would take down three things if it changed and nobody's sure which three.

This is how those secrets pile up, and a practical path to rotating them without an outage on rotation day.

The fear of rotation is usually a fear of the unknown blast radius

Teams avoid rotating old secrets not because rotation itself is hard, but because nobody's confident they know every place a given credential is used. Rotating something with an unknown blast radius risks breaking a service nobody remembered depended on it.

The fix starts with mapping usage before touching the value: search configs, environment variables, and secret manager access logs for every place a credential is actually read. This turns 'we're afraid to touch it' into 'we know exactly what touches it,' which is what makes rotation safe.

Design for rotation from the start with dual-secret support

A service that only accepts one active credential value forces synchronized rotation across every service using it, a genuinely risky coordination problem. A service that accepts two valid values during a transition window, the old and the new, lets you rotate consumers one at a time without a hard cutover moment.

This pattern, common in OAuth token refresh and increasingly supported by modern secret managers, turns rotation from a scheduled outage risk into a background operation nobody notices.

Short-lived credentials beat rotating long-lived ones

The strongest fix for the fear of rotation is removing long-lived secrets from the picture entirely where you can. Short-lived credentials, issued for minutes or hours and automatically renewed, mean there's no old value sitting around for years accumulating risk and reluctance.

This isn't possible for every credential type, some third-party integrations only support static API keys, but wherever your infrastructure supports it, dynamic short-lived credentials remove the entire category of problem this article is otherwise solving for.

A worked example: rotating a credential nobody had touched in years

Say a database password set at launch has never been rotated, and searching for it turns up references in four services, an old cron job, and a data export tool nobody remembers who owns. Rotating it blind would risk breaking whichever of these still actively depends on the old value.

Adding the new password as a second valid credential, confirming each known consumer has switched over by watching connection logs for the old value's use dropping to zero, then revoking the old one only once nothing's touched it in two weeks, turns a nerve-wracking unknown into a monitored, reversible process.

Where secrets rotation efforts stall

  • A secret manager holding values that were still uploaded manually and never automated for rotation
  • No usage mapping, so nobody's confident what breaks if a given credential changes
  • Services that only support one active credential value, forcing risky synchronized cutovers
  • Rotation policy that exists on paper but has no actual owner or schedule enforcing it

Automate rotation for the credentials that matter most first

Not every secret needs the same rotation cadence. Prioritize by blast radius: database and infrastructure credentials that touch customer data first, low-risk internal tooling credentials later. The same federal patch-remediation standard used for software vulnerabilities is a reasonable urgency bar to borrow here: critical, internet-facing vulnerabilities get remediated within 15 days, and anything already under active exploitation within 141, which is roughly how fast a credential you know is exposed deserves to be rotated.

Start with automated rotation for your two or three highest-risk credentials rather than trying to solve every secret in the system at once. A working rotation process for the credentials that matter most beats a stalled plan to rotate everything.

Document the rotation runbook before you need it under pressure

Rotating a routine credential on a calm Tuesday and rotating one during an active incident, because it may have leaked, are very different situations, but they should follow the same steps. Writing the runbook down in advance, who approves it, how consumers are notified, how you confirm the old value is no longer in use, means an incident rotation follows a tested process instead of being improvised.

A runbook that's only ever been read, never actually exercised, tends to have gaps that only show up the first time someone tries to follow it under pressure. Running through it once on a low-stakes credential is worth the hour it takes.

Executive Capability Standard

What Good Looks Like

A mature secrets program maps every credential's actual usage before rotating it, supports dual valid values during transitions, and moves toward short-lived, automatically renewed credentials wherever the infrastructure allows.

Building The Capability (5-Stage Skill Ladder)

1. Learn:Pick your three oldest, highest-risk secrets and map every service or job that actually reads them.
2. Do Manually:Rotate one of those three by hand, watching usage logs to confirm nothing still depends on the old value before revoking it.
3. Delegate:Give a specific team ownership of the rotation calendar, with authority to require dual-secret support in new services from day one.
4. Automate:Move your highest-risk credentials to a secret manager with automated rotation and short-lived tokens where your infrastructure supports it.
5. Buy:Bring in a security engineering specialist once you're managing rotation across enough services that manual usage mapping no longer scales.

How to Get Started

Frequently Asked Questions

How often should database credentials actually be rotated?

Every 90 days is a common baseline for credentials without dynamic short-lived support, though the more important question is whether you have a working process at all. A credential rotated once a year through a tested process beats one that's supposed to rotate every 90 days but never actually does.

Is dual-secret support worth the added complexity for a small team?

For your highest-risk credentials, yes, since the alternative is a synchronized cutover that risks an outage every time you rotate. For low-risk internal tools, a simple scheduled rotation with brief planned downtime is often good enough.

What's the safest first step if we've never rotated a critical secret?

Map every place it's actually used before changing the value. Rotating blind is how an old, seemingly safe credential turns into an unplanned outage, while a usage map turns the same rotation into a monitored, low-risk process.

What should trigger an emergency, out-of-schedule rotation?

Any credible signal the credential may have leaked: it appeared in a log file that got shared externally, a former employee had access and offboarding was delayed, or it showed up in a public code repository, even briefly. Treat these as automatic triggers rather than judgment calls made case by case under pressure.

Sources

Where we quote a benchmark, we show its source. Other figures in this guide are estimates or general guidance, so check them against your own numbers.

  1. Security patch remediation SLAs (CISA federal mandates, used as industry norm). CISA Binding Operational Directives 19-02 and 22-01 (CISA briefing hosted at NIST CSRC), 2022.

Related Guides