Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions config/_default/menus/main.en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6092,6 +6092,21 @@ menu:
parent: feature_flags_concepts
identifier: feature_flags_concepts_notifications
weight: 308
- name: Permissions and Access Control
url: feature_flags/concepts/permissions
parent: feature_flags_concepts
identifier: feature_flags_concepts_permissions
weight: 311
- name: Approvals
url: feature_flags/concepts/approvals
parent: feature_flags_concepts
identifier: feature_flags_concepts_approvals
weight: 312
- name: Migration Tooling
url: feature_flags/concepts/migration_tooling
parent: feature_flags_concepts
identifier: feature_flags_concepts_migration_tooling
weight: 313
- name: Flag History
url: feature_flags/concepts/flag_history
parent: feature_flags_concepts
Expand Down
69 changes: 69 additions & 0 deletions content/en/feature_flags/concepts/approvals.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: Approvals
description: Require approvals before feature flag changes apply in production environments.
further_reading:
- link: "/feature_flags/concepts/permissions"
tag: "Documentation"
text: "Permissions and Access Control"
- link: "/feature_flags/concepts/notifications"
tag: "Documentation"
text: "Notifications"
- link: "/feature_flags/concepts/environments"
tag: "Documentation"
text: "Environments"
---

## Overview

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

## Require approvals on an environment

1. Mark the environment as a [production environment](/feature_flags/concepts/environments/#production-environments).
2. Navigate to **Feature Flags > Settings > Environments**.
3. Select the environment and enable the option to require approvals.

After you enable approvals, subsequent changes that impact application behavior in that environment require approval from a user with edit access to the flag. Examples include:

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

## Require approvals on a feature 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.

### Existing flag

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

## Approval workflow

### 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](/feature_flags/concepts/notifications/) for the approval request

You can delete a pending change after creating it if you need to modify the submission.

### Approve or reject

Approvers see a diff, a description of the change, and the affected environment. They can approve or reject the change.

<div class="alert alert-warning">
Approving a change <strong>applies the change automatically</strong>.
</div>

## 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

{{< partial name="whats-next/whats-next.html" >}}
23 changes: 23 additions & 0 deletions content/en/feature_flags/concepts/migration_tooling.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: Migration Tooling
description: Migrate feature flags from other providers using the Datadog flag migration CLI.
further_reading:
- link: "/feature_flags/guide/migrate_from_launchdarkly"
tag: "Guide"
text: "Migrate from LaunchDarkly"
- link: "/feature_flags/guide/migrate_from_statsig"
tag: "Guide"
text: "Migrate from Statsig"
---

## Overview

The [Datadog flag migration CLI](https://github.com/DataDog/dd-flag-migration) helps you migrate feature flag definitions from other feature flag providers into Datadog Feature Flags.

Use the CLI to export flags from a source system and import them into Datadog, reducing manual recreation of flag keys, variants, and environment configuration.

For provider-specific migration steps in your application code, see the [Feature Flags guides](/feature_flags/guide/).

## Further reading

{{< partial name="whats-next/whats-next.html" >}}
43 changes: 43 additions & 0 deletions content/en/feature_flags/concepts/permissions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: Permissions and Access Control
description: Control who can read and write feature flags and environments in Datadog.
further_reading:
- link: "/feature_flags/concepts/approvals"
tag: "Documentation"
text: "Approvals"
- link: "/account_management/rbac/"
tag: "Documentation"
text: "Role Based Access Control"
---

## Overview

Datadog Feature Flags supports organization-level permissions and granular access controls on individual flags. Use these controls to limit who can view or change flag configuration and environments.

## Organization-level permissions

Control access at the organization level with the following permissions:

| Permission | Description |
|------------|-------------|
| **Feature Flag Config Read** | View feature flag configuration |
| **Feature Flag Config Write** | Create and modify feature flag configuration |
| **Feature Flag Environment Config Read** | View environment configuration |
| **Feature Flag Environment Config Write** | Create and modify environments |

Assign these permissions through [Datadog roles](/account_management/rbac/).

## Granular access on individual flags

Restrict edit access on a specific flag from the flag's **Settings** page. You can limit edit access to:

- Individual users
- Service accounts
- Roles
- Teams

Users without edit access can still view the flag if they have read permissions at the organization level.

## Further reading

{{< partial name="whats-next/whats-next.html" >}}
Loading