Feature flag health reflects how effectively flags are maintained across environments, whether they are active, inactive, or stale. Healthy flags reduce technical debt, prevent configuration drift, and keep rollouts predictable.
Assess flag health
Over time, unused, old feature flags can accumulate in your codebase. These stale flags increase complexity, slow development, and introduce release risk. CloudBees platform surfaces flag activity and lifecycle data so you can identify which flags remain valuable and which can be safely retired.
A flag’s health is determined by its activity level, configuration consistency, and recency of use across environments. Flag health combines signals from the following sources:
-
Flag impressions: Show how often the flag is evaluated.
-
Activity status: Indicate whether it is active, inactive, or stale.
-
Environment comparison: – Identify configuration differences across environments.
-
Cleanup candidates: Highlight flags ready for review and removal.
Access the Flag overview page
The Flag overview provides a summary view of feature flag activity across your application.
To access the Flag overview:
Within an organization, navigate to Feature management.
By default, the landing page is the Flags overview.
The Flags overview displays flag health across multiple elements of the page, including icons, columns, and filters. Use the columns to compare flag states across environments, the filters to narrow results, and the icons and status indicators to quickly assess each flag’s condition and activity level.
The following sections describe how to interpret these icons, columns, and filters when evaluating flag health.
-
Cleanup candidates summary:
-
To remove active flags from the list, select
next to Show cleanup candidates to toggle this feature to
. -
View the number of stale flags/total number of flags.
-
-
Select
to limit the display by environment, activity status, configuration status, flag type, label or, namespace. -
Select Environments to scan the flag status by a specific environment, or
All environments. -
Scan each environment’s column for the flag’s status and identification of the flags that are active, inactive, in setup status, or stale.
-
indicates the flag is toggled to on in that environment. -
indicates there is an approval request pending for that flag in that environment.
-
These insights help you identify cleanup priorities and maintain consistent configuration hygiene across all environments.
Flag statuses
Each flag’s health status is derived from its impression data and lifecycle activity:
| Status | Description |
|---|---|
Active |
The flag is evaluated regularly and returns multiple variations. |
Inactive |
The flag has not been evaluated within the set impressions timeframe, and may no longer be used. |
Setup |
The flag has been created but has not yet received any impressions. |
Stale |
The flag has been evaluated but consistently returns the same value, indicating it is no longer affecting behavior. |
Permanent |
The flag ignores impression data and is intentionally long-lived for operational purposes. |
| Status definitions are based on flag impressions and activity status. |
Review stale flags
The Flags overview page highlights cleanup candidates, flags are marked as stale or inactive.
You can:
-
Filter by environment, or
All environmentsand use
to narrow results. -
Compare configurations across environments.
-
Open a flag’s configuration to confirm dependencies before deletion.
Regular cleanup of stale flags helps:
-
Reduce code complexity and confusion.
-
Improve rollout accuracy and performance.
-
Maintain audit-ready visibility into flag history and ownership.
Cleanup recommendations
Use the following actions to manage stale or inactive flags:
| Action | When to apply |
|---|---|
Delete |
For flags verified as unused across all environments and code references. |
Mark as permanent |
For flags that serve ongoing operational roles, such as timeouts, URLs, or logging levels. |
Best practices
-
Review stale and inactive flags regularly.
-
Use labels and namespaces to clarify ownership.
-
Include flag cleanup in sprint or release retrospectives.
-
Use permanent flags sparingly and only for long-term configurations.
-
Monitor activity trends using Flag impressions and activity status.