Ship without
a release.

Feature flags from the terminal. Deploy dark, roll out by percentage, roll back in one command.

$npm install -g @flagrship/cli
Get started

Available today

npm@flagrship/cli · @flagrship/sdk
pipflagrship-sdk
node18 and newer
python3.9 and newer
apiREST · any language

One flag. Every surface.

The terminal, your code and the audit log all talk to one API. Nothing you do in one is hidden from the others.

flagrship list
FLAGSTATEROLLOUTCHANGED
checkout-v2locked50%2h ago
new-pricingoff—2h ago
dark-modeon100%1d ago
new-checkouton25%3m ago

CLI

Create, roll out, lock and roll back from the terminal. Every command is one API call, and every call is audited.

npmbrew soon
evaluate
app.tsapp.py
const on = flags.isEnabled(
  'new-checkout', user.id
);
alicebucket 40 · out
carolbucket 1 · in
user-29bucket 0 · in

SDKs

JavaScript and Python. In-memory evaluation, no network call per check, the same bucket for the same user in both.

nodepython
flagrship log
WHENACTIONCHANGE
21s agorollback30% → 50%
30s agorollout50% → 30%
10m agounlockcheckout-v2
10m agolockCVE-2026-1234

Audit & locks

Who changed what, and what it was before. Lock a flag with a reason and nobody moves it until an admin says so.

append-only

From incident to rollback in seconds

No redeploy, no hotfix branch, no 3am revert. The vulnerable code stays deployed but dormant.

flags / checkout-v2

Checkout v2

on · 50%lockedproduction
Lock reason
CVE-2026-1234
Locked by
nisarg@ · 10m ago
Last change
rollout 30% → 50% · 21s ago
Evaluations
in-memory, 0 network calls
While locked, every mutation on this flag returns 409 with the reason. Archive is refused in every environment.
$ flagrship status new-checkout
new-checkout ON 100% production changed 4m ago by ci@
$ flagrship rollback new-checkout
✓ Rolled back new-checkout in production — ON 25%
$ flagrship log new-checkout --limit 2
21s ago rollback 100% → 25% nisarg@
4m ago rollout 25% → 100% ci@

Roll out by percentage

Users hash into 100 buckets. Raising the number moves the threshold, never the user, so nobody flickers between cohorts.

Roll back, one command

Rollback is an undo. It restores the state before the last change and logs itself, so a second rollback undoes the first.

Deploy with confidence

Six rules the API enforces so you do not have to remember them at 3am.

Every change audited

The audit row is written in the same transaction as the change. There is no such thing as an unlogged mutation.

Locks stop bad rollouts

An admin locks a flag with a reason. Every mutation returns 409 with that reason until it is unlocked.

Same answer in every SDK

MurmurHash3 over flagKey:userId. Node and Python pass one shared conformance file, so a user never flips between services.

Never sees your users

Bucketing runs inside the SDK. The API has no endpoint that accepts a user ID, so there is nothing to leak.

304s, not bandwidth

Every config has an ETag. Unchanged polls return 304 with an empty body. Config crosses the wire once, then only when you change it.

Never blocks your boot

If Flagrship is unreachable the SDK keeps its last config or your in-code defaults. It never throws on the boot path.

Ship fast without a release

A real key to a real organization on the live API. Read-only, no signup. Every line below runs right now.

terminal
$ npm install -g @flagrship/cli
$ flagrship init --key sk_read_9aY_NggYCzbqQe-tekXzbmojkqZfAr9J
✓ Saved production key to .flagrship.json
$ flagrship list
KEY STATE NAME CHANGED
checkout-v2 ON 50% LOCKED Checkout v2 2h ago
new-pricing OFF New Pricing Page 2h ago
dark-mode ON 100% Dark Mode 2h ago
new-checkout ON 25% New Checkout 2h ago
$ flagrship log new-checkout
$ flagrship rollout new-checkout 100
error: this key has scope "read"; rollout needs "write".

The last CLI line is a scoped key doing its job. Want one that can flip flags?

Ask for a beta key
Pricing

Per seat. Never per user.

No MAU meter. Your bill does not grow because your product did.

Free
$0

For side projects and small teams. Permanent, not a trial.

  • 10 flags, 3 environments, 3 seats
  • JavaScript and Python SDKs
  • Percentage rollouts, rollback, lock
  • 7 days of audit history
Start free
Pro
$29 / seat / month

For teams that ship every day and want to know who flipped what.

  • Unlimited flags, environments, seats
  • Attribute-based targeting
  • 90 days of audit history
  • Google and GitHub sign-in, email support
Start Pro
Enterprise
Custom

For compliance requirements and a named person to call.

  • SAML and OIDC single sign-on
  • Unlimited audit retention and export
  • Data residency: US, EU, Canada
  • 99.95% SLA, dedicated support
Talk to us
Questions

The ones we get asked first.

Does Flagrship see my users?
No. The user ID is hashed inside the SDK, on your servers. The API has no endpoint that accepts a user identifier, so there is nothing to leak and nothing to store.
What happens if Flagrship is down?
Your application keeps serving the last config it received. If it never received one, flags evaluate to the defaults you wrote in code. The SDK never throws on your boot path and never makes a network call per evaluation.
How is rollback different from a git revert?
A revert is a new commit, a CI run, and a deploy, which is 15 to 60 minutes and several people. Rollback is one API call that restores the previous flag state, and every SDK picks it up within one poll. It is an undo: run it twice and you are back where you started.
Why the CLI and not a dashboard?
Engineers live in the terminal, and a flag change is a one-line command there. The dashboard is coming for the people who do not, and it talks to the same API. Nothing you do in one is hidden from the other.
Can I self-host it?
The CLI and both SDKs are open source. The hosted API is what you pay for. Self-hosting is on the list; tell us if it is the thing standing between you and trying it.

Ship your first flag today

Install the CLI, create a flag, add three lines to your app. Five minutes, no dashboard signup.