Evaluate feature flags
Gate features with remotely evaluated flags and variants.
Feature flags are evaluated for the current person. Use them for staged rollouts, experiments, and remote configuration.
Evaluate flags
Pass the keys you need; pass nil to evaluate every flag:
let flags = try await voidhash.getFeatureFlags(["new-onboarding", "pricing-test"])
let newOnboarding = flags.first { $0.key == "new-onboarding" }?.enabled == true
let pricing = flags.first { $0.key == "pricing-test" }Validate a variant payload before using it; payloads are untyped JSON.
Identity behavior
Flag results are scoped to the current person. The SDK clears them after identify() or a
reset so one customer never sees another customer's assignment.
Choose a safe default while flags are loading or unavailable. For paid access, use entitlement grants rather than a feature flag.