Feature flags
Feature flags that evaluate in <5ms. Your whole team onboarded in one afternoon. SDK in 3 lines. Kill switch ready on day one.
Get started free →| Flag | Dev | Staging | Prod | Changed |
|---|---|---|---|---|
New Checkout new-checkout | on | on | partial | 2m ago |
AI Search ai-search | on | partial | off | 1h ago |
Dark Mode dark-mode | on | on | on | 3d ago |
New Billing new-billing | off | off | off | 5d ago |
Change a flag in the dashboard and your SDK knows about it in under a second — no polling, no deploys, no restarts. Pure SSE. Your app reacts the instant you decide.
Dashboard
Flag toggled
Redis
pub/sub · <1ms
SDK
updated
Roll out to a specific list of tenant IDs before enabling for everyone. Add IDs one by one or in bulk. Reverse it in one click if something goes wrong.
new-checkout
Production
Admin, Editor, and Read Only roles out of the box. A 50-person team won't give every engineer write access to production flags. Roles are org-scoped and audited.
Admin
Full access — create, delete, configure
Editor
Toggle flags and manage tenant lists
Read Only
View flags and audit log — no writes
SDK
OpenFeature-compatible SDKs for TypeScript, Python, Go, Kotlin, and PHP. One connect call seeds the local cache — every evaluation after that is pure in-process, zero network.
import { FlagrClient } from "@flagr-dev/sdk";
const client = new FlagrClient(process.env.FLAGR_ENV_KEY);
client.connect();
if (client.isEnabled("new-checkout", req.user.id /* optional: omit for simple on/off */)) {
showNewCheckout();
}
// fires immediately + on every change; tenantId optional for partial rollouts
const sub = client.onChange("new-checkout", req.user.id /* optional */,
(enabled) => enabled ? showNewCheckout() : hideNewCheckout()
);
sub.unsubscribe(); // call when donePricing
Dev
For individuals and small teams. Open-source SDKs, no lock-in, no credit card.
Get started freeEnterprise
For teams that are committed and need SLAs, invoicing, and a real partner.
No per-seat fees. No credit card to start.