Managing Runtime Controls

Runtime controls are operational settings that affect a running app or game without requiring a redeploy. In DartStream, those controls include feature flags, live config, entitlement-aware limits, experiments, and support or audit context.

  1. Create a workspace and project boundary.

  2. Separate development, staging, and production environments.

  3. Use Sandbox or Standard while validating the runtime path.

  4. Move higher-risk controls behind IntelliToggle-backed flags or live config.

  5. Track who changed a control and why.

  6. Remove temporary controls after rollout or experiment completion.

Good Control Hygiene

  • Use readable keys such as new-checkout-experience or winter-event-enabled.

  • Include ownership, reason, and cleanup notes.

  • Avoid relying on runtime controls for security enforcement. Enforce security on the backend.

  • Keep production controls small and reversible.

  • Pair live changes with telemetry and audit review.

Billing and Entitlements

Runtime controls must respect the active plan. For example, Standard and Enhanced may expose different limits for projects, environments, team members, feature flags, telemetry events, and premium runtime capabilities.

Use the billing subscription and feature-check APIs to confirm the backend agrees with the UI before enabling a paid capability.

Feature Flag Lifecycle

For feature flags specifically:

  • create the flag in the appropriate provider workflow

  • connect it to the DartStream project or environment

  • test it in development or sandbox first

  • roll it out gradually

  • monitor telemetry or support signals

  • archive or remove the flag once the behavior is permanent