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

> Branch protection rule protects this branch

<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\_BranchProtectionRule](/opengraph/extensions/github/nodes/gh_branchprotectionrule) | GH\_ProtectedBy | [GH\_Branch](/opengraph/extensions/github/nodes/gh_branch) |

```mermaid theme={null}
flowchart LR
    GH_Branch["GH_Branch"]
    GH_BranchProtectionRule["GH_BranchProtectionRule"]
    GH_BranchProtectionRule -- GH_ProtectedBy --> GH_Branch
```

## General Information

The non-traversable GH\_ProtectedBy edge represents that a branch protection rule applies to a specific branch. This edge links protection rules to the branches they govern. Understanding which protections apply to a branch is critical for determining the effective access model — protections such as required reviews, status checks, and push restrictions directly impact who can modify a branch. This edge is consumed by the computed branch-access edges to determine effective push access; the computed [GH\_CanWriteBranch](/opengraph/extensions/github/edges/gh_canwritebranch) and [GH\_CanEditProtection](/opengraph/extensions/github/edges/gh_caneditprotection) edges carry traversability instead.

## Edge Schema

| Source | Destination | Traversable |
| - | - | - |
| [GH\_BranchProtectionRule](/opengraph/extensions/github/nodes/gh_branchprotectionrule) | [GH\_Branch](/opengraph/extensions/github/nodes/gh_branch) | `false` |

## Diagram

```mermaid theme={null}
graph LR
    n0["GH_BranchProtectionRule"]
    n1["GH_Branch"]
    n0 -.->|GH_ProtectedBy| n1
```
