Skip to main content

Flag Evaluation Flow

FlagSync evaluates flags using the same logic flow across SDKs:
1

Is the SDK ready?

If not, the SDK returns the defaultValue (e.g., false) or control string.
Client-side SDKs can bootstrap via LocalStorage or from an initial flag set, using those values until the SDK initializes with server data.
2

Does the flag key exist?

If the flag key isn’t found, the SDK returns the defaultValue or control.
If the flag key was included in the bootstrapped values, this value will be returned.
3

Is the flag disabled?

  • If disabled: The default “off” variant is returned, halting further evaluation.
  • If enabled: The algorithm proceeds to targeting and rollout checks.
Explore Flags: All Users to learn about default variants.
4

Does the flag have Targeting Rules?

5

Does the flag have a Percentage Rollout?

6

Fallback

Returns the “on” variant if no rules or percentages apply.
See Flags: All Users to learn about default variants.

Flow Diagram

Next Steps

Dive deeper into the flag evaluation process: