Feature Flag Service
A self-hosted feature flag service built with Rust and PostgreSQL. Create flags, target specific users, run gradual rollouts, and evaluate everything from your application through a single SDK endpoint.
What it does
- Toggle features across projects and environments without redeploying
- Target users by ID, email address, or email domain
- Roll out gradually with deterministic percentage-based bucketing
- Kill switches — disable any flag instantly, no deploy needed
- Evaluate flags from any application with a single HTTP call
How it works
Your application calls POST /sdk/v1/evaluate with an SDK key and a user context. The service returns every flag state for that user in one JSON response.
POST /sdk/v1/evaluate
X-SDK-Key: sdk_your_key_here
{
"environment": "production",
}
{
"flags": {
"dark_mode": { "enabled": true, "reason": "User in 50% rollout" },
"new_checkout": { "enabled": true, "reason": "Matched email_domain rule" },
"premium_features":{ "enabled": false, "reason": "Flag is globally disabled" }
}
}
Where to start
| I want to… | Go to |
|---|---|
| Get something working fast | Quickstart |
| Understand the data model | Concepts |
| Integrate flags into my app | SDK Integration |
| See all API endpoints | API Reference |
| Deploy on my own server | Self-Hosting |