Flag Evaluation

How Versia evaluates feature flags

How Flag Evaluation Works

When your app evaluates a flag, Versia decides which variant to return. It’s fast (<50ms) and reliable.

The Flow

  1. Your app calls the OpenFeature SDK with an evaluation context (user attributes like plan, device, country)
  2. The SDK sends the request and context to Versia
  3. Versia checks exclusion rules against the context, then falls back to the default rule
  4. Your app receives the variant and uses it

Flag Modes

Static

Returns the same variant for everyone. Use this for feature toggles and kill switches.

Percentage Rollout

Splits traffic by fixed percentages. Use this for gradual rollouts (5% → 25% → 100%).

Exclusion Rules

Returns specific variants based on evaluation context attributes (plan, country, device). Use this to carve out segments from the default rule. For example, always showing enterprise users a specific experience.

Reward-Driven

Versia automatically picks the variant most likely to succeed for each user, using the evaluation context to learn per-segment preferences. Use this when you want to optimize for a specific outcome.

Always Reliable

Every flag evaluation includes a default value. If anything goes wrong (network issue, misconfiguration), your app gets the default. No crashes.

// "sign-up-free" is the fallback, your app always gets a value
const variant = await client.getStringValue('banner-cta', 'sign-up-free', context);

Consistent Experience

For reward-driven flags, the same user sees the same variant during a session. No flickering, no inconsistency.