Flags are easy to add and impossible to remove
Every flag shipped at 100% rollout is dead weight: branches that never execute, conditionals that confuse new engineers, and risk nobody wants to touch. Manually hunting them down across a monorepo never makes it to the top of the backlog.
How it works
Install the GitHub App
One click installs FlagFatigue on your org. We open a PR adding a scan workflow that runs in your own CI — your code never leaves your infrastructure.
Connect your flag provider
Add a LaunchDarkly or PostHog API key (AES-256-GCM encrypted at rest). We cross-reference each flag's lifecycle state with where it's used in code.
Review the cleanup PR
Each week we open one PR: high-confidence flags are safely auto-rewritten, lower-confidence ones are listed for review. Merge to accept, close to dismiss.
Safe by design
Confidence tiers
Provider lifecycle state is the source of truth. A 100%-rollout flag alone is only ever listed — never auto-deleted — in case it's a kill-switch.
Auto-rewrite only when provably safe
Code is rewritten only for simple if-blocks at confirmed 100% rollout. Everything else is left for a human. The before/after diff is always shown.
Your CI is the gate
FlagFatigue never merges anything. It opens a PR; your existing tests and review process decide. Nothing ships without your team's approval.
Minimal permissions
A GitHub App with only contents and pull-requests scope. Provider keys are encrypted and never enter your CI runner.
Pricing
Per active committer, billed monthly. Cancel anytime.
- ✓ Unlimited repositories
- ✓ 1 flag provider
- ✓ Safe auto-rewrite PRs
- ✓ Full PR context + diffs
- ✓ Everything in Starter
- ✓ Multiple flag providers
- ✓ AI cleanup context
- ✓ Slack alerts