CINXE.COM
<!doctype html> <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-specification docs-version-current docs-doc-page docs-doc-id-glossary" data-has-hydrated="false"> <head> <meta charset="UTF-8"> <meta name="generator" content="Docusaurus v3.7.0"> <title data-rh="true">Glossary | OpenFeature</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://openfeature.dev/img/opengraph.jpg"><meta data-rh="true" name="twitter:image" content="https://openfeature.dev/img/opengraph.jpg"><meta data-rh="true" property="og:url" content="https://openfeature.dev/specification/glossary"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-specification-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-specification-current"><meta data-rh="true" property="og:title" content="Glossary | OpenFeature"><meta data-rh="true" name="description" content="A list of terms used within the OpenFeature specification."><meta data-rh="true" property="og:description" content="A list of terms used within the OpenFeature specification."><link data-rh="true" rel="canonical" href="https://openfeature.dev/specification/glossary"><link data-rh="true" rel="alternate" href="https://openfeature.dev/specification/glossary" hreflang="en"><link data-rh="true" rel="alternate" href="https://openfeature.dev/specification/glossary" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://PH0VDWFP7Q-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="OpenFeature RSS Feed"> <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="OpenFeature Atom Feed"> <link rel="search" type="application/opensearchdescription+xml" title="OpenFeature" href="/opensearch.xml"> <link rel="preconnect" href="https://www.google-analytics.com"> <link rel="preconnect" href="https://www.googletagmanager.com"> <script async src="https://www.googletagmanager.com/gtag/js?id=G-ZG0JSPYJXZ"></script> <script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-ZG0JSPYJXZ",{anonymize_ip:!0})</script> <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png"> <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon-precomposed.png"> <link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png"> <link rel="icon" type="image/svg+xml" href="/favicons/favicon-light.svg"> <link rel="shortcut icon" type="image/x-icon" href="/favicons/favicon.ico"> <link rel="manifest" href="/favicons/site.webmanifest"> <meta name="theme-color" content="#ffffff"> <meta name="msapplication-config" content="/favicons/browserconfig.xml"><link rel="stylesheet" href="/assets/css/styles.385ab5b9.css"> <script src="/assets/js/runtime~main.aa35e229.js" defer="defer"></script> <script src="/assets/js/main.2feeef09.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(n,e)}}catch(t){}}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus"><link rel="preload" as="image" href="/img/logo-dark.svg"><link rel="preload" as="image" href="/img/logo-light.svg"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><div class="announcementBar_mb4j" role="banner"><div class="announcementBarPlaceholder_vyr4"></div><div class="content_knG7 announcementBarContent_xLdY">We're back! Check out all the ways you can connect with us at <a href="/blog/kubeconeu25">KubeCon + CloudNativeCon Europe 2025</a>.</div><button type="button" aria-label="Close" class="clean-btn close closeButton_CVFx announcementBarClose_gvF7"><svg viewBox="0 0 15 15" width="14" height="14"><g stroke="currentColor" stroke-width="3.1"><path d="M.75.75l13.5 13.5M14.25.75L.75 14.25"></path></g></svg></button></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo-dark.svg" alt="OpenFeature Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo-light.svg" alt="OpenFeature Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate"></b></a><a class="navbar__item navbar__link" href="/docs/reference/intro">Docs</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/specification/">Specification</a><a class="navbar__item navbar__link" href="/ecosystem">Ecosystem</a><a class="navbar__item navbar__link" href="/community/">Community</a><a class="navbar__item navbar__link" href="/support-training">Support & Training</a><a class="navbar__item navbar__link" href="/docs/tutorials/five-minutes-to-feature-flags">Tutorials</a><a class="navbar__item navbar__link" href="/blog">Blog</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/open-feature" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-github-link" aria-label="GitHub organization"></a><div class="toggle_nTvT colorModeToggle_DEke"><button class="clean-btn toggleButton_gYZh toggleButtonDisabled_zh5C" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><div class="toggleLogo_HXbd"><div class="toggleIcon_U8RU"><div class="track_Vm51"><div></div></div></div></div></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG menuWithAnnouncementBar_GW3s"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/specification/">Introduction</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/specification/glossary">Glossary</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/specification/types">Types and Data Structures</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link" href="/specification/category/sections">Sections</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/specification/sections/flag-evaluation">Flag Evaluation API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/specification/sections/providers">Provider</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/specification/sections/evaluation-context">Evaluation Context</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/specification/sections/hooks">Hooks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/specification/sections/events">Events</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/specification/sections/tracking">Tracking</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/specification/appendix-a">Appendix A: Included Utilities</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/specification/appendix-b">Appendix B: Gherkin Suites</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/specification/appendix-c">Appendix C: OpenFeature Remote Evaluation Protocol</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/specification/appendix-d">Appendix D: Observability</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Glossary</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Glossary </h1></header> <p>This document defines some terms that are used across this specification.</p> <details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Table of Contents</summary><div><div class="collapsibleContent_i85q"><ul> <li><a href="#feature-flag">Feature Flag</a></li> <li><a href="#user-roles">User Roles</a> <ul> <li><a href="#application-author">Application Author</a></li> <li><a href="#application-integrator">Application Integrator</a></li> <li><a href="#provider-author">Provider Author</a></li> <li><a href="#integration-author">Integration Author</a></li> <li><a href="#library-author">Library Author</a></li> </ul> </li> <li><a href="#common">Common</a> <ul> <li><a href="#feature-flag-sdk">Feature Flag SDK</a></li> <li><a href="#client-side-sdk">Client-Side SDK</a></li> <li><a href="#server-side-sdk">Server-Side SDK</a></li> <li><a href="#feature-flag-api">Feature Flag API</a></li> <li><a href="#evaluation-api">Evaluation API</a></li> <li><a href="#flag-management-system">Flag Management System</a></li> <li><a href="#client">Client</a></li> <li><a href="#provider">Provider</a></li> <li><a href="#provider-lifecycle">Provider Lifecycle</a></li> <li><a href="#domain">Domain</a></li> <li><a href="#integration">Integration</a></li> <li><a href="#evaluation-context">Evaluation Context</a></li> <li><a href="#transaction-context-propagator">Transaction Context Propagator</a></li> <li><a href="#evaluating-flag-values">Evaluating Flag Values</a></li> <li><a href="#resolving-flag-values">Resolving Flag Values</a></li> <li><a href="#tracking-event">Tracking Event</a></li> </ul> </li> <li><a href="#flagging-specifics">Flagging specifics</a> <ul> <li><a href="#flag">Flag</a></li> <li><a href="#flag-set">Flag Set</a></li> <li><a href="#flag-key">Flag Key</a></li> <li><a href="#variant">Variant</a></li> <li><a href="#values">Values</a></li> <li><a href="#targeting">Targeting</a></li> <li><a href="#targeting-key">Targeting Key</a></li> <li><a href="#fractional-evaluation">Fractional Evaluation</a></li> <li><a href="#rule">Rule</a></li> </ul> </li> <li><a href="#sdk-paradigms">SDK Paradigms</a> <ul> <li><a href="#dynamic-context-paradigm">Dynamic-Context Paradigm</a></li> <li><a href="#static-context-paradigm">Static-Context Paradigm</a></li> </ul> </li> </ul></div></div></details> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="feature-flag">Feature Flag<a href="#feature-flag" class="hash-link" aria-label="Direct link to Feature Flag" title="Direct link to Feature Flag"></a></h2> <p>A mechanism that allows an Application Author to define alternative codepaths within a deployed piece of software, which is conditionally executed at runtime, based on a rule set.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="user-roles">User Roles<a href="#user-roles" class="hash-link" aria-label="Direct link to User Roles" title="Direct link to User Roles"></a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="application-author">Application Author<a href="#application-author" class="hash-link" aria-label="Direct link to Application Author" title="Direct link to Application Author"></a></h3> <p>A developer of an application or service which utilizes the feature flags SDK. This person writes code which calls into the SDK to make flagging decisions.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="application-integrator">Application Integrator<a href="#application-integrator" class="hash-link" aria-label="Direct link to Application Integrator" title="Direct link to Application Integrator"></a></h3> <p>A developer who is setting up or configuring an application or service to use the feature flags SDK. They would write code like "We should speak to the open source flagging service, not $vendor" or "The way the system should handle telemetry is through $library".</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="provider-author">Provider Author<a href="#provider-author" class="hash-link" aria-label="Direct link to Provider Author" title="Direct link to Provider Author"></a></h3> <p>The maintainer of an API-compliant <a href="/specification/sections/providers">provider</a> which implements the necessary interfaces required for flag evaluation.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="integration-author">Integration Author<a href="#integration-author" class="hash-link" aria-label="Direct link to Integration Author" title="Direct link to Integration Author"></a></h3> <p>The maintainer of an API-compliant integration which implements additional secondary functionality besides flag evaluation.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="library-author">Library Author<a href="#library-author" class="hash-link" aria-label="Direct link to Library Author" title="Direct link to Library Author"></a></h3> <p>The maintainer of a shared library which is a dependency of many applications or libraries, which utilizes the feature flags SDK to allow consumers to manage library functionality.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="common">Common<a href="#common" class="hash-link" aria-label="Direct link to Common" title="Direct link to Common"></a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="feature-flag-sdk">Feature Flag SDK<a href="#feature-flag-sdk" class="hash-link" aria-label="Direct link to Feature Flag SDK" title="Direct link to Feature Flag SDK"></a></h3> <p>The libraries used by the Application Author to implement feature flags in their application or service. The interfaces defined in these libraries adhere to the Feature Flag API.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="client-side-sdk">Client-Side SDK<a href="#client-side-sdk" class="hash-link" aria-label="Direct link to Client-Side SDK" title="Direct link to Client-Side SDK"></a></h3> <p>An SDK which is built for usage in client applications (e.g. single-page web applications), and typically uses the <a href="#static-context-paradigm">static-context paradigm</a>.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="server-side-sdk">Server-Side SDK<a href="#server-side-sdk" class="hash-link" aria-label="Direct link to Server-Side SDK" title="Direct link to Server-Side SDK"></a></h3> <p>An SDK which is built for usage in server applications (e.g. REST services), and typically uses the <a href="#dynamic-context-paradigm">dynamic-context paradigm</a>.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="feature-flag-api">Feature Flag API<a href="#feature-flag-api" class="hash-link" aria-label="Direct link to Feature Flag API" title="Direct link to Feature Flag API"></a></h3> <p>The interfaces and abstractions used by authors (Application, Integration, Provider).</p> <p>Provider & Integration authors adhere to the API to add support for their feature flag implementation or integration. Application authors use it via the Feature Flag SDK.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="evaluation-api">Evaluation API<a href="#evaluation-api" class="hash-link" aria-label="Direct link to Evaluation API" title="Direct link to Evaluation API"></a></h3> <p>The subset of the <a href="#feature-flag-api">Feature Flag API</a> that the Application Author uses to evaluate flags.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="flag-management-system">Flag Management System<a href="#flag-management-system" class="hash-link" aria-label="Direct link to Flag Management System" title="Direct link to Flag Management System"></a></h3> <p>A source-of-truth for flag values and rules. Flag management systems may include SaaS feature flag vendors, custom "in-house" feature flag infrastructure, or open-source implementations.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="client">Client<a href="#client" class="hash-link" aria-label="Direct link to Client" title="Direct link to Client"></a></h3> <p>A lightweight abstraction that provides functions to evaluate feature flags. A client is associated with a single provider, which it uses to perform evaluations.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="provider">Provider<a href="#provider" class="hash-link" aria-label="Direct link to Provider" title="Direct link to Provider"></a></h3> <p>An SDK-compliant implementation which resolves flag values from a particular flag management system, allowing the use of the <a href="/specification/sections/flag-evaluation#13-flag-evaluation">Evaluation API</a> as an abstraction for the system in question.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="provider-lifecycle">Provider Lifecycle<a href="#provider-lifecycle" class="hash-link" aria-label="Direct link to Provider Lifecycle" title="Direct link to Provider Lifecycle"></a></h3> <p>The possible states and transitions of a provider over the course of its usage, as defined by the <a href="/specification/sections/providers">provider interface</a>.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="domain">Domain<a href="#domain" class="hash-link" aria-label="Direct link to Domain" title="Direct link to Domain"></a></h3> <p>An identifier which logically binds clients with providers, allowing for multiple providers to be used simultaneously within a single application. Domain binding is dynamic; it may change over the course of an application's lifetime (ie: a client associated to the default provider via an unbound domain will be bound to a new provider if a provider is subsequently assigned to that domain).</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="integration">Integration<a href="#integration" class="hash-link" aria-label="Direct link to Integration" title="Direct link to Integration"></a></h3> <p>An SDK-compliant secondary function that is abstracted by the Feature Flag API, and requires only minimal configuration by the Application Author. Examples include telemetry, tracking, custom logging and monitoring.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="evaluation-context">Evaluation Context<a href="#evaluation-context" class="hash-link" aria-label="Direct link to Evaluation Context" title="Direct link to Evaluation Context"></a></h3> <p>Context object for flag evaluation, which may contain information about the runtime environment, details of the transport method encapsulating the flag evaluation, the host, the client, the subject (user), etc. This data may be used as a basis for differential evaluation of feature flags based on rules that can be defined in the flag system. Context data may be provided by merging static global context, arguments to flag evaluation, and implicit language-dependant state propagation mechanisms (thread-local storage, promise chains, continuations, etc).</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="transaction-context-propagator">Transaction Context Propagator<a href="#transaction-context-propagator" class="hash-link" aria-label="Direct link to Transaction Context Propagator" title="Direct link to Transaction Context Propagator"></a></h3> <p>An SDK-compliant implementation that stores and returns transaction-specific evaluation context. A <em>transaction</em> might be a web request or application event, which carries its contextual data in a thread or continuation storage.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="evaluating-flag-values">Evaluating Flag Values<a href="#evaluating-flag-values" class="hash-link" aria-label="Direct link to Evaluating Flag Values" title="Direct link to Evaluating Flag Values"></a></h3> <p>The process of retrieving a feature flag value in it's entirety, including:</p> <ul> <li>any effects resulting from hooks</li> <li>resolving a flag value from a configured provider</li> <li>falling back to a supplied default, in the case of abnormal execution</li> </ul> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="resolving-flag-values">Resolving Flag Values<a href="#resolving-flag-values" class="hash-link" aria-label="Direct link to Resolving Flag Values" title="Direct link to Resolving Flag Values"></a></h3> <p>The process of a provider retrieving a feature flag value from it's particular source-of-truth.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="tracking-event">Tracking Event<a href="#tracking-event" class="hash-link" aria-label="Direct link to Tracking Event" title="Direct link to Tracking Event"></a></h3> <p>A particular user action or application state representing a business objective or outcome, identified by a unique string, and recorded using the <a href="/specification/sections/tracking">tracking API</a>.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="flagging-specifics">Flagging specifics<a href="#flagging-specifics" class="hash-link" aria-label="Direct link to Flagging specifics" title="Direct link to Flagging specifics"></a></h2> <!-- --> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="flag">Flag<a href="#flag" class="hash-link" aria-label="Direct link to Flag" title="Direct link to Flag"></a></h3> <p>Flags represent a single pivot point of logic. Flags have a type, like <code>string</code>, <code>boolean</code>, <code>json</code>, etc. Examples: <code>redesign_enabled</code> or <code>header-order</code></p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="flag-set">Flag Set<a href="#flag-set" class="hash-link" aria-label="Direct link to Flag Set" title="Direct link to Flag Set"></a></h3> <p>A collection of related <a href="#flag">flags</a>. This grouping helps organize feature flags based on their intended use, facilitating easier management and deployment.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="flag-key">Flag Key<a href="#flag-key" class="hash-link" aria-label="Direct link to Flag Key" title="Direct link to Flag Key"></a></h3> <p>A string that logically identifies a particular flag.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="variant">Variant<a href="#variant" class="hash-link" aria-label="Direct link to Variant" title="Direct link to Variant"></a></h3> <p>A variant is a semantic identifier for a value. This allows for referral to particular values without necessarily including the value itself, which may be quite prohibitively large or otherwise unsuitable in some cases.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="values">Values<a href="#values" class="hash-link" aria-label="Direct link to Values" title="Direct link to Values"></a></h3> <p>Individual variants have values associated with them. These values adhere to the flag's type. For the <code>header-order</code> variants, we may have values like:</p> <div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:#282c34;--prism-color:#ffffff"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="background-color:#282c34;color:#ffffff"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#ffffff"><span class="token plain">reverse: [5,4,3,2,1]</span><br></span><span class="token-line" style="color:#ffffff"><span class="token plain">wonky: [3,5,2,1,4]</span><br></span><span class="token-line" style="color:#ffffff"><span class="token plain">standard: [1,2,3,4,5]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="targeting">Targeting<a href="#targeting" class="hash-link" aria-label="Direct link to Targeting" title="Direct link to Targeting"></a></h3> <p>The application of rules, specific user overrides, or fractional evaluations in feature flag resolution.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="targeting-key">Targeting Key<a href="#targeting-key" class="hash-link" aria-label="Direct link to Targeting Key" title="Direct link to Targeting Key"></a></h3> <p>A string logically identifying the subject of evaluation (end-user, service, etc).</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fractional-evaluation">Fractional Evaluation<a href="#fractional-evaluation" class="hash-link" aria-label="Direct link to Fractional Evaluation" title="Direct link to Fractional Evaluation"></a></h3> <p>Pseudorandomly resolve flag values using a context property, such as a targeting key, based on a configured proportion or percentage (ie: 50/50).</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="rule">Rule<a href="#rule" class="hash-link" aria-label="Direct link to Rule" title="Direct link to Rule"></a></h3> <p>A rule is some criteria that's used to determine which variant a particular context should be mapped to.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="sdk-paradigms">SDK Paradigms<a href="#sdk-paradigms" class="hash-link" aria-label="Direct link to SDK Paradigms" title="Direct link to SDK Paradigms"></a></h2> <p>Feature flag frameworks have SDKs which operate in two distinct paradigms: those designed for use with a single user client application (e.g. mobile phones, single-page web apps), and those designed for multi-user applications, such as web server applications. Some parts of the OpenFeature specification diverge depending on the paradigm.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="dynamic-context-paradigm">Dynamic-Context Paradigm<a href="#dynamic-context-paradigm" class="hash-link" aria-label="Direct link to Dynamic-Context Paradigm" title="Direct link to Dynamic-Context Paradigm"></a></h3> <p>Server-side applications typically perform flag evaluations on behalf of many users, with each request or event being associated with a particular user or client. For this reason, server frameworks typically operate similarly to this:</p> <ul> <li>the application is initialized with some static context (geography, service name, hostname, etc)</li> <li>with each request or event, relevant dynamic context (for example, user session data, unique user identifiers) is provided to flag evaluations</li> </ul> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="static-context-paradigm">Static-Context Paradigm<a href="#static-context-paradigm" class="hash-link" aria-label="Direct link to Static-Context Paradigm" title="Direct link to Static-Context Paradigm"></a></h3> <p>In contrast to server-side or other service-type applications, client side applications typically operate in the context of a single user. Most feature flagging libraries for these applications have been designed with this in mind. Frequently, client/web libraries operate similarly to this:</p> <ul> <li>an initialization occurs, which fetches evaluated flags in bulk for a given context (user)</li> <li>the evaluated flags are cached in the library</li> <li>flag evaluations take place against this cache, without a need to provide context (context was already used to evaluate flags in bulk)</li> <li>libraries provide a mechanism to update context (e.g. if a user logs in), meaning cached evaluations are no longer valid and must be re-evaluated, frequently involving a network request or I/O operation</li> </ul> <p>Not all client libraries work this way, but generally, libraries that accept dynamic context per evaluation can build providers which conform to this model with relative ease, while the reverse is not true.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/open-feature/spec/edit/main/specification/glossary.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/specification/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Introduction</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/specification/types"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Types and Data Structures</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#feature-flag" class="table-of-contents__link toc-highlight">Feature Flag</a></li><li><a href="#user-roles" class="table-of-contents__link toc-highlight">User Roles</a><ul><li><a href="#application-author" class="table-of-contents__link toc-highlight">Application Author</a></li><li><a href="#application-integrator" class="table-of-contents__link toc-highlight">Application Integrator</a></li><li><a href="#provider-author" class="table-of-contents__link toc-highlight">Provider Author</a></li><li><a href="#integration-author" class="table-of-contents__link toc-highlight">Integration Author</a></li><li><a href="#library-author" class="table-of-contents__link toc-highlight">Library Author</a></li></ul></li><li><a href="#common" class="table-of-contents__link toc-highlight">Common</a><ul><li><a href="#feature-flag-sdk" class="table-of-contents__link toc-highlight">Feature Flag SDK</a></li><li><a href="#client-side-sdk" class="table-of-contents__link toc-highlight">Client-Side SDK</a></li><li><a href="#server-side-sdk" class="table-of-contents__link toc-highlight">Server-Side SDK</a></li><li><a href="#feature-flag-api" class="table-of-contents__link toc-highlight">Feature Flag API</a></li><li><a href="#evaluation-api" class="table-of-contents__link toc-highlight">Evaluation API</a></li><li><a href="#flag-management-system" class="table-of-contents__link toc-highlight">Flag Management System</a></li><li><a href="#client" class="table-of-contents__link toc-highlight">Client</a></li><li><a href="#provider" class="table-of-contents__link toc-highlight">Provider</a></li><li><a href="#provider-lifecycle" class="table-of-contents__link toc-highlight">Provider Lifecycle</a></li><li><a href="#domain" class="table-of-contents__link toc-highlight">Domain</a></li><li><a href="#integration" class="table-of-contents__link toc-highlight">Integration</a></li><li><a href="#evaluation-context" class="table-of-contents__link toc-highlight">Evaluation Context</a></li><li><a href="#transaction-context-propagator" class="table-of-contents__link toc-highlight">Transaction Context Propagator</a></li><li><a href="#evaluating-flag-values" class="table-of-contents__link toc-highlight">Evaluating Flag Values</a></li><li><a href="#resolving-flag-values" class="table-of-contents__link toc-highlight">Resolving Flag Values</a></li><li><a href="#tracking-event" class="table-of-contents__link toc-highlight">Tracking Event</a></li></ul></li><li><a href="#flagging-specifics" class="table-of-contents__link toc-highlight">Flagging specifics</a><ul><li><a href="#flag" class="table-of-contents__link toc-highlight">Flag</a></li><li><a href="#flag-set" class="table-of-contents__link toc-highlight">Flag Set</a></li><li><a href="#flag-key" class="table-of-contents__link toc-highlight">Flag Key</a></li><li><a href="#variant" class="table-of-contents__link toc-highlight">Variant</a></li><li><a href="#values" class="table-of-contents__link toc-highlight">Values</a></li><li><a href="#targeting" class="table-of-contents__link toc-highlight">Targeting</a></li><li><a href="#targeting-key" class="table-of-contents__link toc-highlight">Targeting Key</a></li><li><a href="#fractional-evaluation" class="table-of-contents__link toc-highlight">Fractional Evaluation</a></li><li><a href="#rule" class="table-of-contents__link toc-highlight">Rule</a></li></ul></li><li><a href="#sdk-paradigms" class="table-of-contents__link toc-highlight">SDK Paradigms</a><ul><li><a href="#dynamic-context-paradigm" class="table-of-contents__link toc-highlight">Dynamic-Context Paradigm</a></li><li><a href="#static-context-paradigm" class="table-of-contents__link toc-highlight">Static-Context Paradigm</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Sections</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/reference/intro">Docs</a></li><li class="footer__item"><a class="footer__link-item" href="/specification">Specification</a></li><li class="footer__item"><a class="footer__link-item" href="/community">Community</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/tutorials/five-minutes-to-feature-flags">Tutorials</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://bsky.app/profile/openfeature.dev" target="_blank" rel="noopener noreferrer" class="footer__link-item">BlueSky<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/openfeature" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.linkedin.com/company/openfeature/" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://cloud-native.slack.com/archives/C0344AANLA1" target="_blank" rel="noopener noreferrer" class="footer__link-item">Join us on Slack<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.youtube.com/@openfeature" target="_blank" rel="noopener noreferrer" class="footer__link-item">YouTube<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/open-feature" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.linuxfoundation.org/legal/trademark-usage" target="_blank" rel="noopener noreferrer" class="footer__link-item">Trademarks<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"> <a href="https://www.netlify.com" target="_blank" rel="noreferrer noopener" aria-label="Deploys by Netlify"> <img src="https://www.netlify.com/img/global/badges/netlify-color-accent.svg" alt="Deploys by Netlify" width="114" height="51"> </a> </li></ul></div></div><div class="footer__bottom text--center"><svg xmlns="http://www.w3.org/2000/svg" viewBox="-1.81 -3.06 419.38 80.13" style="width:300px"><style>.st0{fill:#fff}</style><g id="XMLID_1_"><g id="XMLID_575_"><path id="XMLID_643_" d="M102.2 33c3.3 0 5.9-1.3 8-3.9l4.3 4.4c-3.4 3.8-7.3 5.7-11.9 5.7s-8.3-1.4-11.3-4.3-4.4-6.5-4.4-10.9 1.5-8.1 4.5-11 6.7-4.4 11.1-4.4c4.9 0 9 1.9 12.2 5.6l-4.1 4.7q-3.15-3.9-7.8-3.9c-2.5 0-4.6.8-6.4 2.4s-2.7 3.8-2.7 6.6.8 5 2.5 6.7c1.6 1.4 3.6 2.3 6 2.3" class="st0"></path><path id="XMLID_641_" d="M119.7 38.8V9.1h6.6v23.8H139v5.9z" class="st0"></path><path id="XMLID_638_" d="M168 34.7c-3 2.9-6.7 4.4-11.1 4.4s-8.1-1.5-11.1-4.4-4.5-6.6-4.5-10.9c0-4.4 1.5-8 4.5-10.9s6.7-4.4 11.1-4.4S165 10 168 12.9s4.5 6.6 4.5 10.9c0 4.4-1.5 8-4.5 10.9m-2.3-10.9c0-2.6-.9-4.9-2.6-6.8s-3.8-2.8-6.3-2.8-4.6.9-6.3 2.8-2.6 4.1-2.6 6.8c0 2.6.9 4.9 2.6 6.8s3.8 2.8 6.3 2.8 4.6-.9 6.3-2.8c1.8-1.9 2.6-4.1 2.6-6.8" class="st0"></path><path id="XMLID_636_" d="M186 31.2q1.65 2.1 4.5 2.1c2.85 0 3.4-.7 4.4-2.1 1.1-1.4 1.6-3.3 1.6-5.6V9.2h6.6v16.6q0 6.45-3.6 9.9c-3.6 3.45-5.4 3.5-9.1 3.5s-6.8-1.2-9.2-3.5q-3.6-3.45-3.6-9.9V9.2h6.6v16.4c.1 2.3.7 4.2 1.8 5.6" class="st0"></path><path id="XMLID_633_" d="M232.7 13c2.8 2.6 4.3 6.2 4.3 10.8s-1.4 8.3-4.1 11c-2.8 2.7-7 4-12.6 4H210V9.1h10.5c5.3 0 9.4 1.3 12.2 3.9m-4.8 17.7c1.6-1.5 2.4-3.8 2.4-6.7s-.8-5.2-2.4-6.7q-2.4-2.4-7.5-2.4h-3.7V33h4.2c3 0 5.3-.8 7-2.3" class="st0"></path><path id="XMLID_631_" d="M274.7 9.1h6.6v29.7h-6.6l-14.2-18.6v18.6h-6.6V9.1h6.2l14.6 19.1z" class="st0"></path><path id="XMLID_628_" d="m309.8 38.8-2.8-6.4h-12.5l-2.8 6.4h-7.1l12.8-29.7h6.4l12.8 29.7zM300.9 18l-3.7 8.6h7.4z" class="st0"></path><path id="XMLID_626_" d="M330.8 14.9v24h-6.6v-24h-8.4V9.2h23.5v5.7z" class="st0"></path><path id="XMLID_624_" d="M344 9.1h6.6v29.7H344z" class="st0"></path><path id="XMLID_622_" d="m368.9 28 7.6-18.9h7.2l-11.9 29.7h-5.6L354.3 9.1h7.2z" class="st0"></path><path id="XMLID_620_" d="M408.6 9.1V15h-14.8v6.1h13.3v5.7h-13.3V33h15.3v5.9h-21.9V9.2h21.4z" class="st0"></path><path id="XMLID_618_" d="M94.6 64.1c1.8 0 3.3-.7 4.5-2.2l2.4 2.5c-1.9 2.1-4.1 3.2-6.7 3.2s-4.7-.8-6.3-2.4c-1.7-1.6-2.5-3.7-2.5-6.1 0-2.5.8-4.5 2.5-6.2s3.8-2.5 6.2-2.5c2.7 0 5 1 6.9 3.1l-2.3 2.6c-1.2-1.5-2.6-2.2-4.4-2.2-1.4 0-2.6.5-3.6 1.4s-1.5 2.1-1.5 3.7.5 2.8 1.4 3.7c.9 1 2.1 1.4 3.4 1.4" class="st0"></path><path id="XMLID_615_" d="M118 65.1c-1.7 1.6-3.8 2.5-6.2 2.5-2.5 0-4.5-.8-6.2-2.5-1.7-1.6-2.5-3.7-2.5-6.1s.8-4.5 2.5-6.1 3.8-2.5 6.2-2.5c2.5 0 4.5.8 6.2 2.5 1.7 1.6 2.5 3.7 2.5 6.1s-.8 4.5-2.5 6.1m-1.2-6.1c0-1.5-.5-2.8-1.4-3.8-1-1-2.1-1.6-3.5-1.6s-2.6.5-3.5 1.6c-1 1-1.4 2.3-1.4 3.8s.5 2.7 1.4 3.8c1 1 2.1 1.6 3.5 1.6s2.6-.5 3.5-1.6c.9-1 1.4-2.3 1.4-3.8" class="st0"></path><path id="XMLID_613_" d="m138.6 56.9-4.5 9.1h-2.2l-4.5-9.1v10.5h-3.7V50.7h5l4.3 9.1 4.3-9.1h5v16.7h-3.7z" class="st0"></path><path id="XMLID_610_" d="M157.9 52.3c1.2 1 1.8 2.5 1.8 4.6s-.6 3.6-1.8 4.5c-1.2 1-3 1.4-5.5 1.4h-2.2v4.6h-3.7V50.7h5.9c2.5.1 4.3.6 5.5 1.6m-2.7 6.5c.4-.5.7-1.2.7-2.2s-.3-1.6-.9-2-1.5-.6-2.7-.6h-2.1v5.6h2.5c1.2 0 2-.3 2.5-.8" class="st0"></path><path id="XMLID_608_" d="M167 63.1c.6.8 1.5 1.2 2.5 1.2s1.9-.4 2.5-1.2.9-1.8.9-3.2v-9.2h3.7V60c0 2.4-.7 4.3-2 5.6s-3 1.9-5.1 1.9-3.8-.7-5.1-2-2-3.2-2-5.6v-9.3h3.7v9.2q0 2.25.9 3.3" class="st0"></path><path id="XMLID_606_" d="M187.5 54v13.4h-3.7V54h-4.7v-3.2h13.2V54z" class="st0"></path><path id="XMLID_604_" d="M195 50.8h3.7v16.7H195z" class="st0"></path><path id="XMLID_602_" d="M214.4 50.8h3.7v16.7h-3.7l-7.9-10.4v10.4h-3.7V50.8h3.5l8.2 10.7V50.8z" class="st0"></path><path id="XMLID_600_" d="M233.1 59h3.7v5.9c-1.7 1.8-3.9 2.8-6.9 2.8-2.4 0-4.5-.8-6.2-2.4s-2.5-3.7-2.5-6.1c0-2.5.8-4.5 2.5-6.2s3.7-2.5 6.1-2.5 4.5.8 6.2 2.4l-1.9 2.8c-.7-.7-1.4-1.1-2.1-1.3-.6-.2-1.3-.4-2-.4-1.4 0-2.6.5-3.6 1.4-1 1-1.5 2.2-1.5 3.8s.5 2.8 1.4 3.8c.9.9 2 1.4 3.3 1.4s2.4-.2 3.2-.7V59z" class="st0"></path><path id="XMLID_598_" d="M257.8 50.8v3.3h-7.7v3.6h7.3V61h-7.3v6.5h-3.7V50.8z" class="st0"></path><path id="XMLID_595_" d="M275 65.1c-1.7 1.6-3.8 2.5-6.2 2.5-2.5 0-4.5-.8-6.2-2.5-1.7-1.6-2.5-3.7-2.5-6.1s.8-4.5 2.5-6.1 3.8-2.5 6.2-2.5c2.5 0 4.5.8 6.2 2.5 1.7 1.6 2.5 3.7 2.5 6.1s-.8 4.5-2.5 6.1m-1.3-6.1c0-1.5-.5-2.8-1.4-3.8-1-1-2.1-1.6-3.5-1.6s-2.6.5-3.5 1.6c-1 1-1.4 2.3-1.4 3.8s.5 2.7 1.4 3.8c1 1 2.1 1.6 3.5 1.6s2.6-.5 3.5-1.6c1-1 1.4-2.3 1.4-3.8" class="st0"></path><path id="XMLID_593_" d="M285.1 63.1c.6.8 1.5 1.2 2.5 1.2s1.9-.4 2.5-1.2.9-1.8.9-3.2v-9.2h3.7V60c0 2.4-.7 4.3-2 5.6s-3 1.9-5.1 1.9-3.8-.7-5.1-2-2-3.2-2-5.6v-9.3h3.7v9.2c-.1 1.5.3 2.6.9 3.3" class="st0"></path><path id="XMLID_591_" d="M310.2 50.8h3.7v16.7h-3.7l-7.9-10.4v10.4h-3.7V50.8h3.5l8.2 10.7V50.8z" class="st0"></path><path id="XMLID_588_" d="M330.7 53c1.6 1.5 2.4 3.5 2.4 6.1s-.8 4.6-2.3 6.1-3.9 2.3-7.1 2.3H318V50.8h5.9c3 0 5.3.7 6.8 2.2m-2.7 9.9c.9-.9 1.4-2.1 1.4-3.7s-.5-2.9-1.4-3.8-2.3-1.3-4.2-1.3h-2.1v10.1h2.4c1.7-.1 3-.5 3.9-1.3" class="st0"></path><path id="XMLID_585_" d="m347.7 67.4-1.5-3.6h-7l-1.5 3.6h-4l7.2-16.7h3.6l7.2 16.7zm-5-11.7-2.1 4.8h4.2z" class="st0"></path><path id="XMLID_583_" d="M359.5 54v13.4h-3.7V54H351v-3.2h13.2V54z" class="st0"></path><path id="XMLID_581_" d="M366.9 50.8h3.7v16.7h-3.7z" class="st0"></path><path id="XMLID_578_" d="M388.7 65.1c-1.7 1.6-3.8 2.5-6.2 2.5-2.5 0-4.5-.8-6.2-2.5-1.7-1.6-2.5-3.7-2.5-6.1s.8-4.5 2.5-6.1 3.8-2.5 6.2-2.5c2.5 0 4.5.8 6.2 2.5 1.7 1.6 2.5 3.7 2.5 6.1s-.8 4.5-2.5 6.1m-1.2-6.1c0-1.5-.5-2.8-1.4-3.8-1-1-2.1-1.6-3.5-1.6s-2.6.5-3.5 1.6c-1 1-1.4 2.3-1.4 3.8s.5 2.7 1.4 3.8c1 1 2.1 1.6 3.5 1.6s2.6-.5 3.5-1.6c.9-1 1.4-2.3 1.4-3.8" class="st0"></path><path id="XMLID_576_" d="M406 50.8h3.7v16.7H406l-7.9-10.4v10.4h-3.7V50.8h3.5l8.2 10.7z" class="st0"></path></g></g><g id="XMLID_197_"><g id="XMLID_392_"><path id="XMLID_397_" d="M15.5 47.7H6.4v21.4h21.3v-9.2H15.5z" class="st0"></path><path id="XMLID_395_" d="M61.3 47.8v12.1H49.1v-.1 9.3h21.3V47.7h-9.2z" class="st0"></path><path id="XMLID_394_" d="M6.4 26.4h9.2l-.1-.1V14.2h12.2V5H6.4z" class="st0"></path><path id="XMLID_393_" d="M49.1 5v9.2h12.2v12.2h9.1V5z" class="st0"></path></g><g id="XMLID_200_" opacity="0.8"><path id="XMLID_391_" d="M47.9 26.4 35.7 14.2h13.4V5H27.7v9.2l12.2 12.2z" class="st0"></path><path id="XMLID_390_" d="M36.9 47.7h-8L39 57.8l2 2.1H27.7v9.2h21.4v-9.3l-6.1-6z" class="st0"></path><path id="XMLID_389_" d="M61.3 26.4v13.3l-2.1-2.1-10.1-10.1v8.1l6 6 6.1 6.1h9.2V26.4z" class="st0"></path><path id="XMLID_388_" d="M27.7 38.5 15.6 26.4H6.4v21.3h9.1V34.4l12.2 12.2z" class="st0"></path></g></g></svg><div class="footer__copyright">© 2025 OpenFeature is a Cloud Native Computing Foundation incubating project | Documentation Distributed under CC BY 4.0 | All Rights Reserved</div></div></div></footer></div> </body> </html>