English for Unleash Feature Flags Developers
Vocabulary for developers managing feature rollouts with Unleash — strategies, gradual rollout, activation strategies, and stale flags — for teams discussing feature flagging in English.
Unleash is an open-source feature flag platform that lets teams turn features on or off, roll them out gradually, and target them at specific user segments — all without a new deployment. It decouples deploying code from releasing a feature, which is a genuinely different mental model from “ship it and it’s live.” Its vocabulary — toggles, strategies, gradual rollout — comes up constantly in release planning and incident discussions. If your team uses Unleash or a similar flagging system, here’s the English you’ll need.
Core Concepts
Feature toggle — a flag that controls whether a piece of code path is active for a given user or request, checked at runtime instead of at deploy time. “The new checkout flow is already deployed to production — it’s just behind a feature toggle that’s off for everyone except internal testers.”
Decoupling deploy from release — the core idea behind feature flagging: shipping code to production and making a feature visible to users are two separate, independently controlled events. “We can merge and deploy the redesign today and still not release it until marketing is ready — that’s the whole point of decoupling deploy from release.”
Kill switch — a feature toggle specifically kept around to instantly disable a risky feature in production without a rollback deploy. “The moment error rates spiked, we flipped the kill switch on the new payment provider — no deploy, no rollback, just an instant toggle.”
Rollout Strategies
Activation strategy
An activation strategy is the rule Unleash uses to decide who sees a feature — by user ID, percentage of traffic, environment, or a custom condition.
“We’re using a
gradualRolloutstrategy at 10% for now — if error rates stay flat for a day, we’ll bump it to 50%, then 100%.”
Gradual rollout
Gradual rollout means exposing a feature to an increasing percentage of users over time, rather than flipping it on for everyone at once.
“Don’t jump straight to 100% on a payment-related change — gradual rollout at 5%, then 25%, then 100% gives us a much smaller blast radius if something’s wrong.”
Targeting / segments
Targeting lets a strategy apply only to specific user segments — internal staff, a beta cohort, a specific region — defined by constraints on user or context fields.
“We’re targeting the new dashboard at users with the
beta-testerattribute only — general users won’t see it until we widen the segment.”
Kill switch vs. permanent flag
Unleash distinguishes release flags (temporary, removed after full rollout) from permanent flags (ongoing kill switches or ops toggles meant to stay in the codebase).
“That flag’s been live since launch — it’s not a leftover release flag, it’s a permanent kill switch we keep in case we need to disable the integration fast.”
Flag Hygiene
Stale flag — a feature toggle left in the codebase after the feature has been fully rolled out (or fully rejected), adding unnecessary complexity and risk.
“That flag’s been at 100% for six months — it’s stale. Let’s remove the conditional and delete the flag before it causes confusion in a future incident.”
Technical debt from flags — the accumulated complexity of maintaining many old, unused toggles and their branching logic across the codebase.
“Flag technical debt is real — every stale toggle we don’t clean up is another branch someone has to reason about during a future refactor.”
Common Mistakes
| Mistake | Correction |
|---|---|
| Saying “the feature is deployed” when it’s still off | Say “deployed but not released” — those are meaningfully different states in a flagging system. |
| Leaving a flag at 100% indefinitely | Schedule flag cleanup as part of the rollout plan, not as an afterthought nobody owns. |
| Confusing a kill switch with a stale flag | A kill switch is intentionally permanent; a stale flag is an accidental leftover that should be removed. |
| Rolling out risky changes at 100% immediately | Use a gradual rollout strategy so a bad change affects a small percentage, not everyone. |
Practice Exercise
- Explain, in two sentences, the difference between deploying and releasing a feature to someone new to feature flagging.
- Write a short incident-response message explaining that a kill switch was flipped to disable a failing integration.
- Draft a PR description proposing the removal of a stale feature flag that has been at 100% rollout for months.