
Harness FME continues its investment in OpenFeature, building on our early support and adoption of the CNCF standard since 2022. Evaluate flags consistently across languages and environments, and integrate them seamlessly into your applications without modifying your code.
Feature flags are table stakes for modern software development. They allow teams to ship features safely, test new functionality, and iterate quickly, all without re-deploying their applications. As teams grow and ship across multiple services, environments, and languages, consistently managing feature flags becomes a significant challenge.

Harness Feature Management & Experimentation (FME) continues its investment in OpenFeature, building on our early support and adoption of the CNCF standard for feature flagging since 2022. OpenFeature provides a single, vendor-agnostic API that allows developers to interact with multiple feature management providers while maintaining consistent flag behavior.
With OpenFeature, you can standardize flag behavior across services and applications, and integrate feature flags across multiple languages and SDKs, including Node.js, Python, Java, .NET, Android, iOS, Angular, React, and Web.
Why OpenFeature matters today
Feature flagging may appear simple on the surface; you check a boolean, push up a branch, and move on. But as Pete Hodgson describes in his blog post about OpenFeature:
When I talk to people about adopting feature flags, I often describe feature flag management as a bit of an iceberg. On the surface, feature flagging seems really simple… However, once you get into it, there’s a fair bit of complexity lurking under the surface.

At scale, feature management is more than toggling booleans; it's about auditing configurations, controlling incremental rollouts, ensuring governance and operational best practices, tracking events, and integrating with analytics systems. OpenFeature provides a standard interface for consistent execution across SDKs and providers. Once teams hit those hidden layers of complexity, a standardized approach is no longer optional.
This need for standardization isn’t new. In fact, Harness FME (previously known as Split.io) was an early supporter of OpenFeature because teams were already running into the limits of proprietary, SDK-specific flag implementations. From a blog post about OpenFeature published in 2022:
While feature flags alone are very powerful, organizations that use flagging at scale quickly learn that additional functionality is needed for a proper, long-term feature management approach.
This post highlights challenges that are now commonplace in most organizations: maintaining several SDKs across services, inconsistent flag definitions between teams, and friction in integrating feature flags with analytics, monitoring, and CI/CD systems.
What’s changed since then isn’t the problem; it’s the urgency. Teams are now shipping faster, across more languages and environments, with higher expectations around governance, experimentation, and observability. OpenFeature is a solution that enables teams to meet those expectations without increasing complexity.
Integrate OpenFeature with Harness FME
Feature flagging with OpenFeature provides your team with a consistent API to evaluate flags across environments and SDKs. With Harness FME, you can plug OpenFeature directly into your applications to standardize flag evaluations, simplify rollouts, and track feature impact, all from your existing workflow.

The Harness FME OpenFeature Provider wraps the Harness FME SDK, bridging the OpenFeature SDK with the Harness FME service. The provider maps OpenFeature's interface to the FME SDK, which handles communication with Harness services to evaluate feature flags and retrieve configuration updates.
In the following example, we’ll use the Harness FME Node.js OpenFeature Provider to evaluate and track feature flags in a sample application.
Prerequisites
Before you begin, ensure you have the following requirements:
- A valid Harness FME SDK key for your project
- Node.js 14.x+
- Access to npm or yarn to install dependencies
Setup
- Install the Node.js OpenFeature provider and dependencies.
npm install @splitsoftware/openfeature-js-split-provider @splitsoftware/splitio @openfeature/server-sdk- Initialize and register the provider with OpenFeature using your Harness FME SDK key.
const { OpenFeature } = require('@openfeature/server-sdk');
const { OpenFeatureSplitProvider } = require('@splitsoftware/openfeature-js-split-provider');
const authorizationKey = '<YOUR_SERVER_SIDE_SDK_KEY>';
const provider = new OpenFeatureSplitProvider(authorizationKey);
OpenFeature.setProvider(provider);- Evaluate feature flags with context. Target specific users, accounts, or segments by passing an evaluation context.
const client = OpenFeature.getClient('<CLIENT_NAME>');
const context = { targetingKey: 'user-123', plan: 'pro' };
const boolValue = await client.getBooleanValue('newCheckoutFlow', false, context);
console.log('Flag enabled:', boolValue);- If you reuse the same targeting key frequently, set the context once at the client or API level:
client.setEvaluationContext({ targetingKey: 'user-123' });- Optionally, track user events like user actions or conversion events to measure flag impact. Event tracking links user behavior directly to your feature flags, helping you understand the real-world impact of each rollout.
const context = { targetingKey: 'user-123', trafficType: 'account' };
const details = { value: 19.99, plan: 'pro', coupon: 'WELCOME10' };
client.track('checkout.completed', context, details);
With the provider registered and your evaluation context configured, your Node.js service can now evaluate flags, track events, and access flag metadata through OpenFeature without needing custom clients or SDK rewrites. From here, you can add additional flags, expand your targeting attributes, configure rollout rules in Harness FME, and feed event data directly into your experimentation workflows.
Start using Harness FME OpenFeature providers today
Feature management at scale is a common operational challenge. Much like the feature flagging iceberg where the simple on/off switch is just the visible tip, most of the real work happens underneath the surface: consistent evaluation logic, targeting, auditing, event tracking, and rollout safety. Harness FME and OpenFeature help teams manage these hidden operational complexities in a unified, predictable way.
Looking ahead, we’re extending support to additional server-side providers such as Go and Ruby, continuing to broaden OpenFeature’s reach across your entire stack.
To learn more about supported providers and how teams use OpenFeature with Harness FME in practice, see the Harness FME OpenFeature documentation. If you’re brand new to Harness FME, sign up for a free trial today.
Get a demo switch to Harness FME

