v1.0 · May 2026 Five SDKs shipped: JS, Python, Go, Ruby, Worker

Stop redeploying
to flip a switch.

A feature-flag platform for startup engineering teams. Target any audience you can describe: users, devices, organizations, sessions, or any custom group. Rich comparison rules for text, numbers, dates, and versions. Sticky rollouts keep the same audience on the same variation across sessions. Five SDKs that all evaluate flags the same way. Start simple, then turn on approvals, custom roles, and gradual rollouts when your team is ready.

No credit card npm i @feathq/js-sdk 2-minute setup
console.feat.so / flags / new-checkout
liveproduction

new-checkoutOFF

flag_key: new_checkout_v2
·  user.plan is pro·  device.platform in [ios, android]·  rolled out to 0% of pro-tier orgs·  evaluated 1.2M× today

Acme Headphones

Studio-grade sound, 38-hour battery, active noise cancelling.

$249 USD
VARIANT_B · CONTROL
events · livestreaming
12:04:21flag.evaluatednew_checkout_v2 → true · user_8231
12:04:19rule.matchedcountry in [US, CA, UK] · plan = pro
12:04:17flag.evaluatednew_checkout_v2 → false · user_8230
01 / what's in the box

A full flag platform.
Targeting to workflows.

Six things every flag platform should do, working from your first signup: rich audience targeting, sticky rollouts, per-environment approvals, a real audit log, the right key for each runtime, and local in-runtime evaluation.

Targeting beyond users.

Target any audience you can describe: users, devices, organizations, sessions, or any custom group you define. Rich comparison rules for text, numbers, dates, and versions. Combine with AND and OR for full control. Save reusable audiences. Live preview as you compose.

Sticky rollouts.

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.

Approvals per env, per flag.

Production requires approval. Staging doesn't. Configure how many approvers, whether comments are required, and whether requests expire, per environment.

Different keys for different runtimes.

Server keys for back-ends, mobile keys for native apps, browser-safe keys for client-side code. Each tuned to its runtime's security model. One SDK contract across all three.

Auditor-grade history.

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.

Evaluates locally. Updates live.

Every change propagates everywhere in seconds. Your SDK keeps a local copy and evaluates flags in your runtime, so there's no network call per flag check. SSE push updates are coming soon for sub-second propagation. 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.

02 / targeting

Build the audience.
See it instantly.

Compose rules across any audience you can describe: users, devices, organizations, sessions, requests. Rich comparison rules for text, numbers, dates, and versions, combined with AND and OR. The matching audience updates in real time as you type.
flag · new_checkout_v2
Serve true to audiences where
recalculating
.
AND
.
AND
.
→ otherwise servefalse
live audience preview
0.38M / 4.82M users
7.9% of monthly actives match these rules.
user.plan is "pro"  AND
device.platform in "ios, android"  AND
device.app_version version ≥ "2.4.0"
03 / rollout + experiments

Ramp safely.
Measure everything.

Ship a flag to 1% of any audience. Sticky rollouts keep the same user (or device, or organization) on the same variation across requests and sessions. Different rules can carry different splits, with a fallback split for everyone else. A built-in statistical engine and auto-advance gradual rollouts arrive Q3 2026.

Progressive rollout

drag to adjust

Ship to 1%, watch the metrics, ramp up. Every change is instant. No redeploys, no flag drift.

30%
70% control
In treatment
14,46,000
Evals / min
5,04,000
Latency
2ms p99

A/B testing

Q3 2026

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.

  • Variant tracking shared with the same SDKs you already use
  • Pluggable metric sources (Segment, Mixpanel, PostHog, custom)
  • Frequentist and Bayesian engines side-by-side
  • Auto-advance gradual rollouts that halt on a regression
04 / sdk

One line. Every
runtime.

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.

Flag checks evaluate in your runtime, with no per-check network call.
Live updates that only fetch when something actually changed.
Refreshes every 30 seconds by default, configurable lower. SSE push updates coming soon for sub-second propagation.
checkout.ts
// 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' },
})
05 / safety

When it's on fire,
pull the lever.

Flip a flag off and the change propagates everywhere in seconds. Every SDK picks it up on its next refresh, by default within 30 seconds and configurable lower for emergencies. SSE push updates are coming soon for sub-second propagation. The audit log records who, what, and why.

Kill a feature globally.

Something on fire? Hit kill. The change propagates everywhere in seconds. Every SDK picks it up on its next refresh, 30 seconds by default and configurable lower for emergencies. SSE push updates are coming soon for sub-second propagation. No rollback. No redeploy. No standup.

new_checkout_v2 · productionlive
change propagated · live everywhereidle
active sessions affected0
click the button to simulate an emergency kill
06 / control

Simple by default.
Advanced on demand.

Every governance feature is an org-level toggle. Start with kill-switch flags and turn on approvals, RBAC, workflows, and progressive rollouts when your team is ready. Disabled features disappear from the console, so it never grows past what you actually use.

Always on

  • Boolean, string, number, and JSON flags
  • Audience targeting
  • Percentage rollouts
  • Kill switch + archive
  • Audit history
  • API keys for every runtime

The basics every team gets, on every plan. No setup, no settings page.

Org-level toggles

  • Reusable audiences
  • Change requests + approvals
  • Custom roles
  • Gradual rollouts (auto-advance)

Flip on what your team is ready for. Disabled features vanish from the console, so it never grows past what you actually use.

07 / receipts

Numbers we
actually publish.

Locally cached evaluation. Honest uptime targets. Real propagation budgets, pulled from the SDK and data-plane code, not invented for a marketing site.
0 ms
p99 local SDK eval latency, evaluated in your runtime.
0.0 %
Uptime SLA on Growth tier and above.
0 sec
Default SDK refresh interval, configurable lower. SSE push updates coming soon.
0
Free-tier monthly active users. Every plan has unlimited flags.
08 / pricing

Honest pricing.
No “contact us” tax.

Free forever for solo devs. Flat-rate plans for teams. Everything inclusive: no metered evaluation fees, no per-seat tax, no overage surprises.
Free
$0 7,500 MAU 100 server connections
Built for production use, not just demos. 7,500 MAU and unlimited flags, free forever.
  • Boolean, string, number & JSON flags
  • Attribute-based targeting
  • Percentage rollouts
  • Kill switch + archive
  • Live updates
  • 100 server connections · no per-connection fees
  • Built-in roles · 2FA · OAuth
  • 30-day audit log
  • Community support
  • 2 projects · unlimited envs · unlimited flags
Start free →
Starter
$19/mo $15/mo billed annually 25,000 MAU 250 server connections
A production-ready flag platform for under $20 a month.
  • Everything in Free, plus:
  • 250 server connections
  • Failsafe delivery (multi-CDN failover)
  • Reusable audiences
  • Stale-flag detection Coming Q3 2026
  • Required comments on changes
  • Webhooks Coming Q3 2026
  • CLI Coming Q3 2026
  • 90-day audit log · email support (48h)
Start free →
Most popular
Growth
$49/mo $39/mo billed annually 100,000 MAU 750 server connections
Approvals, custom RBAC, and 100K MAU. Governance without the meeting.
  • Everything in Starter, plus:
  • 750 server connections
  • Change requests + approvals
  • Cross-project audience sharing Coming Q3 2026
  • Custom roles
  • A/B testing + experiments Coming Q3 2026
  • SSO enforcement (Google/GitHub) Coming Q3 2026
  • Slack integration Coming Q3 2026
  • Flag comparison across envs
  • 1-year audit log · 99.9% SLA · email (24h)
Start free →
Scale
$149/mo $119/mo billed annually 500,000 MAU 2,500 server connections
SAML, IP allowlisting, progressive rollouts, and 500K MAU. For fast-growing teams.
  • Everything in Growth, plus:
  • 2,500 server connections
  • Gradual rollouts (auto-advance) Coming Q3 2026
  • SAML Coming Q3 2026
  • IP allowlisting Coming Q3 2026
  • Terraform provider Coming Q3 2026
  • SOC 2 Type II Coming Q3 2026
  • Shared Slack channel · migration support
  • 3-year audit log · email (8h)
Start free →
Elastic
$299/mo + usage $239/mo base billed annually 1M MAU, then $0.20/1K Uncapped server connections
Outgrow Scale without a procurement loop.
  • Everything in Scale
  • Uncapped MAU on a usage meter
  • $0.20 per 1,000 MAU above 1M included
  • Uncapped server connections, still no per-connection fee
  • No grace period (no cap to breach)
  • Same SLA, same support window as Scale
Start free →
Enterprise. Custom contracts for SCIM, private tenancy, data residency, dedicated CSM.
Talk to us →

See the full feature comparison →

Free plan available · No credit card

Get back to
shipping.