Feature Flags (feature toggles) — mechanism for turning features on/off at runtime without deploy. Code: if (flags.isEnabled("new-checkout")) { ... }. Enables: gradual rollout, A/B testing, kill switch for broken features, targeted release (beta users only, RU segment). Tools: LaunchDarkly ($), GrowthBook (open-source), Unleash, ConfigCat, build-your-own feature service.
Below: details, example, related terms, FAQ.
// LaunchDarkly example
import { LDClient } from 'launchdarkly-node-server-sdk'
const ld = LDClient.init(sdkKey)
if (await ld.variation('new-checkout', user, false)) {
return renderNewCheckout()
}Canary — deploy-time gradual. Feature flags — runtime toggle. Flags live longer (weeks): progressive rollout + experiments + kill switch.
Yes. Old flags clutter code. Best practice: TTL on a flag, auto-reminder in PR review after 30 days.
GrowthBook (free + paid), Unleash (free for 1 project), Flipt. LaunchDarkly — premium SaaS.