Services and environments
Carry the change into production with connected service context.
More than an on/off switch. Ship typed values, ramp a percentage without ever flipping a user back, and target the exact accounts you mean. Every change lands in the audit log.
checkout-v2
One connected loop, held on the stage this capability serves. The other stages stay as context so you can see what feeds in and what comes next.
Carry the change into production.
Carry the change into production with connected service context.
Review deployment evidence beside the service and environment it affected.
Keep rollout controls visible beside release context.
Carry the change into production.
flag: checkout-v2
false
Off everywhere. A safe default while you build.
Off in every environment, with a typed default value. Nothing reaches a user because the flag simply exists.
Each environment carries its own config, so a flag can be live in development and staging while production stays untouched.
A SHA-256 hash of flag, environment, salt, and subject buckets each user consistently, so nobody flips between old and new as you climb from 10 to 100%.
Ordered groups combine matchers with AND/OR logic and return their own typed value. The most specific match wins, so a tight rule beats a broad one.
Fully rolled out, signed for tamper-evident delivery, traced per evaluation, and one restore away from any prior revision.
A flag is a typed value, not a boolean checkbox. The dashboard renders a control that fits the type — a toggle, a bounded slider, a segmented enum, weighted variants, or a JSON editor — so you never hand-edit a raw blob.
For a given subject, the engine walks the ordered rules top to bottom and stops at the first match. The winning rule returns its typed value; the rules below it never run.
evaluate · acct_8842 · plan=enterprise · region=EU
first match winsA scheduled rollout advances the percentage through set stages. The same hashed bucket keeps a user on one side the whole way up.
checkout-v2
scheduledSplit traffic across typed variants by weight. The deterministic hash lands each subject in exactly one bucket and keeps it there.
checkout-v2
hashed splitGroups combine matchers with AND/OR and are tried in order. A tight rule beats a broad one, and each returns its own typed value.
Rollout, not experimentation
lube runs and records rollouts, and records every exposure. It does not run A/B significance testing, so exposures and metrics are counts, not experiment verdicts. Attribute matching lives in the targeting groups; legacy rules cover IP, country, and region.
Ask for a signed evaluation and the API returns the resolved flags inside an ES256-signed JWT. Your app verifies it against the published public key before it trusts a single value, so a tampered payload is rejected.
evaluate/signed · production
ES256subject · acct_8842
eyJhbGciOiJFUzI1NiJ9.eyJmbGFncyI6Wy4uLl19.q3Vf8Zr
Evaluations roll up by result source — a targeting group, the environment default, or the flag default — with recent exposures and per-evaluation debug traces on hand. These are counts, not experiment verdicts.
Every edit — metadata, a config change, a rollout action — writes an immutable revision with who did it and why. Restore any earlier revision exactly as it was, and that restore is itself recorded as a revision.
checkout-v2 · history
append-onlyThe dashboard is the source of truth. Generate a typed FLAGS map and hooks from your live definitions, so a flag key that does not exist fails at compile time instead of at runtime.
Author
create the flag in the dashboard
Generate
typed FLAGS map and hooks
Consume
reference only generated keys
One client, four dedicated entry points. Drop it into an OpenFeature web or server app, a NestJS service, or React components with typed hooks — no glue code to write.
The client verifies each signed evaluation and can persist it as a durable snapshot, so your app keeps resolving the last known-good values instead of failing open when the network does.
Evaluate
signed ES256 payload
Verify
against the public key
Persist
durable local snapshot
Serve
known-good on outage
Developer preview
The SDK is published but pre-1.0: it is in developer preview while the platform opens up, so pin versions and expect changes. It reads already-evaluated values — flags are always authored in the dashboard, never hand-written as loose strings in code. A generate, audit, and cleanup CLI keeps your code and your flag catalog in sync.
Every one of these is real. Flags return typed values, matching spans four kinds with fourteen attribute operators, and the dashboard renders the right editor for each type instead of raw JSON.
Flag value types
Not just on/off.
Matcher types
How a group decides.
Attribute operators
Fourteen, with nested paths.
Rollout modes
How a ramp advances.
Smart editors
The right control per type.
Environments
Typed and color-coded.
5
typed value kinds, not just on and off
14
attribute operators for targeting
100%
deterministic: same user, same variant
4
matcher types, from CIDR to attribute
Typed, targeted, environment-aware flags in your workspace.