What it does
Four things, and two of them are off until you ask. Both of those change something of yours without you watching, so neither is on by default in a new workspace.
Evaluated in your process
Fetch your environment’s whole ruleset once and resolve every flag locally from then on. A flag check is a memory read, not a network call, so it cannot be slow and it cannot fail your request. When our control plane is unreachable you keep serving the last ruleset you had.
Targeted per environment
Development, staging and production hold their own targeting and their own keys, so the same flag is independently on in one and off in another. Production can require an approval before a change applies, and the kill switch never waits for one.
Removed when it is doneOpt-in
Every vendor can tell you a flag is stale. A scheduled agent run finds the flags serving one variant everywhere past their removal date, deletes the branch from your repository and opens one pull request per flag, held at an approval gate, never merged unattended. Switched on per workspace, and off until you ask: it edits your repository.
Watched by ObserverOpt-in
A rollout that correlates with a new error group raises a finding naming both, with the occurrence count and how long after the change it appeared. Opt a flag in and the guard can kill it outright, writing its evidence to the flag’s history. Switched on per workspace, and off until you ask: it changes production without a human in the loop.
The order a flag is read in
A flag is resolved in one pass, in this order, in your process. The first rule that answers is the answer.
Killed
Nothing overrides a kill.
Prerequisites
A gate flag must be serving its variant.
Rules, in order
First match wins: clauses and segments.
Rollout
Bucketed on a hash of the flag key and the subject.
Default
What everyone else gets.
What a reviewer asks
SDKs are available today for Node.js, Browser, Edge runtimes, Python, Go, Ruby, Rust, Java and Kotlin (server), Android, iOS and macOS, and React Native. OpenFeature providers ship for Node.js, Browser, Python, Go, and Java and Kotlin (server). Every other platform is listed on the SDK page with its status.
Your keys, your spend
Bring your own model credentials. We never hold the bill for your agents.
Append-only history
Every change records who, what, which environment, before and after.
Approval gates
Production changes can be held until a second person decides. You cannot approve your own.
Client-safe keys
A browser or mobile key receives evaluated values, never your targeting rules.
Kill switch
Beats every rule, applies instantly, and preserves the targeting underneath it.
Evaluations, never metered
On every plan. You pay for environments and the flags you keep, never per check.
Put a flag behind it
Every workspace has Launch. The two capabilities marked opt-in stay off until you turn them on.