Skip to content

[BE-131] Document a secrets management and rotation procedure #990

Description

@mftee

Overview

The backend depends on a JWT signing secret, database credentials, mail credentials, OAuth client secrets for Google and GitHub, and Stellar configuration. There is no documented procedure for how these are supplied, who can access them, or how they are rotated.

A written procedure is what makes rotation a routine operation rather than an emergency.

Tasks

  • Document every secret the system requires, what it protects, and the blast radius if it leaks.
  • Document where each is stored per environment (platform secret store, CI secrets) — never a committed file, per [BE-112].
  • Write a rotation runbook per secret, including steps that avoid downtime. Note that rotating the JWT secret invalidates all live sessions unless a key-id scheme supports overlapping keys.
  • Consider supporting a key-id header on JWTs so signing keys can be rotated with a grace period.
  • Define a rotation cadence and an incident procedure for suspected exposure.
  • Document how contributors obtain development credentials without touching real ones.

Acceptance Criteria

  • Every secret is inventoried with its purpose and blast radius.
  • A tested rotation runbook exists for each.
  • JWT rotation has a documented approach to existing sessions.

Dependencies

Pairs with [BE-112].

Notes for Contributors

Comment below to be assigned.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programbackenddocumentationImprovements or additions to documentation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions