Skip to content

What is Phase Flag?

Phase Flag is a full-featured feature flagging SaaS that lets you ship code faster by decoupling deployments from releases. It provides a control plane for managing flags and a high-performance data plane for evaluating them at the edge — all with sub-millisecond latency.

Whether you're running a single-service startup or a multi-team enterprise, Phase Flag scales with you across three deployment modes:

ModeBest For
OSSSelf-hosted teams who want full control, no license required
SaaSTeams who want the managed service at phaseflag.com
EnterpriseOrganizations needing SSO, compliance, advanced governance, and audit trails

Key Features

Flag Types

  • Boolean flags — the classic on/off switch for feature gates and kill switches
  • String flags — serve different UI copy, theme names, or configuration values
  • Number flags — tune rate limits, timeouts, thresholds without a deploy
  • JSON flags — full structured configuration delivered at runtime

Targeting & Segmentation

Define precise audiences using a rule builder with 11+ operators:

  • is, is_not, contains, not_contains
  • one_of, not_one_of
  • gt, lt (numeric comparisons)
  • matches_regex, version_gt, version_lt

Combine conditions into reusable Segments and reference them across multiple flags.

Percentage Rollouts

Gradually release features to a percentage of users using deterministic DJB2 hashing. The same user always gets the same variation — no flickering, no inconsistency.

Real-Time Evaluation via Go Relay Proxy

The relay proxy is a lightweight Go service that sits between your SDKs and the control plane. It:

  • Caches the full ruleset locally with a configurable TTL
  • Evaluates flags server-side for backend services
  • Buffers and forwards evaluation events to reduce control-plane load
  • Supports ETag-based conditional fetching for bandwidth efficiency

Environments

Each project supports multiple isolated environments (e.g., development, staging, production). Flag states are fully independent per environment. You can promote flag configurations across environments with a single click.

Audit Log

Every mutation — flag creation, rule change, toggle, deletion — is recorded with the actor's identity, timestamp, and before/after diff. Enterprise users get long-term retention and export.

Webhooks

Configure outbound webhooks to notify your CI/CD pipeline, Slack channels, or custom integrations when flag state changes.


Architecture

Phase Flag separates management from evaluation:

                      Dashboard (React)
                            |
                         REST API
                            |
              +-------------+-------------+
              |                           |
          FastAPI                    Relay Proxy
         (Control Plane)              (Go, Data Plane)
              |                           |
          PostgreSQL               SDKs (JS/Py/Go/React/Java/...)
                                         |
                                   Your Applications

Control Plane (FastAPI, Python 3.11):

  • Manages all flag configuration, segments, environments, and audit logs
  • Streams ruleset updates to relay via Server-Sent Events
  • Issues JWT tokens and API keys for authentication

Data Plane (Go Relay + SDKs):

  • SDKs fetch a compiled ruleset and evaluate flags locally — no network round-trip per evaluation
  • The relay proxy aggregates ruleset fetches from thousands of SDK instances
  • Evaluation events are batched and forwarded asynchronously

Deployment Options


Released under the Apache 2.0 License.