FeatureSignals

OpenFeature Integration

All FeatureSignals SDKs ship with an OpenFeature provider, giving you a vendor-neutral API for feature flag evaluation.

How It Works

Each SDK includes a local provider that bridges the FeatureSignals client to the OpenFeature API:

  1. The FeatureSignals client connects to the server, fetches flags, and keeps a local cache.
  2. The OpenFeature provider wraps that client and resolves every evaluation from the local cache — no per-evaluation network calls.
  3. Client lifecycle events (flag updates, errors) are bridged to OpenFeature provider events.

Go

go
import (
    fs "github.com/featuresignals/sdk-go"
    of "github.com/open-feature/go-sdk/openfeature"
)

client := fs.NewClient("fs_srv_...", "production")
of.SetProviderAndWait(fs.NewProvider(client))

ofClient := of.NewClient("my-service")
enabled, _ := ofClient.BooleanValue(context.Background(), "dark-mode", false, of.EvaluationContext{})

Node.js

typescript
import { FeatureSignalsClient, FeatureSignalsProvider } from "@featuresignals/node";
import { OpenFeature } from "@openfeature/server-sdk";

const fsClient = new FeatureSignalsClient("fs_srv_...", {
  envKey: "production",
});
await OpenFeature.setProviderAndWait(new FeatureSignalsProvider(fsClient));

const client = OpenFeature.getClient();
const enabled = await client.getBooleanValue("dark-mode", false);

Resolution Details

FieldValue on SuccessValue on Error
valueThe resolved flag valueThe default value
reasonCACHEDERROR
errorCodeFLAG_NOT_FOUND or TYPE_MISMATCH

Next Steps