FeatureSignals

Flag Lifecycle

Feature flags have a lifecycle from creation to retirement. Managing this lifecycle is critical to avoiding technical debt.

Status Model

StatusMeaningNext Steps
activeFlag is in use and being evaluatedMonitor, iterate, or roll out
rolled_outFeature fully enabled for all usersRemove flag from code, then deprecate
deprecatedFlag is scheduled for removalDelete after confirming no SDK references
archivedFlag retained for audit purposes onlyNo action needed

Lifecycle Stages

text
Created  Configured  Enabled (Dev)  Enabled (Staging)  Enabled (Production)  Fully Rolled Out  Archived/Deleted

Cleanup Timelines by Category

CategoryExpected Cleanup Timeline
ReleaseDays to weeks after full rollout
ExperimentAfter experiment concludes and winner is declared
OpsRarely — ops flags are often long-lived
PermissionRarely — permission flags may be permanent

Flag Expiration

bash
curl -X PUT https://api.featuresignals.com/v1/projects/$PROJECT_ID/flags/my-flag \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expires_at": "2026-06-01T00:00:00Z"}'

Kill Switch

bash
curl -X POST https://api.featuresignals.com/v1/projects/$PROJECT_ID/flags/my-flag/kill \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"env_id": "production-id"}'

Next Steps