Release features with confidence

Manage feature flags across web, mobile and server side applications. Deliver true Continuous Integration. Get builds out faster. Control who has access to new features.

Use our hosted API, deploy to your own private cloud, or run on-premise.

No payment card required

Trusted by top development teams.

Aer Lingus
Amway
Axis Communications
Capita
Cognizant
Financial times
Nike
Starbucks
The Home Depot
if (flagsmith.hasFeature('show_coupon'))

Manage features without deployments

Flagsmith combines the concepts of feature toggles with the flexibility of remote config. Rather than just switching features on and off, you can configure them for individual segments, users and development environments.

Powerful user segmentation

Utilise our powerful rules engine to manage your features for the users you wish to target. You can even use segments for staged rollouts or a/b testing.

We currently support these popular languages

Java
JavaScript
React JS
Node.js
Python Feature Flags
Ruby
.NET
android
iOS
Flutter
PHP
Go
Rust

How can Flagsmith accelerate your development process? Here's how.

1. Start on a new Feature Branch

Create a feature branch in git and a corresponding Feature Flag in Flagsmith.

Create a new Feature
import flagsmith from "flagsmith";

flagsmith.identify("user_id", user.id);
flagsmith.setTrait("email_address", user.emailAddress);

if (flagsmith.hasFeature("customer_chat_widget")) { displayChatWidget();
}

2. Deploy the feature behind the feature flag

Write your code, place it behind a feature flag and deploy it straight to production. Don't worry! It's hidden for everyone.

3. Enable the feature for your own account

You can now test the widget using your own account. Select your own user within Flagsmith and override the flag for your account.

The widget will now show up for your own account. It's still hidden for everybody else.

Enable the feature
Create a new Feature

4. Bring in the rest of your team

Create a Segment that includes all your company team members.

Now we can override that flag for this segment of users. They can now test out the new widget and make sure all the integration points work nicely.

Bring in the rest of your team

5. Gradually release the feature!

Lets do a percentage rollout so that we can be sure that there are no unexpected issues when deploying the feature to everyone.

Modify the Segment, replacing the emailAddress filter with a % Split. 5% of our users will now see the chat widget and 95% won't.

Enable the feature

6. Finish Up

The chat widget has been live for a few weeks, and everything is working nicely. The team have decided that they want to keep the widget in the application, so we can now remove the feature flag entirely. We edit the code to remove the optional display of the widget, and delete the flag from Flagsmith.

Fully Featured Platform

Feature Flag Management

Ship features remotely across multiple environments. Deliver true Continuous Integration.

Feature flags
Customise Features

Change the behaviour, appearance and configuration of your app without needing to deploy.

Remote config
User Traits

Store traits against your users without modifying your back-end and target features specifically for them.

User Traits
Create User Segments

Create detailed user segments based on their traits, then target features based on the segment.

User Segments
Staged Feature Rollouts

Deploy features to 1% of your user base. All good? Roll out to everybody.

Staged Feature Rollouts
Track Changes

Audit changes & rollback any mistakes or issues.

Track Changes
Bullet Train is now Flagsmith, read about it here.