Security

Target User Privacy

2 min read

FlagPilot is designed around a zero-PII (Personally Identifiable Information) privacy architecture.

Zero-PII Storage Model

We do not store emails, usernames, ip-addresses, or locations. Flag evaluations are computed locally using opaque user ID hashes:

  • Local Compute: Context parsing is resolved completely in-memory inside your application thread, meaning context data never leaves your server.
  • Opaque Targeting Lists: Explicit target user IDs stored in our database can be hashed or pseudonymized before registration (e.g., storing SHA-256 strings instead of raw client keys).

Privacy Best Practices

We recommend hashing PII attributes on your client backend before parsing them to the evaluator:

index.js
const crypto = require('crypto');
const opaqueId = crypto.createHash('sha256').update(user.email).digest('hex');
const isEnabled = await flagpilot.evaluate('checkout-redesign', { userId: opaqueId });

FAQ

How does Target User Privacy interact with local caches?

Configurations are synced down using Edge Config or fallback REST triggers. The client automatically reads evaluations in-memory, resulting in sub-millisecond local evaluation times.

Where can I obtain support for Target User Privacy?

You can open a support ticket in your dashboard, check the community roadmap, or consult the FlagPilot Platform Status page.

Was this page helpful?