Feature flags built for European teams. GDPR-compliant infrastructure, context-based targeting, and enterprise private cloud for regulated industries.
feature_flags
dark_mode
UI dark theme
maintenance
Maintenance banner
EU
Data residency
GDPR
Compliant by design
<30ms
p99 eval latency
Ruleset
Flexible targeting
Context-based targeting
Attach any context to an eval call - country, plan, app version, user ID - and write rules that fire only when conditions match. No redeployments. No coordination.
Rules are evaluated in order. First match wins. If nothing matches, the flag returns its default. Simple, predictable, auditable.
// rule set for: early_access
Rule 1
if plan == "pro" → enabled, value: "v2"
Rule 2
if country in "DE,FR,NL,PL" → enabled, value: "v1"
// else → disabled, value: null
EU-first · GDPR-native
Your feature flag data never leaves the EU. Our cloud runs in Frankfurt and Dublin. For banking, healthcare, and public-sector clients, we offer a fully managed private cloud deployment inside your own EU environment.
Every flag change is immutably logged - who changed what, when, and what the previous value was. Ready for GDPR audits and internal compliance reviews.
Audit log
Flag toggles, rule changes, template edits - every mutating action is logged with the admin who made it, a timestamp, and the full detail record.
Rolling back is as easy as reading the log. Know what changed before an incident and undo it in one toggle.
Start on our shared cloud. Scale to a dedicated private cloud when your compliance needs require it.
Hosted in Frankfurt and Dublin. GDPR-compliant, latency-optimized for Europe, up and running in minutes.
Fully managed deployment in your own EU cloud environment. Ideal for banking, healthcare, and public sector.
One API key, one endpoint, full control.
Sign up and register your company. Get an API key and a dashboard in seconds.
Call the eval endpoint with your API key and context. Get back enabled + value per flag.
Toggle flags, update targeting rules, roll back instantly - no builds, no restarts needed.
import { Ftflg } from 'ftflg';
const flags = new Ftflg({
apiKey: process.env.FTFLG_API_KEY,
context: { plan: 'pro', country: 'DE' },
});
const feature = await flags.eval('new_checkout');
if (feature.enabled) {
renderCheckoutV2(feature.value);
} else {
renderCheckoutV1();
}EU-hosted, GDPR-compliant, enterprise-ready. Start free, scale when you need to.