Flipt is a self-hosted, Git-native feature flag management platform designed for engineering teams that want to eliminate deployment risk by treating feature flags as code. It integrates directly with your existing Git repositories, allowing developers to create, modify, and review feature flags through pull requests, branches, and commits—just like code. This approach ensures flags are versioned, auditable, and deployed alongside application code using familiar CI/CD pipelines.
Built in Go with a modern React/TypeScript UI, Flipt supports gRPC and REST APIs, OpenFeature standard, and real-time Server-Sent Events (SSE) for instant flag evaluation. It runs as a single binary with zero external dependencies by default, and supports multi-environment isolation via Git branches, directories, or repositories. Security features include OIDC/JWT/OAuth authentication, GPG commit signing (Pro), and secrets management via HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager, and Azure Key Vault.
What You Get
- Git-Native Storage - Feature flags are stored directly in your Git repositories (GitHub, GitLab, BitBucket, Azure DevOps, Gitea) as YAML/JSON files, enabling full version history, blame, and diff tracking.
- Multi-Environment Isolation - Create independent environments using Git branches, directories, or separate repositories, each with its own flags, configurations, and access controls.
- Server-Sent Events (SSE) Streaming API - Real-time flag updates delivered to clients without polling, reducing latency and ensuring instant propagation of flag changes across services.
- Secrets Management Integration - Securely store API keys and sensitive data using file-based providers (OSS) or cloud secrets managers like HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager, and Azure Key Vault (Pro).
- GPG Commit Signing (Pro) - Cryptographically sign all flag changes with GPG keys stored in secrets managers to ensure integrity and non-repudiation of flag modifications.
- OpenFeature Compatibility - Full support for the OpenFeature standard, including the Remote Evaluation Protocol (OFREP), enabling vendor-neutral feature flag evaluation across languages and platforms.
- Zero-Dependency Deployment - Run Flipt as a single binary with no database or external dependencies required, simplifying infrastructure and reducing operational overhead.
- Merge Proposals (Pro) - Automatically generate Git pull requests for flag changes made via the UI, enforcing code review workflows before changes are merged to production.
Common Use Cases
- Deploying trunk-based development - Engineering teams use Flipt to merge incomplete features into mainline code via feature flags, eliminating the need for long-lived branches and reducing merge conflicts.
- Managing flags across dev, staging, and production environments - Teams map each environment to a Git branch or directory, ensuring flags are isolated and promoted through CI/CD pipelines without manual configuration drift.
- Ensuring compliance in regulated environments - Organizations keep sensitive flag data within their own infrastructure using self-hosted Flipt, with GPG signing and secrets management to meet audit and security requirements.
- Reducing deployment anxiety for high-traffic applications - Companies use Flipt’s real-time SSE updates and client-side evaluation to instantly toggle features on/off during outages or performance issues, without redeploying code.
Under The Hood
Architecture
- Clear separation of concerns through modular Go components: core encapsulates business logic and validation, rpc defines gRPC/protobuf contracts, and cmd serves as the application entry point
- Protocol Buffers with buf.yaml enforce contract-first API design, ensuring backward compatibility and consistent service interfaces
- Validation is declaratively defined using CUE and JSON Schema, eliminating runtime parsing errors and enabling type-safe configuration
- Dependency injection via constructor-based interfaces promotes loose coupling and testability across service layers
- Event-driven patterns decouple feature evaluation from side effects through a centralized Event component
- Code generation and build tooling ensure reproducible builds and SDK consistency across environments
Tech Stack
- Go backend with gRPC and Protocol Buffers, complemented by grpc-gateway for REST compatibility
- Comprehensive testing infrastructure using testify mocks and native Go testing with coverage reporting
- Dagger orchestrates containerized builds and tests with custom pipelines
- Frontend built with Vite and Node.js, leveraging npm, Prettier, and ESLint for quality
- Multi-platform binaries and CI/CD automated via Goreleaser with Docker and container registry targets
- Local development supported by docker-compose with environment-aware build flags and asset bundling
Code Quality
- Extensive test coverage across all layers with expressive assertions and realistic mocks
- Strong type safety enforced through CUE schemas, ensuring structural and semantic correctness of configurations
- Consistent, domain-driven naming and clear layer separation enhance maintainability and readability
- Robust error handling with custom error types and structured validation, avoiding runtime exceptions
- Linting and validation rules embedded in CUE and test suites prevent invalid configurations before deployment
- Dependency injection and interface-based mocking enable clean component isolation in tests
What Makes It Unique
- Employs CUE as a first-class configuration and validation language, enabling declarative, type-safe feature flag schemas with built-in versioning
- Implements a unified, versioned configuration model that evolves backward-compatibly without breaking deployments
- Introduces native environment branching and namespace isolation in the UI, mirroring Git-like workflows for feature flag management
- Embeds rich metadata directly into flag definitions to support observability, tagging, and policy enforcement natively
- Unifies server-side validation with client-side UI state through a shared source of truth, reducing inconsistency
- Uses declarative, schema-driven rules for feature flag logic, enabling static analysis and reducing imperative complexity