What Is LaunchDarkly?
Short version: LaunchDarkly is a feature flag service. It lets you ship code to production with a feature switched off, then turn it on for 1% of users, then your beta list, then everyone, without deploying again. The long version is below, including the parts that make it complicated.
Worth knowing who wrote this: we're ShipSilently, a feature flag service that competes with LaunchDarkly. We've kept this page to things you can verify, with sources at the bottom, because a page that shades the facts is worth less to us than one you'd send to a colleague. Found something wrong or out of date? Tell us and we'll correct it.
Not affiliated with or endorsed by LaunchDarkly. LaunchDarkly is a trademark of its owner, used here to refer to their product. For official documentation see launchdarkly.com/docs.
The problem it solves
Without feature flags, "deployed" and "released" are the same event. You merge, you deploy, every user gets the new thing at once, and if it's broken your options are roll back or fix forward while production burns.
A feature flag splits those two events apart. The code goes to production behind an
if that reads a value from a remote service. Deploy on Tuesday with the flag
off, nothing changes for anyone. Turn it on Thursday for internal staff, Friday for 5% of
traffic, next week for everyone. If it misbehaves at 5%, you flip it off in the dashboard
and it's over in seconds, no deploy pipeline involved.
LaunchDarkly sells the service on the other end of that if: somewhere to define
flags, rules for who sees what, a dashboard to change them, and SDKs that keep your
application's copy of the answer current.
If you want the concept rather than the vendor, our Academy chapter on feature flags covers it without mentioning anyone's pricing.
How it works in practice
You install a LaunchDarkly SDK in your application (they publish 25 to 30 of them, covering most languages and platforms). At startup the SDK opens a streaming connection and pulls down the current flag configuration. From then on, evaluating a flag is a local, in-memory lookup, so it doesn't add a network round trip to your request path.
When someone flips a flag in the dashboard, the change is pushed down that open connection and takes effect in the running application within a second or so. This is the part that makes a kill switch a kill switch rather than a config change waiting for a deploy.
A flag evaluation in code looks roughly like this:
const showNewCheckout = await client.variation(
'new-checkout', // flag key
{ kind: 'user', key: user.id, plan: user.plan }, // context
false, // fallback if we can't reach LaunchDarkly
); That third argument matters more than it looks. It's the value your code uses when the SDK can't reach the service, and choosing it badly is how a flag vendor's bad afternoon becomes your incident. The safe default is always the old, known-working behaviour.
The vocabulary
| Term | What it means |
|---|---|
| Project | A top-level container, usually one per product or application. Flags live inside a project. |
| Environment | Production, staging, development. Same flags, independent values and targeting, and a separate SDK key each. |
| Flag | The switch itself. Boolean (on/off) or multivariate (several possible values, such as three copy variants). |
| Context | Whoever or whatever you're targeting: a user, an organisation, a device. Has a kind, a key, and attributes. |
| Segment | A reusable named group of contexts ("beta testers", "EU customers") you can target from many flags at once. |
| Targeting rule | The logic deciding which context gets which value. Attribute matches, segment membership, percentage rollouts. |
| Service connection | A billing unit, not a product concept. Roughly, each connected server-side SDK instance. See pricing. |
| Relay Proxy | A service you run yourself that holds one connection to LaunchDarkly and serves your fleet locally. |
Beyond flags
LaunchDarkly stopped being only a flag tool some years ago. The platform now also covers experimentation (A/B tests with a genuinely sophisticated stats engine, including CUPED variance reduction and sequential testing), release automation with guarded rollouts that watch a metric and roll back automatically, enterprise governance in the form of approval workflows, scheduled changes, SAML, SCIM and custom roles, and more recently observability features like session replay and error monitoring.
Most of that sits on higher tiers or costs extra. Experimentation is a paid add-on; guarded rollouts live on the Guardian tier; the governance features are Enterprise. It's a deep product, and the depth is priced accordingly.
Is it more than you need?
This is the honest question, and the answer genuinely depends on what you're doing with it.
LaunchDarkly is the right call when experimentation is central to how your team decides what to build, when you need approval workflows and audit trails because a regulator will ask, when you want automatic rollback tied to live metrics, or when you have services in six languages and need every SDK to be battle-tested. Nothing else in the category matches it on those.
It's oversized when what you actually use is boolean flags, percentage rollouts and a kill switch. That's a large share of teams, and it's the group most likely to be startled by a renewal quote, because the pricing is built for the platform rather than for the three features they're touching.
Whichever way that lands for you, work out the number first. It's harder to reason about than a per-seat price, and it's the thing most likely to change your mind later.
FAQ
What is LaunchDarkly used for?
Turning features on and off in a running application without redeploying it. Teams use it to decouple deploy from release (ship code dark, enable it later), to roll features out gradually to a percentage of users, to run A/B experiments, and as a kill switch for shutting off a misbehaving feature in seconds rather than waiting on a rollback.
Is LaunchDarkly a feature flag tool?
Yes. It is the largest and most mature product in the feature flag category, founded in 2014, and it is generally the reference point other tools are compared against. It has since grown into a broader "feature management" platform that also covers experimentation, release automation, and (since its move into observability) session replay and error monitoring.
Is LaunchDarkly free?
There is a free Developer tier with real limits: 3 environments, 5 service connections and 1,000 client-side monthly active contexts. It is enough to evaluate the product and too small for most production deployments. Paid pricing is usage-based on top of that.
What is a context in LaunchDarkly?
A context is whatever you are targeting a flag at. Earlier versions of the product called this a "user", but the concept was generalised because teams needed to target on things that are not people: an organisation, a device, a request, a store location. A context has a kind (like "user" or "organization"), a key, and attributes you can write targeting rules against.
What is the LaunchDarkly Relay Proxy?
A service you run inside your own infrastructure that holds the connection to LaunchDarkly and serves flag values to your applications locally. It is often deployed to reduce outbound connections, to keep flag evaluation working in restricted networks, and to lower the service-connection count that LaunchDarkly bills on. It is not the same thing as self-hosting: the control plane still lives in LaunchDarkly.
What are the main alternatives to LaunchDarkly?
Open-source and self-hostable options include Unleash and Flagsmith. Statsig is the closest competitor on experimentation depth. ConfigCat and ShipSilently compete on simplicity and flat pricing. Which one fits depends mostly on whether you need experimentation, on-prem, or just reliable flags at a predictable price.
More on LaunchDarkly
Flat pricing, and an SDK that reconnects on its own
ShipSilently is a $49/month flat-priced feature flag service that runs on any runtime. We are smaller than LaunchDarkly and we do not ship experimentation, SCIM or custom RBAC yet, our comparison page says exactly where each of us wins.
$49/month is the 2026 price. List goes to $89/month on January 1, 2027, and subscriptions started before December 31, 2026 stay at $49.
Sources
- LaunchDarkly product documentation: launchdarkly.com/docs/home
- Contexts and targeting: launchdarkly.com/docs (context kinds, attributes, segments)
- Pricing and billing units: launchdarkly.com/docs/home/account/calculating-billing
- Tier contents and rates are the dataset behind our comparison page, re-verified quarterly.
Checked against the linked sources on 2026-07-25. LaunchDarkly changes its docs and pricing without notice, so treat their pages as authoritative over ours and email us when we drift.