> ## Documentation Index
> Fetch the complete documentation index at: https://bloodhound.specterops.io/llms.txt
> Use this file to discover all available pages before exploring further.

# GH_ApprovesDeploymentTo

> User or team is configured as a required reviewer for this environment

<img noZoom src="https://mintcdn.com/specterops/tTIczgde9H07oLXf/assets/enterprise-AND-community-edition-pill-tag.svg?fit=max&auto=format&n=tTIczgde9H07oLXf&q=85&s=ad49a576589f4d2a8081df77d07fdf56" alt="Applies to BloodHound Enterprise and CE" width="482" height="45" data-path="assets/enterprise-AND-community-edition-pill-tag.svg" />

## Edge Schema

* Traversable: ❌

| Start                                                  | Kind                     | End                                                                  |
| ------------------------------------------------------ | ------------------------ | -------------------------------------------------------------------- |
| [GH\_User](/opengraph/extensions/github/nodes/gh_user) | GH\_ApprovesDeploymentTo | [GH\_Environment](/opengraph/extensions/github/nodes/gh_environment) |
| [GH\_Team](/opengraph/extensions/github/nodes/gh_team) | GH\_ApprovesDeploymentTo | [GH\_Environment](/opengraph/extensions/github/nodes/gh_environment) |

```mermaid theme={null}
flowchart LR
    GH_Environment["GH_Environment"]
    GH_Team["GH_Team"]
    GH_User["GH_User"]
    GH_Team -- GH_ApprovesDeploymentTo --> GH_Environment
    GH_User -- GH_ApprovesDeploymentTo --> GH_Environment
```

## General Information

The non-traversable GH\_ApprovesDeploymentTo edge represents that a user or team is configured as a required reviewer for a GitHub Environment.

This edge is emitted from [GH\_User](/opengraph/extensions/github/nodes/gh_user) or [GH\_Team](/opengraph/extensions/github/nodes/gh_team) nodes to [GH\_Environment](/opengraph/extensions/github/nodes/gh_environment) nodes when the environment includes a required reviewer protection rule. Required reviewers act as an approval gate before jobs referencing the environment can continue.

The edge is non-traversable because it records reviewer configuration rather than direct deployment access. When self-review is allowed, the same reviewer may also receive a traversable [GH\_CanDeployToEnvironment](/opengraph/extensions/github/edges/gh_candeploytoenvironment) edge only if they can also supply deployable code through [GH\_CanCreateBranch](/opengraph/extensions/github/edges/gh_cancreatebranch) or [GH\_CanWriteBranch](/opengraph/extensions/github/edges/gh_canwritebranch) under the environment's branch policy. When prevent\_self\_review is enabled, GH\_ApprovesDeploymentTo remains context only because the split-principal approval flow is not currently modeled.

## Edge Schema

| Source                                                 | Destination                                                          | Traversable |
| ------------------------------------------------------ | -------------------------------------------------------------------- | ----------- |
| [GH\_Team](/opengraph/extensions/github/nodes/gh_team) | [GH\_Environment](/opengraph/extensions/github/nodes/gh_environment) | `false`     |
| [GH\_User](/opengraph/extensions/github/nodes/gh_user) | [GH\_Environment](/opengraph/extensions/github/nodes/gh_environment) | `false`     |

## Diagram

```mermaid theme={null}
graph LR
    n0["GH_Team"]
    n1["GH_Environment"]
    n2["GH_User"]
    n0 -.->|GH_ApprovesDeploymentTo| n1
    n2 -.->|GH_ApprovesDeploymentTo| n1
```
