Product

Feature flags that stay out of your request path.

FeatureGate gives backend teams the release controls they need: typed flags, local SDK evaluation, resilient snapshots, and enough targeting to ship calmly without buying an experimentation suite.

The runtime path is narrow.

Define flags in the console. Let the SDK hold a snapshot. Evaluate in memory with a safe default when the network is noisy.

Typed values

Boolean, string, number, and object flags with explicit defaults.

Snapshots

ETag-backed runtime snapshots keep sync cheap when nothing changes.

Targeting

Ordered rule groups and stable percentage rollouts for controlled releases.

Separate keys

Runtime keys, management keys, and console sessions stay in different lanes.

Ship dark, open slowly, keep a fallback.

FeatureGate is built for the unglamorous work that keeps launches boring: one environment at a time, one audience at a time, with defaults that still work if a flag disappears.

checkout.ts
ts
const checkoutEnabled = featuregate.isEnabled("new-checkout", {
  defaultValue: false,
  attributes: {
    user: { id: "user_123" },
    account: { plan: "pro" },
  },
});