# Feature Flags

Use feature flags to control the availability of content or functionality in your app, without deploying new code.

> **Important:** ~~Feature Flags are available for Airship customers participating in our special access program. *[Sign up here](https://www.airship.com/lp/special-access-feature-flags)*~~ *GA release: [April 30, 2024](https://www.airship.com/docs/whats-new/2024-04-30-feature-flags-scene-rollouts-ga/).*


The format of a feature flag is a conditional *if* statement you add to your app code. It contains your flag name and wraps around the app code you want the flag to control.

After adding the flag to your app, you can manage the feature's audience and schedule from the Airship dashboard. If something unexpected happens with the feature, or if you have reason to end access before its scheduled end time, you can turn it off for all users instantly, without having to release an app update and waiting for users to install the new version.

Use feature flags for:

* **Premium features** — Provide premium feature access only to paid users based on membership tiers.
* **Phased releases** — Release features to segments of your audience over time to prevent a strain on resources, such as database queries, support tickets, or limited initial product supply.
* **Time-limited promotions** — Turn on and off features that are meant to be time-restricted, manually or using an automated schedule, such as displaying a promotional banner only during a sale weekend.
* **Testing** — Test features with a small segment of your audience before releasing the feature to the rest of your audience.

## Feature flag workflow

The following is the general workflow for using feature flags.

1. **Create a flag in the dashboard**, defining:
   * A display name and description for the dashboard

   * A flag name for reference in your app code

   * Audience — When creating a flag, you can set your audience to members of a [Test Group](https://www.airship.com/docs/reference/glossary/#preview_test_groups). When you are ready to go live, set a percentage of your total audience that will be able to view the feature determined by the flag. You can also set conditions audience members must meet in order to experience the feature the flag controls.

   * Scheduling — You can create open-ended or time-bound flags, starting immediately or at a scheduled time and date.

1. In the Review step when creating the flag, **copy the code snippets and docs link, then give them to your developer**.

1. **Add the flag to your app.** This step is usually performed by a developer.

After users install the version of your app that contains the feature and flag code, the feature will be available to the configured audience according to the flag's schedule. Manage the flag from the Airship dashboard.

## Requirements and documentation

Feature flags require minimum SDK versions iOS 17.1 and Android 17.1. Get all the details in the [Feature Flags user guide](https://www.airship.com/docs/guides/experimentation/feature-flags/).