OperatorRadar
DiscoverAI ToolsAI AgentsInsights
Submit a ToolFind My Solution
OperatorRadar

Find the tools, systems, and ideas that move your business forward. Timeless business thinking, rebuilt for the AI era.

Discover

  • Discover
  • AI Tools
  • AI Agents
  • Software
  • Agencies
  • Categories

Decide

  • Decision Guides
  • Compare
  • Find My Solution
  • Insights

Execute

  • Prompts
  • Workflows
  • Submit a Tool
  • Contact

Company

  • About
  • Privacy
  • Terms

© 2026 OperatorRadar. All rights reserved.

Built by Ekofi

  1. Home
  2. Workflows
  3. Feature Flag Cleanup Workflow with Owner Reminders
Featured
intermediate

Feature Flag Cleanup Workflow with Owner Reminders

Feature flags pile up like technical debt until they become a deployment liability—and nobody owns the cleanup.

Overview

Feature flags are scaffolding, not permanent infrastructure. But they behave like permanent infrastructure because nobody schedules their removal. Six months after an experiment ends, the conditional logic is still in your codebase. A year later, you have 200+ flags and nobody remembers which ones actually control live traffic. This workflow solves that by making flag cleanup a scheduled, accountable process instead of a post-mortem task. How it works: On a weekly cadence (or your chosen interval), the system queries your feature flag platform—LaunchDarkly, Unleash, or your custom store—and identifies candidates for removal: flags with zero traffic in 30+ days, flags in rollout states that shipped weeks ago, flags with no recent targeting rule changes. For each candidate, it pulls the flag owner from your config (or defaults to the last engineer who touched it) and sends a structured notification: flag name, last traffic date, current state, and a removal readiness form. The owner responds with one of three signals: "Remove this," "Keep it, here's why," or "Needs investigation." Flags marked for removal enter a 7-day hold period—visible in Slack or your ops dashboard—before automated deletion. If an owner doesn't respond in 5 days, a reminder goes out. If they still don't respond after 10 days, the flag escalates to the engineering lead for triage. This creates three layers of safety: (1) the owner has first-mover advantage to protect flags they know are still needed, (2) the hold period catches any last-minute dependencies, and (3) the escalation prevents flags from languishing in limbo. The workflow also tracks metrics: flags removed per week, average time-to-removal, flags that were kept and why, and flags that triggered incidents after removal (the real failure signal). Over time, you'll see which teams are good at flag hygiene and which ones accumulate debt.

Flow

Trigger: Weekly schedule (e.g., Monday 9 AM UTC). Can also be triggered manually when a deployment risk review surfaces too many active flags.

  1. 1
    automation

    Query Feature Flag System for Candidates

    Connect to your flag management platform (LaunchDarkly API, Unleash, or custom endpoint) and retrieve all flags matching cleanup criteria: age > threshold, status = shipped/rolled out, no recent changes, not in exclusion list. Export results with flag name, owner, creation date, last modified date, current rollout %, and linked experiment/ticket.

  2. 2
    automation

    Enrich Flags with Dependency & Usage Data

    Cross-reference flag candidates against code repositories and deployment logs to identify where each flag is referenced. Detect conditional logic, feature branches, and downstream dependencies. Flag any that appear in critical paths or multiple services. Attach this context to each candidate record for owner review.

  3. 3
    Integration

    Send Owner Notifications with Cleanup Checklist

    Send templated Slack, email, or in-app notifications to flag owners listing their assigned flags for review. Include: flag name, age, rollout status, usage context, and a link to a shared document or form. Set a response deadline (e.g., 5 business days). Provide a checklist: confirm flag is safe to remove, document any dependencies, confirm no active experiments, sign off on removal.

  4. 4
    Approval

    Collect Owner Sign-Off via Form or Approval Tool

    Use a shared form (Google Form, Airtable, Jira, or custom tool) to collect owner responses. Fields: flag name, owner name, removal readiness (yes/no/needs investigation), blockers or dependencies, linked ticket for removal, and sign-off timestamp. Automate reminders for non-responders at day 3 and day 5.

  5. 5
    Manual

    Identify and Escalate Blockers

    Review responses and flag any entries marked 'needs investigation' or with documented blockers. Create tickets or Slack threads to resolve dependencies (e.g., code still referencing the flag, active A/B test, customer-specific rollout). Assign to engineering or product lead. Do not proceed with removal until blocker is cleared.

  6. 6
    automation

    Generate Cleanup Backlog and Prioritize

    Compile all flags approved for removal into a prioritized backlog. Sort by: flags with zero dependencies (lowest risk), flags in single service (medium risk), flags in multiple services (highest risk). Create Jira/GitHub tickets for each removal with: flag name, owner, removal steps, code locations, and rollback plan. Link to original owner sign-off.

  7. 7
    Manual

    Schedule Removal in Development Cycle

    Assign cleanup tickets to engineering sprints over the next 1–2 quarters. Batch removals by service or codebase to reduce review overhead. Ensure each removal includes: code cleanup, test updates, documentation, and flag deletion from management system. Pair with low-risk releases or maintenance windows.

  8. 8
    automation

    Track Removal Completion and Metrics

    Monitor Jira/GitHub for merged removal PRs. Update a shared dashboard with: flags removed this cycle, total flags remaining, average flag age, and removal velocity. Report monthly to product leadership. Use metrics to forecast next cleanup cycle and adjust cadence if needed.

Setup instructions

1. Connect your feature flag platform (API key for LaunchDarkly, Unleash, or custom endpoint). 2. Define stale criteria: zero traffic in 30+ days, or in 'rollout complete' state for 14+ days, or created >90 days ago with zero rule changes. 3. Map flag owners: pull from flag metadata, or default to git blame on the file containing the flag definition. 4. Set up notification template in Slack or email with flag name, last traffic timestamp, current state, and a link to the removal readiness form (Google Form, Typeform, or custom). 5. Create a 7-day hold list in a shared doc or Airtable. 6. Configure escalation: if no response in 10 days, notify the engineering lead with a list of unresponded flags. 7. Set up automated deletion: after 7-day hold + owner approval, flag is removed from the platform and a PR is auto-generated to remove the code conditional.

Human approval points

  • Flag owner reviews the stale notification and explicitly approves or rejects removal. This is the primary gate.
  • Engineering lead reviews any flags that owners didn't respond to within 10 days. Lead can force-remove, keep, or reassign to a different owner.
  • Before automated code deletion, a human (or CI check) verifies that the flag is not referenced in any active tests or deployment configs.
  • Post-removal, if an incident occurs within 30 days that correlates with a deleted flag, the incident commander can trigger a 'restore flag' workflow to quickly re-enable it while the root cause is investigated.

Metrics to track

  • Flags removed per week (trend should be positive if you're accumulating debt)
  • Average time from 'stale' detection to removal (target: <14 days)
  • Flags kept after review and the stated reasons (helps you refine the stale criteria)
  • Flags that triggered incidents within 30 days of removal (the canary metric—should be zero or near-zero)
  • Owner response rate to removal readiness notifications (if <80%, escalation is broken)

Failure cases

  • Owner doesn't respond and flag is deleted, then a customer-facing feature breaks because the flag was still gating a silent rollout. Mitigation: require explicit approval before deletion, not just silence. Include 'last traffic' timestamp in the notification so owners can see if the flag is actually dormant.
  • Flags are marked for removal but the code conditional is never deleted, leaving dead code in the repo. Mitigation: automate the code removal step—generate a PR that removes the if/else block, not just the flag definition. Require the PR to be merged before the flag is considered fully removed.
  • Escalation to the engineering lead creates a bottleneck if the lead is on vacation or overloaded. Mitigation: escalate to a rotation (e.g., weekly on-call engineer) instead of a single person. Or escalate to the team Slack channel and let any senior engineer approve.
  • The workflow runs but nobody reads the notifications because they're buried in Slack noise. Mitigation: send notifications in a dedicated channel, or use a digest format (one message per day with all flags due for review). Include a direct link to a dashboard showing all pending flags.
  • Stale criteria are too aggressive and flags get deleted that were actually in use but had low traffic. Mitigation: require owners to explicitly confirm removal, not just fail to respond. Also track 'flags deleted that later caused incidents' and adjust the stale threshold if that number is >0 in a month.

Requirements

Setup: 2–4 weeks (includes API integration, template creation, and pilot run)

Cost: Estimate — check your stack costs. Typically: feature flag platform API calls (~$0–50/month depending on query volume), Slack or email notifications (free if using native integrations), and a lightweight automation layer (Zapier, Make, or custom Lambda ~$20–100/month). Total: $20–150/month for most teams.

Required tools

Feature flag management system (LaunchDarkly, Unleash, custom API)
Notification platform (Slack, email, or in-app messaging)
Approval/form tool (Jira, Airtable, Google Forms, or custom)
Issue tracking system (Jira, GitHub Issues, Linear)

Optional

Code repository API (GitHub, GitLab, Bitbucket) for dependency detection
Deployment tracking (Datadog, New Relic, custom logs) for usage signals
Automation platform (Zapier, Make, n8n) to orchestrate workflow
Analytics tool (Amplitude, Mixpanel) to confirm flag is no longer user-facing
Slack workflow builder or custom bot for reminders and escalations

Ekofi Lyrae

Our AI agents & automation studio

Stop browsing. Ship the system.

Ekofi Lyrae is our AI implementation studio — we design, build, and wire agents + automations into your stack so the work actually runs without you.

Book Lyrae build