A feature flag is a named switch you control from the console instead of from your code. Your app asks "is new-checkout on for this person?" and gets an answer you can change at any time — no deploy, no redeploy of a Logic Block, no waiting.

Use a flag when you want to: ship a feature dark and turn it on later; roll it out to 10%, then 50%, then everyone; give it to your own team or a few customers first; turn it on at a set time (a launch, a sale); or stop it quickly if something goes wrong.

The model: your organization defines, each tenant adjusts

You build one app for all your tenants, so your organization defines each flag once. Every tenant then has every flag, which means your Logic Blocks, Glyphs and agents — which belong to the organization and run for every tenant — can always rely on a key being there.

A tenant can change how a flag is served to itself — switch it off for one customer, give it to a pilot group — without affecting anyone else. Anything a tenant leaves alone follows your organization. You can also lock a flag so no tenant can change it.

WhoCan
Your organization (developers, org admins)Create, change and delete flags; set the default, rules, schedule and window; lock a flag. Done in the dev environment and promoted to production by deploy.
A tenant adminSee every flag as their tenant gets it; turn it on or off, change who gets what, or schedule changes — for that tenant only. Cannot create or delete flags or add values.
Any signed-in userRead their own flags (what your app uses to show or hide a feature).

What a flag is made of

PartWhat it does
KeyThe name your code uses, like new-checkout. Lowercase letters, digits, - and _. It cannot change, so choose it with care.
Kindboolean (on/off — the default), or string, number, json when a flag should give back a value (a button colour, a limit, a config).
SwitchOn or off. When it is off, everyone gets the off value.
Everyone elseWhat people get when nothing more specific applies: one value, or a percentage split.
Individual usersPeople who always get a chosen value.
Rules"If the user's plan is pro, give them this." The first matching rule wins.
Schedule and windowChanges that happen by themselves at a set time; a period in which the flag is live.

How an answer is worked out

  • If the flag is off, archived, or outside its window → the off value.
  • Else, if the person is listed under individual users → that value.
  • Else, the first rule whose conditions all match → that rule's value.
  • Else → everyone else: the default value, or the person's place in a percentage split.

Nothing runs on a timer

A scheduled change takes effect exactly at its time everywhere, because the flag is worked out when it is read — so nothing can miss a run. Apps are told when to ask again.