Feature Flags & Environment Gates

Decision matrix for production. Set in .env / deployment secrets.

Enabled for production (default on)

FlagDefault (production)ComponentNotes
ENABLE_TRUST_CHATtrueGateway + frontendEnd-to-end encrypted chat
VITE_ENABLE_TRUST_CHATtrueFrontendMust match gateway
ENABLE_INTENT_PLANNERtrueGateway + PythonONNX + heuristic intent
ANOOBOT_CONSTITUTION_ENABLEDtruePythonP0–P6 compliance evaluation
ANOOBOT_PRINCIPLE_ENGINE_ENABLEDtruePythonPII/bias detectors
ANOOBOT_USE_SQLCIPHERtrueStorageRecommended for local tier
ENABLE_AI_GATEWAYtrueGatewayAI draft/summarize routes
ENABLE_SWARM_RUNTIMEtrueGateway + agent-poolReal agent registry (no mocks)
EXPO_PUBLIC_ENABLE_BIOMETRICtrueMobileFace ID / fingerprint via Expo

Conditional (enable when infra ready)

FlagWhen to enableNotes
ANOOBOT_HSM_ENABLEDPKCS#11 library configuredSee hsm.md
ENABLE_DESKTOP_AUTO_UPDATEElectron release channel + signingUses electron-updater
ENABLE_MESH_SEND_LIMITStrue in productionDaily mesh send caps (lite=50, paid=500) — see product-plan-email-deliverability.md
MESH_SEND_LIMIT_LITE50Free/lite slab daily mesh sends
MESH_SEND_LIMIT_PAID500Paid slab daily mesh sends
MANAGED_PROVISIONER_LIVEfalse in production until Y2 soakReal AWS EKS provisioning — requires MANAGED_BETA_ENABLED=true
MANAGED_BETA_ENABLEDfalse in production pre-GAEnables managed beta crons + live provisioner in staging
VITE_ENABLE_MANAGED_CLOUDfalse until Y2 betaManaged cloud checkout UI
DISABLE_MANAGED_LAPSE_CRONSkip subscription lapse offboard
MANAGED_LAPSE_CHECK_MS300000Lapse offboard scan interval
ENABLE_OUTBOUND_MAILfalse until managed GAPer-tenant outbound subdomain + webhooks — outbound-mail-ga.md
OUTBOUND_WEBHOOK_SECRETPostmark/SES webhook auth header
OUTBOUND_COMPLAINT_SUSPEND_THRESHOLD3Auto-suspend admin after N complaints / 24h
ENABLE_BLOCKLIST_MONITORtrue when outbound liveDNS RBL scan on OUTBOUND_SENDING_IP
DISABLE_BLOCKLIST_CRONSkip blocklist cron
BLOCKLIST_CHECK_MS900000RBL scan interval

Disabled — future / optional

FlagReason
ANOOBOT_KYBER_ENABLEDPost-quantum key encapsulation roadmap
ANOOBOT_KYBER_TLS_ENABLEDHybrid PQ-TLS not production-ready; ingress handles TLS
ANOOBOT_WOPI_ENABLEDCollabora integration optional
ANOOBOT_LEGAL_EXPORT_ENABLEDLegal counsel workflow not required for core GA
ENABLE_INSIGHT_BROKERMilvus embeddings experimental

Operational toggles

FlagPurpose
DISABLE_GATEWAY_CRONSSkip cron jobs (dev)
DISABLE_MANAGED_SLA_CRONSkip SLA checker
DISABLE_MANAGED_JOB_QUEUEInline sync instead of queue
ANOOBOT_SKIP_DNS_VERIFYSkip domain DNS verification (dev)
ANOOBOT_SKIP_EXTERNAL_IMAPLocal relay fallback
ANOOBOT_ALLOW_LEGACY_TOTP_DECRYPTLegacy TOTP migration only

CI production-like profile

ENABLE_AI_GATEWAY=true
ENABLE_SWARM_RUNTIME=true
ENABLE_TRUST_CHAT=true
ENABLE_INTENT_PLANNER=true
ANOOBOT_CONSTITUTION_ENABLED=true
ANOOBOT_PRINCIPLE_ENGINE_ENABLED=true
VITE_ENABLE_TRUST_CHAT=true

Run: pnpm run audit and pnpm test:e2e:gates with the above set.