Cloud & platform

Secrets management and rotation plan for application teams

Secrets management covers a credential’s full lifecycle: creation, storage, delivery, use, rotation, revocation, and retirement. Start with an inventory of what each secret authorizes and where it is used. A rotation is complete only when the new credential works, the old one is rejected, and the exposure path is addressed.

What matters first

  • Map secrets to authority, consumers, owners, and expiry or rotation requirements.
  • Use scoped delivery and avoid embedding credentials in public or reusable artifacts.
  • Verify old-credential rejection and investigate suspected exposure.

Inventory authority instead of collecting secret values

Record the provider, purpose, owner, environment, consumers, and permissions of each credential. Do not build the inventory by copying secret values into a general spreadsheet. The useful record explains where a secret is managed and what changing it will affect.

Include webhook signing secrets, integration tokens, database credentials, signing keys, CI tokens, and recovery credentials. Different types have different rotation and verification procedures. Identify broadly shared credentials that make attribution and safe replacement difficult.

References: [1] OWASP, [2] AWS

Review storage and delivery boundaries

Use the environment’s appropriate secret-management capabilities and restrict who can retrieve or change values. Review how secrets reach the runtime, build pipeline, and local development workflow. A centrally stored secret can still be exposed by an overly broad role, debug endpoint, or careless log statement.

Keep secrets out of source control, container layers, browser bundles, and unnecessary diagnostic output. Where a provider supports short-lived workload identity, evaluate whether it can replace a long-lived credential for that use case. The replacement still needs a correctly scoped trust relationship.

References: [1] OWASP, [3] Next.js, [4] GitHub

Design a controlled rotation sequence

Identify every consumer and the provider’s support for overlapping credentials, versioned secrets, or immediate revocation. Plan the sequence so the team can move consumers to the replacement and verify behavior. If a credential is actively exposed, containment urgency may change the ordinary rollout process.

Perform sensitive recovery steps from a trusted administrative environment. Review related credentials or sessions that may be reachable from the same exposure path. A new value stored on a compromised machine can be exposed again before the rotation achieves its purpose.

References: [1] OWASP, [5] NIST

Verify revocation and prevent recurrence

Confirm that intended consumers use the replacement and that the old credential is rejected under the provider’s model. Check queued jobs, secondary deployments, caches, and rarely used integrations. Keep evidence of the consumer update and revocation without recording the secret itself.

If the trigger was a leak, investigate relevant usage and fix the process that exposed it. Removing a file or rewriting history does not invalidate retrieved copies of a credential. Add a release or logging check that addresses the underlying path rather than treating rotation as the only corrective action.

References: [6] GitHub, [7] OWASP, [1] OWASP

Your next steps

  1. Create a credential inventory containing authority and ownership, not secret values.
  2. Identify unnecessary sharing and broad retrieval or change permissions.
  3. Agree a provider-specific replacement and revocation sequence.
  4. Verify old-credential rejection and scope a review of the exposure path.

Questions teams ask

Does storing a key in an environment variable make it secure?

It is a delivery mechanism, not a complete security boundary. Review who can access the process, logs, build output, and configuration.

Is changing the secret value the same as revoking the old key?

Not always. Confirm the provider’s lifecycle behavior and explicitly verify that old credentials no longer authorize access.

Sources and editorial notes

Public-source facts are cited above. The review questions and action plans are Cyphen’s guidance for applying those lessons to your own systems. Sources checked on .

  1. OWASP: Secrets Management Cheat Sheet
  2. AWS: Security best practices in IAM
  3. Next.js: Environment variables and browser bundling
  4. GitHub: OpenID Connect in GitHub Actions
  5. NIST: Incident Response Recommendations: SP 800-61 Rev. 3
  6. GitHub: Removing sensitive data from a repository
  7. OWASP: Logging Cheat Sheet