A switch that turns a feature on or off at runtime, for everyone or for a chosen group, without deploying new code.
Flags separate deployment from release: code can ship unfinished but hidden, a risky change can go to five percent of users first, and a problem can be switched off in seconds instead of rolled back under pressure.
We use flags for risky and gradual releases, give you control over who sees what, and remove flags once a feature is settled — old flags accumulate into a combinatorial mess that nobody can reason about.