Skip to content

open-feature/protocol

OpenFeature Logo

OpenFeature Remote Evaluation Protocol (OFREP)

Protocol version

What is OFREP?

The OpenFeature Remote Evaluation Protocol (OFREP) is an API specification for feature flagging that enables vendor-agnostic communication between applications and flag management systems. It defines a standard API layer between the provider and the flag management system, allowing any open source or commercial system to implement the protocol and be compatible with community-maintained providers.

Key Benefits

  • Vendor Agnostic: Connect to any OFREP-compliant flag management system without vendor-specific implementations
  • Standardized: Built on a common OpenAPI specification for consistent integration
  • Flexible: Works on both client-side and server-side applications
  • Community Maintained: Generic OFREP providers maintained by the OpenFeature project

How It Works

OFREP is a protocol, not a provider. It defines how to communicate with feature flag management systems and works on top of OpenFeature SDKs by providing standardized providers.

graph LR
    A[Your Application] --> B[OpenFeature SDK]
    B --> C[OFREP Provider]
    C --> D[OFREP API]
    D --> E[Flag Management System]
Loading
  1. Your application uses the OpenFeature SDK
  2. The OpenFeature SDK uses an OFREP provider
  3. The OFREP provider communicates with your flag management system via the standardized OFREP API
  4. Your flag management system implements the OFREP specification

Server vs Client

OFREP supports both paradigms defined by OpenFeature:

Server-Side (Dynamic Context)

  • Evaluation happens by calling the OFREP API with context
  • API request with evaluation context is made on every evaluation
  • Context per evaluation

Client-Side (Static Context)

  • All flags are evaluated in one OFREP API call using a common static context
  • Then local flag evaluation happens against the cached static context
  • Context represents a single user or session

Using OFREP

Available Providers

The OpenFeature community maintains OFREP providers for multiple languages. View the complete list of OFREP providers in the ecosystem.

Available Flag Management Systems

Several flag management systems support OFREP. View the complete list of OFREP-compliant systems in the ecosystem.

Implementing OFREP

For Provider Developers

To create an OFREP provider for a new language:

  1. Review the server provider guideline or client provider guideline
  2. Implement the provider for your SDK according to the guidelines
  3. Register your provider in the OpenFeature ecosystem

For Flag Management System Developers

To make your flag management system OFREP-compliant:

  1. Implement the OFREP OpenAPI specification
  2. Test your implementation with existing OFREP providers
  3. Register your system in the OpenFeature ecosystem

Resources

Get Involved

OFREP is an open standard maintained by the OpenFeature community. We welcome contributions:

  • Implement OFREP in your flag management system
  • Create providers for additional languages
  • Provide feedback on the specification
  • Share your experience using OFREP

Join the #openfeature-remote-evaluation-protocol channel on the CNCF Slack to get involved.

About

OpenFeature Remote Evaluation Protocol

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published