Feature flag platform

Ship at midnight.
Roll back by breakfast.

Targeted rollouts and gradual launches with a tiny SDK. Flag checks happen in your process, in microseconds — no network call, no shared infrastructure, no surprises in your latency budget.

No credit card. Cancel any time.

< 0.05 ms
Eval latency
~30 s
Change → live
15-day
Trial, no card
$9/mo
Starts at

Built for production

Three things that actually matter at scale.

Sub-millisecond flag checks

Evaluation runs in your process, not ours. User attributes you pass to the SDK (email, country, plan, anything) never leave your runtime. Typical evaluation time is under 0.05 ms. Zero network calls on your hot path.

Fail-open by design

Flag config is cached in multiple layers — at the CDN edge, in the SDK, and locally in the browser. Backed by AWS with multi-region redundancy. If we have an outage, your code keeps evaluating with the most recent values. We don't take your traffic down with us.

~30-second turnaround

Flip a flag in the dashboard; SDKs see it on their next poll (default 30 s, configurable to 1 s). For kill-switch-grade urgency, the SDK's polling interval is yours to tune.

How it works

  1. 1

    Create a project

    Sign up, name your project, copy the client SDK key. 60 seconds.

  2. 2

    Drop in the SDK

    One npm install, one nightroll.init(). Existing code stays the same.

  3. 3

    Wrap a code path

    if (client.isEnabled('new-checkout', user)) { ... } else { ... }

  4. 4

    Roll out gradually

    Start at 1%, watch your metrics, raise. Roll back instantly when something's wrong.

Drop it in

Same shape across every language we ship.

import nightroll from '@nightroll/js';

const client = nightroll.init(process.env.NIGHTROLL_CLIENT_KEY);
await client.ready();

const user = { id: currentUser.id, attributes: { email: currentUser.email } };
if (client.isEnabled('new-checkout', user)) {
  // new behavior
}
JavaScript, TypeScript, React, and Node are GA today. Python, Go, Java, Ruby, and PHP SDKs follow the same shape and are on the roadmap. The REST API works for any language right now.

What happens if…

Plain answers to the questions that should drive your vendor choice.

…Nightroll has an outage?

Your product keeps working. Flag config is cached in multiple layers — at the CDN edge, in the SDK's in-memory store, and (in browsers) in local storage — so your code keeps evaluating with the most recent values even if our service is unreachable. We run on AWS with multi-region redundancy and target 99.9%+ uptime.

…I hit my plan's eval quota?

Your product keeps working. The SDK falls back to its cached flags and slows down polling until the next billing cycle or an upgrade. No errors propagate to your users.

…my MAU spikes unexpectedly?

No throttle on evaluation. Overage is billed at $1.00 per 1,000 MAU above plan. Email warnings fire at 80% and 100% — no surprise bills.

…my SDK key leaks?

Open the dashboard and rotate. We keep two active keys per project during the grace period so you can roll out the new key without downtime, then revoke the old one when you're confident.

…I delete a flag while it's live?

SDKs that still hold the deleted flag fall back to the default value you passed at the call site. No 500s, no crashes.

…my user has no id?

Plain conditions still match. Percentage rollouts can't fire (we need an id to assign a stable bucket), so the default variation gets served.

…I care about not leaking user attributes to you?

Good — neither do we. Flag evaluation runs entirely in the SDK; attributes (email, plan, country, anything you pass) never leave your process. The only thing the SDK sends us for analytics is the userId you choose, batched once a minute, so we can count MAU for billing. If your userIds are themselves personal data, hash them client-side before passing to the SDK.

See full FAQ →

How we compare

Honest, with the gaps marked.

NightrollLaunchDarklyStatsigFlagsmith
Free trial without credit card 15 days, no card14 daysFree tier + paid trialFree tier
Pricing starts at $9/moCustomFree tier; paid variesFree / $0
SDK languages today JS, TS, React, Node (Python/Go/Java/Ruby on roadmap)Most major languagesMost major languagesMost major languages
Flag evaluation In-process (SDK)In-process (SDK)In-process (SDK)In-process or remote
Self-hosted option No (SaaS only)Relay proxy (cache)Open source (Bucketeer-like)Yes (self-host the whole platform)

Full comparison →

Pricing

solo $9/mo
  • 1 projects · 1,000 MAU
  • 20 flags · 1 seats
starter $19/mo
  • 5 projects · 25,000 MAU
  • 100 flags · 5 seats
team $99/mo
  • 25 projects · 250,000 MAU
  • 1,000 flags · 25 seats

See full pricing →

Ready in two minutes

Start the 15-day trial. We don't ask for a card. Cancel by closing the tab.