At a glance
Stale Feature Flags (>90d, 100% rollout) is a feature-flags metric tracked from PostHog data. It counts flags that have been fully rolled out to 100% of users for more than 90 days. Each one is a cleanup candidate: the experiment is long over, yet the flag still lives in your code as a dead conditional branch. A growing count is flag debt, and this card is the queue for paying it down.
| What it counts | The number of feature flags at 100% rollout for more than 90 days. |
| Sample type | Backend API data from PostHog feature-flag definitions, refreshed on the standard data refresh. |
| Why it matters | Stale flags are dead code that still has to be reasoned about, tested around, and maintained. Retiring them reduces risk and complexity. |
| Reading the value | Treat the count as a backlog. More than 5 stale flags is flagged as accumulating debt worth a cleanup pass. |
| Currency | count |
| Time window | RT |
| Alert trigger | >5 |
| Sentiment key | ph_stale_feature_flags |
| Roles | owner, marketing |
Calculation
Calculated automatically from your PostHog data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A representative reading of Stale Feature Flags (>90d, 100% rollout) for a typical merchant on PostHog. Suppose the card reads 7 stale flags, above the threshold of 5. Three of them,pdp-redesign, new-nav, and free-shipping-v2, hit 100% rollout back in early 26 and have not been touched since. Each is now permanently-on logic that the codebase still branches on. The card is the prompt to remove the flag references in the next cleanup sprint. Cross-reference Active Feature Flags for the full estate and Feature Flag Rollout Status for the current percentages. For deeper investigation, use Vortex Mind to trace upstream causes; for natural-language exploration, ask Ask Viq.
Sibling cards merchants should reference together
| Card | Why merchants reach for it |
|---|---|
ph_active_feature_flags | Feature Flags sibling: the full live estate. |
ph_feature_flag_rollout | Feature Flags sibling: per-flag rollout percentages. |
ph_health_score | Executive sibling: overall tracking health. |
ph_dau | Executive sibling: the audience flags affect. |
ph_event_volume | Executive sibling: total event volume. |
Reconciling against the vendor’s own dashboard
Where to look in PostHog’s own dashboard: In PostHog, open the Feature Flags list and sort by rollout percentage and last-modified date. Flags at 100% that have not changed in over 90 days are the stale ones this card counts. PostHog records each flag’s creation and last-modified timestamps, which drive the 90-day test. Why the Vortex IQ value may legitimately differ:| Reason | Direction | What to do |
|---|---|---|
| Last-modified vs rollout-reached. The 90 days may count from last edit, not from when 100% was reached. | Variable | Confirm which timestamp is used. |
| Cohort conditions. A flag at 100% within a cohort is not globally 100%. | Variable | Inspect the release condition. |
| Recent edits. A trivial edit resets the staleness clock. | Variable | Check the last-modified date. |