The CheckOps Engineer
LaunchDarkly
LaunchDarkly is a commercial feature-flag and experimentation platform. A developer plan is free; production use is metered, not sold per seat.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
LaunchDarkly stores feature flags and evaluates them in your application through SDKs. A flag can be boolean or multivariate, targeted by user or context, and changed without a deploy. The same account runs experiments and, in the current product, records sessions, errors, logs, and traces next to the flag. The company describes this as one platform for features and agents (AgentControl for LLM runs and online evals).
The service is closed source. SDKs are published for many languages and are the part you put in the repo. Pricing is usage, not seats: service connections for server-side SDKs and monthly active users for client-side SDKs. This is a release-control tool. It does not run your test suite. Tests often need a way to force a flag, which the SDKs support with test data sources.
Features
- Flags and targeting: Boolean and multivariate flags, individual targets, and percentage rollouts. Rules are evaluated in the SDK from a downloaded or streamed ruleset.
- SDKs: Server-side, client-side, and edge SDKs. The developer plan lists 30 SDKs across those groups. Server-side evaluation keeps raw rules off the device. Client-side evaluation does not.
- Experiments: A/B tests on flags, with Bayesian and frequentist analysis listed on the current plans. The developer plan includes 100,000 experimentation MAU per month.
- Environments and projects: Flags exist per environment (production, staging, test). The developer plan is limited to 1 project and 3 environments.
- Release workflows: Scheduled changes, approvals, and a release assistant show up on Enterprise, not on the free plan.
- Observability bundle: Session replays, errors, logs, and traces are included up to a cap (developer: 5,000 replays, 5,000 errors, 10 million logs, 10 million traces). This overlaps dedicated APM tools if you turn it on.
- AgentControl: Track an LLM request or an online eval as an “AI run.” Developer includes 5,000 runs a month and 14 days of retention.
- Test data source: Server SDKs can be pointed at an in-memory flag store in unit tests so CI does not call LaunchDarkly for every case.
Pros
- Flags without a redeploy: A rollout or a kill switch is a config change, which is the operational reason to buy a flag service.
- No per-seat price: The pricing page says seats are unlimited. You pay for service connections and client-side MAU.
- SDKs are the integration: Most languages have an official SDK and a documented test mode. You are not wrapping a private HTTP API alone.
- Developer plan is free indefinitely: $0, no credit card, with real flag evaluation inside the caps below.
- SSO and SAML on every plan: The pricing page states SSO and SAML are included even on Developer, which is unusual and worth using.
Cons
- Meters surprise serverless apps: A service connection is one server-side SDK connected to one environment for a month. Short-lived processes are billed fractionally, and a function-per-request design can still multiply connections. LaunchDarkly calls out custom pricing for Kubernetes, serverless, Python, and Ruby for this reason.
- Client-side MAU is a second meter: Each unique browser or device counts. A marketing site on a client SDK is a different bill from a server-evaluated flag.
- Flag debt: Stale flags are untested branches. The tool will not delete them for you. Someone has to own removal.
- The free plan is one project: Three environments and the ingest caps are for evaluation. A second product needs Foundation or a cleanup of the first project.
- Observability is easy to double-buy: Replays, errors, and traces inside LaunchDarkly overlap Sentry or Datadog. Know which system is the source of truth before both meters run.
Usage and Links (Example)
Server-side Node, production shape:
npm install @launchdarkly/node-server-sdk
const LaunchDarkly = require("@launchdarkly/node-server-sdk");
const client = LaunchDarkly.init(process.env.LAUNCHDARKLY_SDK_KEY);
await client.waitForInitialization({ timeout: 5 });
const showNewCheckout = await client.variation("new-checkout", context, false);
Use a server SDK key in the process environment, never a mobile or client key with server privileges. In unit tests, prefer the SDK’s test data source so variation returns fixtures and CI stays offline. The context object should carry a stable key; anonymous keys inflate client-side MAU if you use a client SDK.
Resources:
Pricing
From launchdarkly.com/pricing. Seats are not the meter.
- Developer: $0 with no stated end date. Unlimited seats, 1 project, 3 environments, 5 service connections, 1,000 client-side MAU, 5,000 session replays, 5,000 errors, 10 million logs, 10 million traces, 5,000 AI runs, 100,000 experimentation MAU, and 14-day AgentControl retention. Ingest stops at the caps.
- Foundation: Pay as you go after a 14-day trial. No platform fee. The plan card, marked billed yearly, lists $10 per service connection per month and $8.33 per 1,000 client-side MAU per month. The first 5 service connections are included. A comparison table on the same page shows client-side MAU at $10 per 1,000 per month, so confirm whether that cell is month-to-month before you forecast. Additional AI runs are $5 per 1,000. AgentControl retention is 30 days.
- Enterprise: Custom. Adds advanced targeting, custom roles, workflows and approvals, release automation, SCIM, and a tighter latency SLA. Guardian (release monitoring and automatic rollback) is a paid add-on on top of Enterprise.
Python, Ruby, serverless, and Kubernetes service-connection volume is called out as custom rather than the flat $10 rate.
Recommended for?
- Teams shipping behind flags who want targeting and kill switches without running a flag service themselves.
- A single product evaluating the workflow, on the free Developer plan’s one project and three environments.
- Experimentation tied to a flag, when the analysis in LaunchDarkly is enough and you do not already have a warehouse-native experiment tool.
- Not as a test lab. Use the SDK test mode inside Jest, pytest, or JUnit. Do not hit the live service from every unit test.
Conclusion
LaunchDarkly is a feature-flag service priced on evaluation volume, with a free Developer plan that is enough for one project. Put the server SDK in the app, force flags locally in tests, and delete flags after the rollout. Before you leave Developer, reconcile the $8.33 and $10 client-MAU figures on the pricing page and estimate service connections for the way your processes actually start. The flags do not test the software. They decide which software production users run.