# Feature Flagging

Published articles for Feature Flagging.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Feature Flag Security in your CI/CD Pipeline

DevFeed: [Feature Flag Security in your CI/CD Pipeline](<https://devfeed.tech/articles/feature-flag-security-in-your-ci-cd-pipeline-13396.md>)

Original publisher: [Read original article](<https://www.harness.io/blog/feature-flag-security-in-your-ci-cd-pipeline>)

Author: Lena Sano

Published: 2026-07-22T00:00:00Z

Content type: article

Language: en

Sources: [Harness Blog](<https://devfeed.tech/sources/harness-blog.md>)

Topics: [feature flags](<https://devfeed.tech/topics/feature-flags.md>), [Security](<https://devfeed.tech/topics/security.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>)

Tags: [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cleanup](<https://devfeed.tech/tags/cleanup.md>), [feature](<https://devfeed.tech/tags/feature.md>), [feature-flagging](<https://devfeed.tech/tags/feature-flagging.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [governance](<https://devfeed.tech/tags/governance.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [local](<https://devfeed.tech/tags/local.md>), [pii](<https://devfeed.tech/tags/pii.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [remote](<https://devfeed.tech/tags/remote.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This article explains security practices for Harness Feature Management and Experimentation. It covers local versus remote feature-flag evaluation, privacy considerations for sensitive user data, governance, automated cleanup, and an AI agent for feature-flag lifecycle management.

### Source excerpt

Secure feature flags with Harness FME using local or remote evaluation, automated cleanup, governance, and AI-powered lifecycle management. | Blog

## How Senior Engineers Take a Feature from Start to Delivery

DevFeed: [How Senior Engineers Take a Feature from Start to Delivery](<https://devfeed.tech/articles/how-to-ship-39996.md>)

Original publisher: [Read original article](<https://www.saiyangrowthletter.com/p/how-to-ship>)

Author: Tiger Abrodi

Published: 2024-03-28T17:06:09Z

Content type: tutorial

Language: en

Sources: [Saiyan Growth Letter](<https://devfeed.tech/sources/saiyan-growth-letter.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Users](<https://devfeed.tech/topics/users.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [data](<https://devfeed.tech/topics/data.md>), [iteration](<https://devfeed.tech/topics/iteration.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [delivery](<https://devfeed.tech/tags/delivery.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development](<https://devfeed.tech/tags/development.md>), [feature-flagging](<https://devfeed.tech/tags/feature-flagging.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [iteration](<https://devfeed.tech/tags/iteration.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [simplicity](<https://devfeed.tech/tags/simplicity.md>), [users](<https://devfeed.tech/tags/users.md>)

### AI overview

This tutorial presents an approach for taking a software feature from initial justification through delivery. It recommends validating why the feature is needed, defining a minimum viable product, choosing a simple technical solution, breaking the work into small tasks, and using feature flagging and rollout practices.

### Source excerpt

How Senior engineers take a feature from start to delivery

## Now you see me, now you don't: feature-flagging with LaunchDarkly at incident.io

DevFeed: [Now you see me, now you don't: feature-flagging with LaunchDarkly at incident.io](<https://devfeed.tech/articles/now-you-see-me-now-you-don-t-feature-flagging-with-launchdarkly-at-incident-io-11775.md>)

Original publisher: [Read original article](<https://incident.io/blog/feature-flagging-launch-darkly>)

Author: Sophie Koonin

Published: 2021-11-09T00:00:00Z

Content type: article

Language: en

Sources: [The incident.io Blog](<https://devfeed.tech/sources/the-incident-io-blog.md>)

Topics: [feature flags](<https://devfeed.tech/topics/feature-flags.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [Code](<https://devfeed.tech/topics/code.md>), [App](<https://devfeed.tech/topics/app.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [code](<https://devfeed.tech/tags/code.md>), [feature](<https://devfeed.tech/tags/feature.md>), [feature-flagging](<https://devfeed.tech/tags/feature-flagging.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [incident](<https://devfeed.tech/tags/incident.md>), [incident-channel](<https://devfeed.tech/tags/incident-channel.md>), [incident-management](<https://devfeed.tech/tags/incident-management.md>), [incident-response](<https://devfeed.tech/tags/incident-response.md>), [outage](<https://devfeed.tech/tags/outage.md>), [post-mortem](<https://devfeed.tech/tags/post-mortem.md>), [production](<https://devfeed.tech/tags/production.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [slack-incident](<https://devfeed.tech/tags/slack-incident.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The article explains how incident.io uses feature flags to ship small, incremental changes rapidly while hiding unfinished features from customers. It discusses boolean flags, pull-request size and reviewability, long-lived branches, and the choice between building or buying a feature-flagging system.

### Source excerpt

At incident.io, we ship FAST. Find out how feature flags allow us to keep changes small and incremental while also hiding unfinished features from customers.

## How to Toggle Features in C# with Feature Flags

DevFeed: [How to Toggle Features in C# with Feature Flags](<https://devfeed.tech/articles/how-to-toggle-features-in-c-with-feature-flags-24989.md>)

Original publisher: [Read original article](<https://codeahoy.com/2021/08/26/how-to-toggle-features-in-c-sharp/>)

Author: umer

Published: 2021-08-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Code Ahoy - Articles](<https://devfeed.tech/sources/code-ahoy-articles.md>)

Topics: [feature flags](<https://devfeed.tech/topics/feature-flags.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Development](<https://devfeed.tech/topics/development.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [feature-flagging](<https://devfeed.tech/tags/feature-flagging.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [net](<https://devfeed.tech/tags/net.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This tutorial explains how to use feature flags to toggle functionality in .NET Core web applications. It covers controlling feature visibility independently of deployment, testing features in production, rolling back changes, and gradually releasing features to users.

### Source excerpt

Note: Unlaunch, the feature flagging service referenced in this post, has been shut down. Links to it have been removed. This blog post was contributed by Tuan Nguyen, Software Developer at Getty Images. Using feature flags to release new features to customers is a powerful technique. I have been using feature flags for many years to release features or changes to production safely and with the peace of mind. The releases are done without any ceremony, and the features aren't visible to customers until we turn the feature flag on. Using feature flags to toggle functionality in .NET Core apps is easily achievable using a feature flag management platform. In this tutorial, I'll show you how to toggle features on demand in a simple web application using Unlaunch (Link Removed) to create and manage feature flags. We'll also see how to show or hide our features with a click of a button, without merging branches, rollbacks or deploys. Feature Flags Feature flags allow developers to control who sees new features irrespective of code deployment. For example, developers can deploy a new feature to production environment and keep it hidden from all users (except themselves.) This way, they can do testing on real systems, and when the management is ready to release the feature, they can turn on the feature flag to let the users in on it. To me, here are some of the benefits of using feature flags: Developers eliminate some of the risk knowing they can roll things back instantly if things go wrong. On a few occasions, I rolled back features because of negative impact to KPI we didn't consider before or one of the underlying system wasn't quite ready. Developers can launch the feature on production behind feature flag and show it to product or marketing team for their feedback. QA in production. This doesn't mean that we skipped testing on the 'Dev' environment, but rather launching the feature on production just for the development team give extra boost of confidence. It also a

## Improved version targeting in Remote Config

DevFeed: [Improved version targeting in Remote Config](<https://devfeed.tech/articles/improved-version-targeting-in-remote-config-16362.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2020/10/improved-version-targeting-in-remote>)

Author: Karen Zeng; Kevin Elko

Published: 2020-10-05T00:00:00Z

Content type: release

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [App](<https://devfeed.tech/topics/app.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [SDK](<https://devfeed.tech/topics/sdk.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [feature-flagging](<https://devfeed.tech/tags/feature-flagging.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [ios](<https://devfeed.tech/tags/ios.md>), [launch](<https://devfeed.tech/tags/launch.md>), [new-feature](<https://devfeed.tech/tags/new-feature.md>), [news](<https://devfeed.tech/tags/news.md>), [remote-config](<https://devfeed.tech/tags/remote-config.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

Firebase Remote Config adds semantic version targeting with greater-than and less-than operators, and improves iOS version targeting by introducing conditions based on CFBundleShortVersionString while renaming the previous build-number conditions.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## A/B Tested, Feature Flagged, White-Label Apps with Webpack

DevFeed: [A/B Tested, Feature Flagged, White-Label Apps with Webpack](<https://devfeed.tech/articles/a-b-tested-feature-flagged-white-label-apps-with-webpack-19118.md>)

Original publisher: [Read original article](<https://medium.com/rbi-tech/a-b-tested-feature-flagged-white-label-apps-with-webpack-fddd4c629f1f?source=rss----904782439303---4>)

Author: Andy Weiss

Published: 2020-06-17T19:15:05Z

Content type: tutorial

Language: en

Sources: [RBI Tech](<https://devfeed.tech/sources/rbi-tech.md>)

Topics: [Webpack](<https://devfeed.tech/topics/webpack.md>), [React](<https://devfeed.tech/topics/react.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [import](<https://devfeed.tech/topics/import.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [a-b-testing](<https://devfeed.tech/tags/a-b-testing.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [feature-flagging](<https://devfeed.tech/tags/feature-flagging.md>), [import](<https://devfeed.tech/tags/import.md>), [react](<https://devfeed.tech/tags/react.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

This tutorial explains how to customize Webpack in a Create React App project to build and deploy multiple application variants from one codebase. It discusses use cases including A/B testing, feature flagging, platform targeting, and custom themes, with attention to file-extension resolution and import behavior.

### Source excerpt

For most of us, the thought of tweaking our app's Webpack configuration inspires about the same level of excitement as a bi-annual trip to the dentist. We know it's important, necessary even -- certainly better than the alternative -- and yet, the goal is mostly to get in and out without anything going wrong. The popularity of Create React App and other tools is largely built upon their ability to abstract away these configuration details and allow developers to focus on shipping features quickly. But the better we know our tools, the more likely we are to recognize when they fit a particular problem we face in our work. For a certain class of project, it's worth considering Create React App's defaults as a starting point, rather than the end of the conversation. Thoughtfully applied, some small modifications can unlock a world of possibility. For example, we often know at the outset of a project that we will need to build and deploy different versions of our application. Whether it's for A/B testing, feature flagging, targeting specific platforms, or applying a custom theme, we want the ability to maintain multiple parallel universes around a single codebase without unnecessary duplication or complexity. Webpack's ability to select from a variety of file extensions at build time makes it an especially useful tool for this task. You'd probably be surprised to see how just easy it is to achieve a high level of flexibility with minimal configuration. More Intentional File Extensions Part of Webpack's magic comes from its ability to guess our intentions when we leave off the file extension at the end of an import. We do it so often we may barely notice, but how many times have we written code like this? https://medium.com/media/2f79921db578db57aa03929c826ccb82/href Maybe there's a Nav.js file in the components directory, or possibly the extension is .jsx or .tsx. Maybe Nav is actually a directory itself, and there's an index.js or index.jsx that's exporting the component

## Using Cloud Functions to update Remote Config in near real-time

DevFeed: [Using Cloud Functions to update Remote Config in near real-time](<https://devfeed.tech/articles/using-cloud-functions-to-update-remote-config-in-near-real-time-16298.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2018/11/using-cloud-functions-to-update-remote>)

Author: Mayank Jain

Published: 2018-11-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Cloud Functions](<https://devfeed.tech/topics/cloud-functions.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [feature flags](<https://devfeed.tech/topics/feature-flags.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [caching](<https://devfeed.tech/tags/caching.md>), [cloud-functions](<https://devfeed.tech/tags/cloud-functions.md>), [feature](<https://devfeed.tech/tags/feature.md>), [feature-flagging](<https://devfeed.tech/tags/feature-flagging.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [news](<https://devfeed.tech/tags/news.md>), [remote-config](<https://devfeed.tech/tags/remote-config.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

This Firebase team tutorial explains Remote Config caching and shows how Cloud Functions for Firebase triggers can run code when a team publishes Remote Config values through the Firebase Console or REST API, helping apps receive fresh values promptly.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## Feature-oriented APIs

DevFeed: [Feature-oriented APIs](<https://devfeed.tech/articles/feature-oriented-apis-20362.md>)

Original publisher: [Read original article](<https://engineering.ziffmedia.com/feature-oriented-apis-f0010d140d3a?source=rss----d6bb34696ef5---4>)

Author: Nathan Petryk

Published: 2017-11-01T15:31:01Z

Content type: tutorial

Language: en

Sources: [RetailMeNot](<https://devfeed.tech/sources/retailmenot.md>)

Topics: [Clojure](<https://devfeed.tech/topics/clojure.md>), [API](<https://devfeed.tech/topics/api.md>), [Code](<https://devfeed.tech/topics/code.md>), [version](<https://devfeed.tech/topics/version.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [code](<https://devfeed.tech/tags/code.md>), [feature-flagging](<https://devfeed.tech/tags/feature-flagging.md>), [mobile-app-development](<https://devfeed.tech/tags/mobile-app-development.md>), [versioning](<https://devfeed.tech/tags/versioning.md>)

### AI overview

This article explains how RetailMeNot's Mobile API team evolved a Clojure versioned macro for feature-oriented API development. The approach adds feature rollout support and a feature-flagging system while addressing the limitations of linear, version-based code annotations.

### Source excerpt

In my last post -- Minimally Invasive API Versioning -- I talked about how the Mobile API team at RetailMeNot handles versioning our Clojure APIs using a macro called versioned. This macro alone worked great for over a year, but we needed more. In this post I will cover how we evolved it to help ease our feature rollout process, and how we gained a super-easy feature flagging system basically for free. To recap, the versioned macro introduces a convenient syntax for annotating source code with version-specific information -- things like "this line was added in version 3" or "this line was removed in version 7." We call these annotations version-qualifiers. Initially we had several. some were "binary", like added, removed, only, which let the developer specify code that should or should not exist for a specific application version; and others, like changed, lets the developer specify alternative implementations based on the application version. https://medium.com/media/9c51608aa7d9e2240fdbdcc10742c8d5/href We call these qualifiers collectively linear version-qualifiers, because their functionality is based on the linearity of versions: something like "added in version 2"makes no sense without the assumption that V1 precedes V2, which precedes V3, etc. Like I said, this reasoning got us very far, but it has one major drawback: we typically ship multiple features per version, and when we do encountering this version-specific code would often leave developers wondering, "Why was this change made? Which feature was it a part of?". Furthermore, say a feature slipped and we needed to move it to a later version, we found it difficult to go back through the code base to identify and edit those places only related to that feature. The fundamental problem is that when we annotate code with linear version-qualifiers we imbue that code with version-specific information. Stated another way, these kinds of annotations only let a developer look at the code and answer the question, "Wh