
GO Feature Flag documentation
GO Feature Flag is a lightweight, open-source feature flag solution with no backend to run.
You describe your flags in a simple configuration file, serve them with a single stateless service — the relay proxy — and evaluate them from your applications in 16 languages through OpenFeature, the CNCF standard for feature flagging.
No database, no proprietary SDK, no vendor lock-in.
Read What are feature flags? for a quick primer, or Why GO Feature Flag? to see how it compares to other solutions.
Start here
Get started in 5 minutes
Create your first flag, start the relay proxy, and evaluate the flag from your application.
Pick your SDK
16 languages, client-side and server-side, all built on the OpenFeature standard.
How it works
1. Describe your flags in a configuration file. Variations are the possible values, and the rules decide who gets which one.
show-email-contact:
variations:
enabled: true
disabled: false
targeting:
- query: company eq "monsters-inc"
variation: enabled
defaultRule:
variation: disabled
2. Evaluate the flag in your application through the OpenFeature SDK. You always get a value back — the default one if anything goes wrong.
evalCtx := of.NewEvaluationContext("user-123", map[string]any{"company": "monsters-inc"})
showContact := client.Boolean(ctx, "show-email-contact", false, evalCtx)
Change the configuration file and the new behaviour is live, without redeploying or restarting your application.
The snippet above is in Go, but the API is the same in every language. Check the SDKs section for the one matching yours.
Explore the documentation
Architecture, flag evaluation, evaluation context, flag sets and the SDK paradigms.
The flag format, targeting rules and custom bucketing to decide who gets what.
Progressive rollouts, scheduled changes, A/B testing and percentage-based releases.
Configure, deploy and monitor the only component you run in your infrastructure.
OpenFeature providers for 16 languages, plus the OFREP standard protocol.
Keep your flags where it suits you: S3, GitHub, Kubernetes, MongoDB, PostgreSQL, Redis and more.
Send every flag evaluation to Kafka, BigQuery, S3, OpenTelemetry, a webhook and more.
Get alerted in Slack, Discord, Microsoft Teams or your own webhook when a flag changes.
Track how your flags are used and measure the impact of your experiments.
CLI, linter, editor autocomplete and AI tooling to work with your flag configuration.
GO Feature Flag is open source and community driven, here is how to help.
Writing a Go service and prefer not to run the relay proxy? GO Feature Flag is also available as a Go module you can embed directly into your application.
Need help?
- Ask your question in the community Slack.
- Found a bug or have an idea? Open an issue.
- Curious about what shipped? Read the release notes.