Targeting beyond users.
Describe who you mean: paying orgs in Brazil, devices on app version 3.2, one specific customer having a bad day. Combine conditions with AND and OR, save the result as a segment, and watch the live preview show who matches.
feat evaluates flags inside your runtime and streams changes to every SDK as they happen. Every plan is a small flat rate with unlimited seats and flags; your monthly active users just decide which tier fits.
Studio-grade sound, 38-hour battery, active noise cancelling.
Describe who you mean: paying orgs in Brazil, devices on app version 3.2, one specific customer having a bad day. Combine conditions with AND and OR, save the result as a segment, and watch the live preview show who matches.
Ship a flag to 10% of pro-tier organizations in Germany with one click. Sticky rollouts keep the same audience on the same variation across requests, sessions, and devices. Different rules can carry different splits, with a fallback split that catches everyone else.
Production requires approval. Staging doesn't. Configure how many approvers, whether comments are required, and whether requests expire, per environment.
Server keys for back-ends, browser-safe keys for client-side code, and a semi-secret mobile key type reserved for future native SDKs. Each tuned to its runtime's security model.
Every change captured with full before-and-after history, who made it, and why. 30 days on Free, 3 years on Scale, custom on Enterprise.
Save a change and connected SDKs pick it up over the live stream in under a second; a background poll catches up within 30 seconds if a stream drops. Your SDK keeps a local copy and evaluates flags in your runtime, so there's no network call per flag check. JavaScript, Python, Go, Ruby, and an Edge Worker SDK all evaluate the same way, so what your back-end returns matches what the edge serves.
Ship to 1%, watch the metrics, ramp up. Every change is instant. No redeploys, no flag drift.
A built-in statistical engine, variant tracking, and metric integrations are on the way. Today: ship the slider on the left and bring your own analytics for measurement.
Five SDKs that all evaluate flags the same way: JavaScript, Python, Go, Ruby, and an Edge Worker SDK. What your back-end returns matches what the edge serves. OpenFeature provider for JavaScript and the Edge Worker. REST API for anything else (reference docs in progress).
// Local cache; in-process eval after first sync import { FeatClient } from '@feathq/js-sdk' const feat = new FeatClient({ apiKey: process.env.FEAT_KEY!, dataPlaneUrl: 'https://data.feat.so', }) await feat.ready() const { value } = await feat.evaluate('new_checkout_v2', false, { targetingKey: user.id, user: { key: user.id, plan: 'pro' }, })
Something on fire? Hit kill. The off state streams out in under a second. No rollback. No redeploy. No standup.
The basics every team gets, on every plan. No setup, no settings page.
Flip on what your team is ready for. Disabled features vanish from the console, so it never grows past what you actually use.
Attributes stay here. There is no evaluate API to send them to.
Browser SDKs report ID-and-kind pairs so we can count monthly active users; the edge hashes them before anything is stored. The JavaScript, Go, Python, and Ruby SDKs report nothing at all.
One exception, stated plainly: the Edge Worker SDK evaluates over an in-process binding inside feat's worker, so its context does pass through our code. We store only the hashed identifier-and-kind pairs, same as above.
The Go, Python, and Ruby SDKs are standard-library only. The JavaScript SDK adds feat's own engine and schema plus the OpenFeature packages behind its provider; nothing else. Releases publish to npm with provenance attestation via OIDC trusted publishing, so you can verify each artifact came from our CI, not a laptop.
see the provenance on npm →The exact datafile your SDK consumes is a documented, versioned schema, published as @feathq/datafile-schema. Rollout bucketing is deterministic down to the hash recipe, which we published in full; port it yourself and your numbers should match ours exactly. Prefer vendor-neutral? OpenFeature providers ship for the server and browser SDKs.
read the bucketing recipe →The audit log is on for everyone, Free included. Changes made in one request group into one entry instead of thirty rows, comments can be required per environment, and API-key secrets are redacted before a record is ever written.
how the audit log works →