Skip to main content
Feature flags let you roll out changes gradually, run A/B experiments, and target specific users or environments - all without redeploying. Each flag is a named boolean that your SDK resolves at runtime.

Steps

1

Open your service

Navigate to your project, click on your service, and select the Flags tab.Flags list
2

Create a new flag

Click + New Flag. A form appears at the top of the list.New flag formFill in the fields:Click Create.
3

Flag is created

The flag appears in the list in a disabled state. Use the toggle in the Active column to enable or disable it at any time - changes propagate to all connected SDK clients within milliseconds, no restart required.

Reading the flag in your SDK

All SDK clients expose a GetFlag / get_flag method that returns a boolean:
Pass a safe default value - it is returned when the flag key does not exist or the SDK has not yet synced.

A/B Testing: rollout and targeting

The AB Testing section in the flag form requires the AB Testing add-on. It is included on M tier and above, and can be activated separately on smaller tiers.
When the add-on is active, two additional controls appear in the flag form:

Rollout %

A number between 0 and 100. When set, the flag evaluates as true only for the specified percentage of users, bucketed deterministically by user ID - the same user always gets the same result. Leave the field empty to disable rollout gating. The flag then evaluates as true for all users when it is enabled.

Targeting conditions

Attribute-based rules that override rollout. Each condition compares a user attribute against a value: All conditions are AND-ed - a user must match every condition for the flag to evaluate as true. Targeting conditions take priority over rollout %: if a user matches all conditions they always get true, regardless of the rollout bucket. Click + Add condition to add a rule. Click next to any row to remove it.

Managing flags

Deleting a flag is permanent. SDK clients that call GetFlag for the deleted key will return the default value you supplied in your code.

Inherited flags

Flags marked with are inherited from a linked umbrella service. They cannot be edited or deleted from this service - manage them on the umbrella service instead.

Next steps

Feature flags reference

Full reference: evaluation order, targeting, umbrella inheritance, SDK integration.

Create a config

Store non-sensitive key-value settings that can reference flags.

Create a secret

Store an encrypted value for use in configs or directly in your code.