- 
                Notifications
    You must be signed in to change notification settings 
- Fork 19
Add: Zombie Flags Report Documentation #530
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
          
     Merged
      
      
    
  
     Merged
                    Changes from all commits
      Commits
    
    
            Show all changes
          
          
            42 commits
          
        
        Select commit
          Hold shift + click to select a range
      
      464d13b
              
                Add path to `sidebars.ts`
              
              
                codedbychavez 72b033c
              
                Initial draft of My Zombie Flags Report
              
              
                codedbychavez bfdebe0
              
                Additional updates and screenshots
              
              
                codedbychavez 9360153
              
                Add link to `website/src/pages/index.js`
              
              
                codedbychavez c04ba28
              
                Fix: https://github.com/configcat/docs/pull/530#discussion_r2030721387
              
              
                codedbychavez cbfe2fb
              
                Fix: https://github.com/configcat/docs/pull/530/files/936015325bc339b…
              
              
                codedbychavez f780248
              
                Fix: https://github.com/configcat/docs/pull/530/files/936015325bc339b…
              
              
                codedbychavez ab2cfd5
              
                Merge branch 'master' into add-zombie-flags-report-documentation
              
              
                codedbychavez b97fd84
              
                Merge branch 'master' into add-zombie-flags-report-documentation
              
              
                codedbychavez 240e164
              
                Update website/docs/my-zombie-flags-report.mdx
              
              
                codedbychavez 0a42831
              
                Update website/docs/my-zombie-flags-report.mdx
              
              
                codedbychavez e862153
              
                Apply suggestions from code review
              
              
                codedbychavez e2e64a8
              
                Update website/docs/my-zombie-flags-report.mdx
              
              
                codedbychavez f3f2276
              
                Add new section
              
              
                codedbychavez d11fc03
              
                Lint fixes
              
              
                codedbychavez 53f1f63
              
                Fix bold text
              
              
                codedbychavez e3cb4cc
              
                Update
              
              
                codedbychavez b40b4c4
              
                Apply suggestions from code review
              
              
                codedbychavez 088b306
              
                Apply suggestions from code review
              
              
                codedbychavez 4f681d0
              
                Fix screenshots
              
              
                codedbychavez e0fa908
              
                Merge branch 'master' into add-zombie-flags-report-documentation
              
              
                codedbychavez 68d3f38
              
                Update link to Zombie Flag document in `sidebar.js` and `website/src/…
              
              
                codedbychavez dbbd3b9
              
                Add notes
              
              
                codedbychavez 608c359
              
                Add: updated screenshots and instruction notes #1
              
              
                codedbychavez a1c002b
              
                Updates
              
              
                codedbychavez ce98ec0
              
                Add: Zombie flag report email screenshot and update documentation.
              
              
                codedbychavez 812ff82
              
                Updates
              
              
                codedbychavez eb5e762
              
                Update website/docs/zombie-flags.mdx
              
              
                codedbychavez 30ad0ea
              
                Apply suggestions from code review
              
              
                codedbychavez 6e9d618
              
                Fix: https://github.com/configcat/docs/pull/530/files#r2112577805
              
              
                codedbychavez 735d66f
              
                Fix: https://github.com/configcat/docs/pull/530/files#r2112592644
              
              
                codedbychavez 9c7f806
              
                Fix: https://github.com/configcat/docs/pull/530/files#r2112591105
              
              
                codedbychavez a1b781d
              
                Fix: https://github.com/configcat/docs/pull/530/files#r2112597326
              
              
                codedbychavez 7892354
              
                Remove: Unused screenshot
              
              
                codedbychavez 0999dce
              
                Fix: https://github.com/configcat/docs/pull/530#discussion_r2112608110
              
              
                codedbychavez 3b0683c
              
                Add: zombie flags document to v1 docs and v1 sidebar
              
              
                codedbychavez 9af40e0
              
                Update: My Zombie Flags Report screenshot
              
              
                codedbychavez 549b6c6
              
                Final updates
              
              
                codedbychavez 55bc466
              
                Apply suggestions from code review
              
              
                laliconfigcat aa49b24
              
                unwanted spaces
              
              
                laliconfigcat e8e52be
              
                Apply suggestions from code review
              
              
                laliconfigcat 330879d
              
                changes
              
              
                laliconfigcat File filter
Filter by extension
Conversations
          Failed to load comments.   
        
        
          
      Loading
        
  Jump to
        
          Jump to file
        
      
      
          Failed to load files.   
        
        
          
      Loading
        
  Diff view
Diff view
There are no files selected for viewing
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,100 @@ | ||
| --- | ||
| id: zombie-flags | ||
| title: Zombie Flags | ||
| description: This page explains how to identify and manage Zombie Flags in ConfigCat through the dashboard, email reports, or the Zombie Flags API. | ||
| --- | ||
|  | ||
| Zombie flags (stale flags) are feature flags that are no longer needed or actively used. They often remain in the codebase long after their purpose has been fulfilled. Removing these outdated flags can reduce technical debt, improve performance, and simplify your codebase. | ||
|  | ||
| Common scenarios where zombie flags appear: | ||
|  | ||
| - A temporary feature becomes permanent, but its flag is never removed. | ||
| - A flag was introduced for a one-time rollout or experiment that's now complete. | ||
| - A decision was made to always keep a feature on or off, making the flag redundant. | ||
| - The flag hasn't been toggled or referenced for an extended period. | ||
|  | ||
| ## Why Removing Zombie Flags Matters | ||
|  | ||
| Leaving stale flags in your code can lead to the following: | ||
| - **Increased complexity:** Unused flags clutter code and reduce maintainability. | ||
| - **Unexpected behavior:** Outdated flags might trigger legacy logic unintentionally. | ||
| - **Longer onboarding and reviews:** Developers waste time reviewing obsolete logic. | ||
| - **Performance degradation:** In large-scale systems, excess flags can slow down operations. | ||
|  | ||
| ## Managing Zombie Flags in ConfigCat | ||
|  | ||
| There are three ways to access and manage Zombie flags in ConfigCat: | ||
|  | ||
| - Through the [Dashboard](https://app.configcat.com/product/zombie-flags). | ||
| - Using the [Zombie Flags Email Report](https://app.configcat.com/my-account/zombie-flags-report). | ||
| - Via the [Zombie Flags API](https://api.configcat.com/docs/index.html#tag/Zombie-(stale)-flags). | ||
|  | ||
| ### Using the Dashboard | ||
|  | ||
| The [Zombie Flags page](https://app.configcat.com/product/zombie-flags) shows all the stale flags in a table for the selected product based on the filters set: | ||
|  | ||
| - **Inactivity**: How long the flag was inactive. | ||
| - **Feature flag scope**: Choose between all feature flags or only those you are watching. | ||
| - **Included environments**: The ConfigCat [environment(s)](https://configcat.com/docs/main-concepts/#environment) to include in the analysis. | ||
| - **Ignored flags based on tags**: Exclude flags based on assigned tags. | ||
| - **Stale in all/any selected environments**: Choose whether to include flags that are stale in all or any of the selected environments. | ||
| - **Filter by config or feature flag name**: Start typing to filter the list automatically. | ||
|  | ||
| <img alt="The Zombie Flags page in the ConfigCat dashboard" src="/docs/assets/guide/my-zombie-flags-report/the-zombie-flags-page-in-the-dashboard_192dpi.png" width="1366" height="768" decoding="async" loading="lazy" /> | ||
|  | ||
| By default, the Zombie Flags page will filter the zombie flags based on the filters set in the **My Zombie Flags Report** page. | ||
|  | ||
| :::info | ||
| If you have the [Code References](https://configcat.com/docs/advanced/code-references/overview/) feature enabled, you can also see where the flags are used in your code. | ||
| ::: | ||
|  | ||
| ### Using the Zombie Flags Report Email | ||
|  | ||
| The Zombie Flags Report scans your ConfigCat dashboard and sends an email report of the feature flags that haven't been updated or toggled within the configured timeframe. | ||
|  | ||
| You can customize the report to include only the flags you want to track, using filters similar to those available in the dashboard. | ||
|  | ||
| #### How to Set Up the Zombie Feature Flags Report | ||
|  | ||
| 1. Log in to the [ConfigCat dashboard](https://app.configcat.com/my-account/zombie-flags-report). | ||
| 2. Click the Organization name in the top-left corner. | ||
| 3. Select **My Zombie Flags Report** from the dropdown menu. | ||
|  | ||
| <img alt="Navigating to My Zombie Flags Report" src="/docs/assets/guide/my-zombie-flags-report/navigating-to-my-zombie-flags-report_192dpi.png" width="1366" height="768" decoding="async" loading="lazy" /> | ||
|  | ||
| #### The My Zombie Flags Report Page | ||
|  | ||
| The email report can be customized as follows: | ||
|  | ||
| - **Receive report via email:** Turn on email notifications and set the frequency (daily, weekly, monthly). | ||
| - **Criteria:** Define how long a flag must be inactive before it's marked as stale. | ||
| - **Scope:** Include all flags or only watched ones. | ||
| - **Environment:** Choose the ConfigCat [environment(s)](https://configcat.com/docs/main-concepts/#environment) you want to analyze. | ||
| - **Tags:** Exclude specific flags based on tags. | ||
| - **Stale in all/any selected environments:** Choose whether to include flags that are stale in all or any of the selected environments. | ||
|  | ||
| <img alt="My Zombie Flags Report page in the dashboard" src="/docs/assets/guide/my-zombie-flags-report/my-zombie-flags-report-page-in-the-dashboard_192dpi.png" width="1366" height="1044" decoding="async" loading="lazy" /> | ||
|  | ||
| #### Sample Email Report | ||
|  | ||
| Here's a preview of what the Zombie Flags report email looks like: | ||
|  | ||
| <img alt="Zombie Flags Report Email" src="/docs/assets/guide/my-zombie-flags-report/zombie-flags-report-email_192dpi.png" width="1366" height="768" decoding="async" loading="lazy" /> | ||
|  | ||
| ### Using the Zombie Flags API | ||
|  | ||
| The [Zombie Flags API](https://api.configcat.com/docs/index.html#tag/Zombie-(stale)-flags) allows programmatic access to zombie flag data. This is useful for integrating flag cleanup processes into your CI/CD workflows or internal tooling. | ||
|  | ||
| You can use tools like Postman to retrieve zombie flag data via the API for testing or integration. Here's a preview of what it looks like in Postman: | ||
|  | ||
| <img alt="Using the Zombie Flags API in Postman" src="/docs/assets/guide/my-zombie-flags-report/using-the-zombie-flags-api-in-postman_192dpi.png" width="1366" height="768" decoding="async" loading="lazy" /> | ||
|  | ||
| ## Other Tools for Identifying Unused Feature Flags | ||
|  | ||
| In addition to the methods mentioned, ConfigCat also provides several tools to help you detect and clean up unused feature flags: | ||
|  | ||
| - [Scan & Upload Code References](https://configcat.com/docs/advanced/code-references/overview): Track where feature flags appear in your code. | ||
| - [The ConfigCat CLI](https://configcat.com/docs/advanced/cli): Detect flags still in your code that no longer exist in the ConfigCat Dashboard. | ||
| - [GitHub Action](https://configcat.com/docs/integrations/github/) and [CircleCI Orb](https://configcat.com/docs/integrations/circleci): Find feature flags in your code that you might want to remove. | ||
|         
                  codedbychavez marked this conversation as resolved.
              Show resolved
            Hide resolved | ||
| - [Bitrise Step](https://configcat.com/docs/integrations/bitrise/): Scan your source code for feature flag and setting usages and upload the found code references to ConfigCat. | ||
| - [Bitbucket Pipe](https://configcat.com/docs/integrations/bitbucket/): Scan your source code for feature flag and setting usages and upload the found code references to ConfigCat. | ||
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
        
          
  
    
      
          Binary file added
          
            BIN
              
                +138 KB
              
          
        
  .../my-zombie-flags-report/my-zombie-flags-report-page-in-the-dashboard_192dpi.png
  
  
      
      
   
        
      
      
    
      
      Loading
      
  Sorry, something went wrong. Reload?
      Sorry, we cannot display this file.
      Sorry, this file is invalid so it cannot be displayed.
      
    
        
          
  
    
      
          Binary file added
          
            BIN
              
                +107 KB
              
          
        
  ...te/static/assets/guide/my-zombie-flags-report/my-zombie-flags-report_192dpi.png
  
  
      
      
   
        
      
      
    
      
      Loading
      
  Sorry, something went wrong. Reload?
      Sorry, we cannot display this file.
      Sorry, this file is invalid so it cannot be displayed.
      
    
        
          
  
    
      
          Binary file added
          
            BIN
              
                +112 KB
              
          
        
  ...ts/guide/my-zombie-flags-report/navigating-to-my-zombie-flags-report_192dpi.png
  
  
      
      
   
        
      
      
    
      
      Loading
      
  Sorry, something went wrong. Reload?
      Sorry, we cannot display this file.
      Sorry, this file is invalid so it cannot be displayed.
      
    
        
          
  
    
      
          Binary file added
          
            BIN
              
                +457 KB
              
          
        
  .../guide/my-zombie-flags-report/the-zombie-flags-page-in-the-dashboard_192dpi.png
  
  
      
      
   
        
      
      
    
      
      Loading
      
  Sorry, something went wrong. Reload?
      Sorry, we cannot display this file.
      Sorry, this file is invalid so it cannot be displayed.
      
    
        
          
  
    
      
          Binary file added
          
            BIN
              
                +109 KB
              
          
        
  ...s/guide/my-zombie-flags-report/using-the-zombie-flags-api-in-postman_192dpi.png
  
  
      
      
   
        
      
      
    
      
      Loading
      
  Sorry, something went wrong. Reload?
      Sorry, we cannot display this file.
      Sorry, this file is invalid so it cannot be displayed.
      
    
        
          
  
    
      
          Binary file added
          
            BIN
              
                +128 KB
              
          
        
  ...static/assets/guide/my-zombie-flags-report/zombie-flags-report-email_192dpi.png
  
  
      
      
   
        
      
      
    
      
      Loading
      
  Sorry, something went wrong. Reload?
      Sorry, we cannot display this file.
      Sorry, this file is invalid so it cannot be displayed.
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,100 @@ | ||
| --- | ||
| id: zombie-flags | ||
| title: Zombie Flags | ||
| description: This page explains how to identify and manage Zombie Flags in ConfigCat through the dashboard, email reports, or the Zombie Flags API. | ||
| --- | ||
|  | ||
| Zombie flags (stale flags) are feature flags that are no longer needed or actively used. They often remain in the codebase long after their purpose has been fulfilled. Removing these outdated flags can reduce technical debt, improve performance, and simplify your codebase. | ||
|  | ||
| Common scenarios where zombie flags appear: | ||
|  | ||
| - A temporary feature becomes permanent, but its flag is never removed. | ||
| - A flag was introduced for a one-time rollout or experiment that's now complete. | ||
| - A decision was made to always keep a feature on or off, making the flag redundant. | ||
| - The flag hasn't been toggled or referenced for an extended period. | ||
|  | ||
| ## Why Removing Zombie Flags Matters | ||
|  | ||
| Leaving stale flags in your code can lead to the following: | ||
| - **Increased complexity:** Unused flags clutter code and reduce maintainability. | ||
| - **Unexpected behavior:** Outdated flags might trigger legacy logic unintentionally. | ||
| - **Longer onboarding and reviews:** Developers waste time reviewing obsolete logic. | ||
| - **Performance degradation:** In large-scale systems, excess flags can slow down operations. | ||
|  | ||
| ## Managing Zombie Flags in ConfigCat | ||
|  | ||
| There are three ways to access and manage Zombie flags in ConfigCat: | ||
|  | ||
| - Through the [Dashboard](https://app.configcat.com/product/zombie-flags). | ||
| - Using the [Zombie Flags Email Report](https://app.configcat.com/my-account/zombie-flags-report). | ||
| - Via the [Zombie Flags API](https://api.configcat.com/docs/index.html#tag/Zombie-(stale)-flags). | ||
|  | ||
| ### Using the Dashboard | ||
|  | ||
| The [Zombie Flags page](https://app.configcat.com/product/zombie-flags) shows all the stale flags in a table for the selected product based on the filters set: | ||
|  | ||
| - **Inactivity**: How long the flag was inactive. | ||
| - **Feature flag scope**: Choose between all feature flags or only those you are watching. | ||
| - **Included environments**: The ConfigCat [environment(s)](https://configcat.com/docs/main-concepts/#environment) to include in the analysis. | ||
| - **Ignored flags based on tags**: Exclude flags based on assigned tags. | ||
| - **Stale in all/any selected environments**: Choose whether to include flags that are stale in all or any of the selected environments. | ||
| - **Filter by config or feature flag name**: Start typing to filter the list automatically. | ||
|  | ||
| <img alt="The Zombie Flags page in the ConfigCat dashboard" src="/docs/assets/guide/my-zombie-flags-report/the-zombie-flags-page-in-the-dashboard_192dpi.png" width="1366" height="768" decoding="async" loading="lazy" /> | ||
|  | ||
| By default, the Zombie Flags page will filter the zombie flags based on the filters set in the **My Zombie Flags Report** page. | ||
|  | ||
| :::info | ||
| If you have the [Code References](https://configcat.com/docs/advanced/code-references/overview/) feature enabled, you can also see where the flags are used in your code. | ||
| ::: | ||
|  | ||
| ### Using the Zombie Flags Report Email | ||
|  | ||
| The Zombie Flags Report scans your ConfigCat dashboard and sends an email report of the feature flags that haven't been updated or toggled within the configured timeframe. | ||
|  | ||
| You can customize the report to include only the flags you want to track, using filters similar to those available in the dashboard. | ||
|  | ||
| #### How to Set Up the Zombie Feature Flags Report | ||
|  | ||
| 1. Log in to the [ConfigCat dashboard](https://app.configcat.com/my-account/zombie-flags-report). | ||
| 2. Click the Organization name in the top-left corner. | ||
| 3. Select **My Zombie Flags Report** from the dropdown menu. | ||
|  | ||
| <img alt="Navigating to My Zombie Flags Report" src="/docs/assets/guide/my-zombie-flags-report/navigating-to-my-zombie-flags-report_192dpi.png" width="1366" height="768" decoding="async" loading="lazy" /> | ||
|  | ||
| #### The My Zombie Flags Report Page | ||
|  | ||
| The email report can be customized as follows: | ||
|  | ||
| - **Receive report via email:** Turn on email notifications and set the frequency (daily, weekly, monthly). | ||
| - **Criteria:** Define how long a flag must be inactive before it's marked as stale. | ||
| - **Scope:** Include all flags or only watched ones. | ||
| - **Environment:** Choose the ConfigCat [environment(s)](https://configcat.com/docs/main-concepts/#environment) you want to analyze. | ||
| - **Tags:** Exclude specific flags based on tags. | ||
| - **Stale in all/any selected environments:** Choose whether to include flags that are stale in all or any of the selected environments. | ||
|  | ||
| <img alt="My Zombie Flags Report page in the dashboard" src="/docs/assets/guide/my-zombie-flags-report/my-zombie-flags-report-page-in-the-dashboard_192dpi.png" width="1366" height="1044" decoding="async" loading="lazy" /> | ||
|  | ||
| #### Sample Email Report | ||
|  | ||
| Here's a preview of what the Zombie Flags report email looks like: | ||
|  | ||
| <img alt="Zombie Flags Report Email" src="/docs/assets/guide/my-zombie-flags-report/zombie-flags-report-email_192dpi.png" width="1366" height="768" decoding="async" loading="lazy" /> | ||
|  | ||
| ### Using the Zombie Flags API | ||
|  | ||
| The [Zombie Flags API](https://api.configcat.com/docs/index.html#tag/Zombie-(stale)-flags) allows programmatic access to zombie flag data. This is useful for integrating flag cleanup processes into your CI/CD workflows or internal tooling. | ||
|  | ||
| You can use tools like Postman to retrieve zombie flag data via the API for testing or integration. Here's a preview of what it looks like in Postman: | ||
|  | ||
| <img alt="Using the Zombie Flags API in Postman" src="/docs/assets/guide/my-zombie-flags-report/using-the-zombie-flags-api-in-postman_192dpi.png" width="1366" height="768" decoding="async" loading="lazy" /> | ||
|  | ||
| ## Other Tools for Identifying Unused Feature Flags | ||
|  | ||
| In addition to the methods mentioned, ConfigCat also provides several tools to help you detect and clean up unused feature flags: | ||
|  | ||
| - [Scan & Upload Code References](https://configcat.com/docs/advanced/code-references/overview): Track where feature flags appear in your code. | ||
| - [The ConfigCat CLI](https://configcat.com/docs/advanced/cli): Detect flags still in your code that no longer exist in the ConfigCat Dashboard. | ||
| - [GitHub Action](https://configcat.com/docs/integrations/github/) and [CircleCI Orb](https://configcat.com/docs/integrations/circleci): Find feature flags in your code that you might want to remove. | ||
| - [Bitrise Step](https://configcat.com/docs/integrations/bitrise/): Scan your source code for feature flag and setting usages and upload the found code references to ConfigCat. | ||
| - [Bitbucket Pipe](https://configcat.com/docs/integrations/bitbucket/): Scan your source code for feature flag and setting usages and upload the found code references to ConfigCat. | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
|  | @@ -157,7 +157,8 @@ | |
| "label": "Monitoring" | ||
| } | ||
| ] | ||
| } | ||
| }, | ||
| "zombie-flags" | ||
| ] | ||
| }, | ||
| { | ||
|  | ||
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Uh oh!
There was an error while loading. Please reload this page.