Product Features

  • Setting up SSO via SAML 2.0

    LaunchDarkly supports the following SAML 2.0 identity providers:

    • Okta
    • OneLogin
    • Azure Active Directory
    • Google Apps
    • Active Directory Federation Services (ADFS)
    • PingIdentity
    • Centrify

    See our documentation for complete setup instructions as well as configuration tips for specific providers.

  • User Targeting

    LaunchDarkly targeting lets you turn features on or off for individual users or groups of users. You can use the Targeting tab to roll features out for internal testing, private betas, or usability tests before performing a broader rollout. You can create your own rules to target who you want, when you want!

  • Controlled and percentage rollouts

    The Targeting tab allows you to roll a feature out to a percentage of your user base. For example, you can roll a feature out to 1% of users, then gradually scale up to 100% as confidence in the feature increases. LaunchDarkly’s rollouts ensure that a user will always see the same version of a feature until the rollout changes. Top tech companies have termed this a canary release – exposing features to some subset of users (whether it be opt-in, random rollout, or specific segments) is now used to describe what was once a beta.

    • Microsoft: In development of Windows 10, Microsoft used “canary” releases to test with internal users within Microsoft. Gabe Aul, who leads the Data & Fundamentals Team in the Operating Systems Group (OSG), said “our Canary ring probably sees 2X-3X as many builds as OSG because we catch problems in Canary and don’t push to OSG.”
    • Instagram: “Using ‘canary’ releases, updates go out to a subset of users at first, limiting the ability of buggy software to do damage.” Mike Krieger, Instagram co-founder and CTO, said he uses canary releases because “If stuff blows up it affects a very small percentage of people”.
    • Google: For Chrome, Google offers Chrome Canary, which it labels with “Get on the bleeding edge of the web, Google Chrome Canary has the newest of the new Chrome features. Be forewarned: it’s designed for developers and early adopters, and can sometimes break down completely.”

    Percentage and Controlled Rollouts – Consistent Hashing

    To decide which variation to show to a user, you pass us a unique identifier for that user (like a primary key or UUID) that would be consistent throughout your system. Now, when you request a flag that has a percentage rollout, say 20%, we take that key and hash it to a number between 0 and 100. This is a deterministic, consistent hash, so that user will always be bucketed that way across all your nodes.

  • Custom targeting rules

    In addition to targeting individual users, LaunchDarkly allows you to target segments of users by constructing custom rules.In other words, you can create custom rules to target users based on any attributes you send us.

    Each rule has three parts: an attribute, an operator, and a user value.   You can create as many custom targeting rules as you want for each feature flag and even perform percentage rollouts for each rule.

    All users that have not been individually targeted or who are not targeted by a custom rule will be evaluated by the default rule.

    Learn more

  • Flag management dashboard

    LaunchDarkly provides you with a centralized dashboard to manage the lifecycle of your features from local development, to QA, to production. Manage multiple different software projects with their own development environments.

  • Projects and environments to manage your development process

    Projects allow you to manage multiple different software projects under one LaunchDarkly account. For example, you can create one project called Mobile App and another project called Web App. Each project will have its own unique set of environments and feature flags. By default, all team members in your LaunchDarkly account will have access to every project within that account.

    Environments allow you to manage your feature flags throughout your entire development lifecycle — from local development to QA, staging, and production.

    When you first sign up, you're provided with two environments within a project. By default, they're named Test and Production. Each environment has its own private SDK key, which is used to connect a LaunchDarkly SDK to a specific environment.

    Each feature flag that you create has its own unique set of targeting rules for each environment. This means that you can change your flag rollout rules in a development or staging environment for QA testing before rolling out to production.

See all 13 articles

Use Cases

  • Targeting user by semantic app version

    Targeting your users based in their application's semantic version is a great way to make sure you're getting the right features out to the right users. With LaunchDarkly, custom attributes may be leveraged to specify a ruleset expressive enough to define SemVer logic.


    Suppose we have a feature we want to release only to users that are on app version >= 2.1.0, and we come across a user running the latest version of our app, 2.2.3, in this case:

    user = {
    "key": "a00bea",
    "custom": {"majorVersion": 2, "minorVersion": 2, "patchVersion": 3}

    By splitting our user's app version into three separate attributes, we can create a feature flag targeting rule targeting, which targets each version attribute separately:


  • Enterprise Feature Flag Management

    LaunchDarkly provides on-premise and private solutions for our enterprise plans.

    This LaunchDarkly blog article explaining the requirements for managing feature flags at an enterprise scale.

  • Feature Flag Driven Development

    Feature flags/toggles/controls harness the power of test-driven development (TDD).   This is the process of releasing and iterating features quickly, testing those features, and making improvements.  Think of it as Lean UX methodology.  You release light features to receive market feedback.  You iterate on that feedback, make improvements, and redeploy.

    Think of feature flag-driven development as a way to receive iterative market feedback on your product, rather than solely depend on isolated customer feedback.  It’s a way to test how your features perform in the real world and not just in an artificial test environment.

    Read the full article

  • Mitigating deployment risk

    Using LaunchDarkly’s feature flags, you can separate feature rollout from code deployment, allowing you to slowly rollout a feature to a small percentage or subset of users in what is often referred to as a “canary release.” Canary launches allow you to quickly identify issues that might impact your entire user base, roll back easily to a known good version, and fix the issues in a controlled environment. The net result is a better product for all.

    Canary releases, also called “soft launches,” give you the confidence to deploy. By giving you the control to roll out a feature and pull it back with minimum public attention, you can release something risky with the least possible fanfare.

    You can also perform these types of releases during regular business hours. Gone is the Saturday 3 am deploy to ensure you disrupt as few users as possible. That is the power of feature flags. With LaunchDarkly, you can deploy a feature to 1% of your users on a Friday afternoon, wrapped in a feature flag. If something bad happens, it’s no problem. You can just flip the switch and the feature would be rolled back with only 1% of your users experiencing a few seconds of inconvenience.

    In summary, with a completely scalable platform like LaunchDarkly, you can easily roll out features, see the reaction on your users, and either continue rollout or completely shut off.

    See the use case page

  • Creating a feedback loop with LaunchDarkly
    Customers use LaunchDarkly to deploy a new feature to a small subset of their users. The platforms lets you easily segment users. For example, you can:


    • Rollout to a percentage of total users
    • Create a beta group of hand-picked users
    • Give early access to a single VIP customer
    • Dogfood to internal users only
    • Create an “opt-in” allowing users to self-select to see new features
    Once you’ve rolled out the feature to a group, measure it to see if the feature has impacted behavior as you expected and use that feedback to inform your path. Fix issues and make changes as necessary then continue to rollout incrementally to the entire base.
  • Empowering team collaboration and non-technical users
    LaunchDarkly allows teams to develop software in a way that’s fundamentally healthier, removing friction from the Product and Engineering relationship. The results are a dramatic savings in time and focus as well as faster delivery with greater trust.
    Empowered product development means that both technical and non-technical team members can collaborate on software releases. Because feature rollout will be decoupled from code deployment, team members outside of Engineering would be able to control the visibility of particular features without compromising the app’s integrity. Product and QA teams are empowered to make changes to feature visibility without consuming engineering resources.
    LaunchDarkly offers end to end feature flag management to allow an entire product development organization to control who gets the right feature, when.


    • Facilitate coordination between Engineering and Product, allowing you to break up larger features into smaller deployments and release features faster to select customers
    • Give control to the Product team, taking the burden of re-deploying off of engineering
    • Reduce friction between teams, cultivating a healthier and more productive relationship
See all 9 articles