Cougr Feature Flags

Purpose

This document groups Cougr feature flags by maturity and intended usage.

Current Flags

FlagMaturityIntended useNotes
debugSupport-onlyLocal diagnostics and introspectionExposes runtime snapshots and metrics that are not part of the stable product contract
hazmat-cryptoExperimentalAdvanced ZK and cryptographic integrationsEnables low-level host crypto helpers; do not treat as part of the stable privacy promise
testutilsNon-contract support surfaceTests and explicit test-utility consumersEnables testing helpers such as MockAccount

Policy

  • feature flags do not automatically promote a surface into the stable contract
  • test-only or support-only flags remain outside compatibility guarantees
  • new security-sensitive flags should default to Beta or Experimental until their contracts are written down

Relationship To Public Surface

The maturity of the feature flag should be interpreted together with:

In the product-level facade:

  • auth mirrors the Beta accounts surface
  • privacy::stable and privacy::experimental mirror the split inside zk
  • ops mirrors the stable standards surface