---
title: Feature Flags Approvals
description: >-
  Require approvals before feature flag changes apply in production
  environments.
breadcrumbs: Docs > Feature Flags > Concepts > Feature Flags Approvals
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Feature Flags Approvals

{% callout %}
# Important note for users on the following Datadog sites: app.ddog-gov.com, us2.ddog-gov.com

{% alert level="danger" %}
This product is not supported for your selected [Datadog site](https://docs.datadoghq.com/getting_started/site.md). ({% placeholder "user-datadog-site-name" /%}).
{% /alert %}

{% /callout %}

## Overview{% #overview %}

Approvals help you control what changes are made to feature flags and by whom. In addition to [granular access control](https://docs.datadoghq.com/feature_flags/concepts/permissions.md), you can require approvals for changes to certain flags or production environments before those changes take effect.

## Require approvals on an environment{% #require-approvals-on-an-environment %}

1. Navigate to [**Feature Flags > Settings > Environments**](https://app.datadoghq.com/feature-flags/settings/environments).
1. Select the environment you want to configure.
1. If it is not already a production environment, mark it as a [production environment](https://docs.datadoghq.com/feature_flags/concepts/environments.md#production-environments).
1. Enable the option to require approvals.

{% image
   source="https://docs.dd-static.net/images/feature_flags/concepts/environment-approvals.2cd138be1af9f7292a8f087cc3b98a43.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/feature_flags/concepts/environment-approvals.2cd138be1af9f7292a8f087cc3b98a43.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Edit Environment dialog with Mark as production environment and Require feature flag approval options." /%}

After you enable approvals, subsequent changes that impact application behavior in that environment require approval before they can be applied. The changes must be approved by another user with write access on the flag. Examples include:

- Enabling or disabling a flag
- Modifying targeting rules
- Archiving a flag

## Require approvals on a feature flag{% #require-approvals-on-a-feature-flag %}

### New flag{% #new-flag %}

When creating a flag, toggle **Require approval on changes to this flag for all production environments** to enable approvals for that flag in every production environment.

{% image
   source="https://docs.dd-static.net/images/feature_flags/concepts/configure-flag-approvals-on-creation.e9a0421b738a3ce308a7f4ff70a74861.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/feature_flags/concepts/configure-flag-approvals-on-creation.e9a0421b738a3ce308a7f4ff70a74861.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Create feature flag flow showing Approvals and notifications with Require approval on changes to this flag for all production environments enabled." /%}

### Existing flag{% #existing-flag %}

{% alert level="info" %}
Enabling or disabling approvals on an existing flag requires the organization permission **Feature Flag Approvals Override**, in addition to edit access on the flag. The same permission allows users to bypass or override the approvals workflow; see Override approvals.
{% /alert %}

1. Navigate to your flag's details page.
1. Open **Settings > Approvals**.
1. Toggle **Require approval on changes to this flag for all production environments**.

## Approval workflow{% #approval-workflow %}

### Submit changes for review{% #submit-changes-for-review %}

When you make a change that requires approval, a **Submit Changes For Review** modal appears. The modal prompts you to:

- Enter a description of the change
- Select a notification channel (for example, Slack or Microsoft Teams) for the approval request

To modify a pending change after submission, delete it and submit a new one.

### Approve, reject, or apply{% #approve-reject-or-apply %}

Approvers see a diff, a description of the change, and the affected environment. From the approval request, they can:

- **Reject** the change suggestion
- **Approve** the change suggestion without applying it
- **Approve & apply** the change in one step

Approving a change suggestion does not apply it. The approved change remains visible on the flag, and you can apply it at any time after approval.

### Apply approved changes{% #apply-approved-changes %}

After a change is approved, apply it when you are ready for it to take effect in the affected environment. You do not need to submit the change for review again.

### Override approvals{% #override-approvals %}

The **Feature Flag Approvals Override** organization permission serves two purposes:

- **Existing flags:** Required to enable approvals for a flag that already exists (in addition to [granular edit access](https://docs.datadoghq.com/feature_flags/concepts/permissions.md) on that flag).
- **Workflow bypass:** Allows holders to bypass the approvals workflow where that option is available, so changes can proceed without the usual review and approval steps.

Treat this permission as highly sensitive: assign it only to people who may need to change approval requirements or make exceptions to governance. Organization permissions are granted through [Datadog roles](https://docs.datadoghq.com/account_management/rbac.md). For related Feature Flags permissions, see [Permissions and Access Control](https://docs.datadoghq.com/feature_flags/concepts/permissions.md).

## Find flags with pending approvals{% #find-flags-with-pending-approvals %}

On the Feature Flags search page, toggle the **Pending Approvals** filter to view flags with changes awaiting approval.

## Further reading{% #further-reading %}

- [Permissions and Access Control](https://docs.datadoghq.com/feature_flags/concepts/permissions.md)
- [Environments](https://docs.datadoghq.com/feature_flags/concepts/environments.md)
