Feature flags Ship code dark, turn it on later.
Merge when the code is ready and release when the business is. Flags let you ship work switched off, turn it on for your team first, and switch it off again in seconds if something goes wrong.
How it works
-
Wrap the change
Put the new code path behind a flag. It deploys switched off, so merging no longer means releasing.
-
Turn it on for your team
Enable it in development and staging, then for staff in production, and use it like a customer would.
-
Release when you are ready
Widen to everyone from the dashboard, or roll out gradually. No new build, no waiting on a pipeline.
The details
- Typed flag keys
- Flag keys are generated from your config, so a typo is a build error, not a silent fallback.
- Safe defaults
- Every flag has a default the SDK uses if Plinth can’t be reached, so your app keeps working.
- Per-environment state
- Development, staging and production each keep their own state and history.
const on = await plinth.isEnabled('checkout-v2', { user });
return on ? <NewCheckout /> : <Checkout />; Works with
- GitHub Source control
Link flags to pull requests and clean up stale flags with a suggested change.
- Vercel Deploys
Evaluate flags at the edge and mark every deploy on your charts.
- Datadog Monitoring
Use Datadog monitors as rollout guardrails.
Team and Scale - Slack Chat
Rollout updates, approvals and alerts in the channels you choose.
More of the platform
-
Scheduled rollouts
Go from 1% to everyone over days, with automatic pauses when errors rise.
Learn more: Scheduled rollouts -
Experiments
Split traffic between variants and get a clear result, with the statistics done for you.
Learn more: Experiments -
Product analytics
Funnels, retention and cohorts, with every release marked on the chart.
Learn more: Product analytics
Try Feature flags today
Free for small teams. Set up in minutes.