Feature flags and controlled rollouts
Separate deploying code from exposing a change to everyone. SaaS Pro Max gives each environment its own flag configuration, so a team can test internally, expand a rollout and inspect the result alongside product behavior and errors.
- ifplan is one of team, businesson
- else ifcountry is DEoff
- elseeveryone else25% rollout, hashed on distinct id
const enabled = await spm.flags.isEnabled("new-onboarding");The browser and the server bucket a person identically: both hash the distinct id with the same murmurhash3_32 from @saaspro/shared.
Choose who sees a change
Use boolean or multivariate flags with ordered targeting rules, percentage rollouts and identity-specific overrides. Target application properties such as plan or account attributes. An environment can stay at zero percent while an internal-team rule enables the feature for a controlled group.
Keep assignment consistent
The browser SDK loads a flag payload and evaluates locally, avoiding a network call for every flag check. Browser and server evaluation share the same bucketing contract. Widening a rollout preserves existing assignments for stable identities instead of shuffling users between groups on each request.
Record the decision and measure the result
Flag changes keep an actor, reason and history. Connect experiments to exposures and outcome events to compare a change against a baseline. Use the analytics and error views to investigate adoption and regressions, while keeping experimental evidence separate from the operational decision to turn a flag on or off.
Put it to work.
Start with one application and verify the data you send.
- Create a flag in the intended application and configure each environment separately.
- Evaluate it with a stable identity and a safe application fallback, then verify your internal targeting rule.
- Expand the rollout deliberately and review exposure, outcome and error data before the next change.
A feature flag is not an authorization check: enforce access on your server. Partial rollouts need a usable identity. Experiment conclusions depend on valid exposure instrumentation, outcome definitions and sufficient observations.
Module availability and retention vary by plan. Compare plans and limits.