Night Mode LabsBlue Book
Delivery

Feature Flag Management

Feature flags separate deployment from release. They are powerful safety controls when owned and retired; they become production debt when left unmanaged.

Flag types

  • Release flags control gradual exposure of new functionality.
  • Experiment flags test product hypotheses.
  • Operational flags disable risky or expensive behavior quickly.
  • Permission flags expose features to entitled users or tenants.
  • Migration flags shift traffic or behavior during system changes.

Flag metadata

Every flag should include:

  • Owner.
  • Purpose.
  • Creation date.
  • Expected removal date.
  • Default state.
  • Targeting rules.
  • Impact if toggled.
  • Link to rollout or migration plan.

Lifecycle

Practices

  • Keep defaults safe for new environments.
  • Log or audit production flag changes.
  • Test both enabled and disabled paths while the flag exists.
  • Remove flags after rollout or migration completes.
  • Use server-side enforcement for authorization-sensitive behavior.

Watchouts

  • Nested flags make behavior hard to reason about.
  • Stale flags create dead code and hidden risk.
  • Client-side flags can leak upcoming features or sensitive logic.
  • Emergency flags must be documented in runbooks.

On this page