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

> An individual GitHub user account

<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" />

Represents a GitHub user who is a member of the organization. Users are associated with organization roles (Owner or Member) and can be assigned to repository roles and team roles.

## Edges

<Note>
  The tables below list edges defined by the GitHub extension only. Additional edges to or from this node may be created by other extensions.
</Note>

### Inbound Edges

| Edge Type                                                          | Source Node Types                                                                                                                                                                                                | Traversable |
| ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| [GH\_Contains](/opengraph/extensions/github/edges/gh_contains)     | [GH\_Organization](/opengraph/extensions/github/nodes/gh_organization), [GH\_Repository](/opengraph/extensions/github/nodes/gh_repository), [GH\_Environment](/opengraph/extensions/github/nodes/gh_environment) | ❌           |
| [GH\_MapsToUser](/opengraph/extensions/github/edges/gh_mapstouser) | [GH\_ExternalIdentity](/opengraph/extensions/github/nodes/gh_externalidentity)                                                                                                                                   | ❌           |
| [GH\_SyncedTo](/opengraph/extensions/github/edges/gh_syncedto)     | [AZUser](/resources/nodes/az-user), [Okta\_User](/opengraph/extensions/okta/nodes/okta_user), [PingOneUser](https://github.com/andyrobbins/PingOneHound?tab=readme-ov-file#schema)                               | ✅           |
| [GH\_ValidToken](/opengraph/extensions/github/edges/gh_validtoken) | [GH\_SecretScanningAlert](/opengraph/extensions/github/nodes/gh_secretscanningalert)                                                                                                                             | ✅           |

### Outbound Edges

| Edge Type                                                                                                | Destination Node Types                                                                                                                                                                       | Traversable |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| [GH\_BypassPullRequestAllowances](/opengraph/extensions/github/edges/gh_bypasspullrequestallowances)     | [GH\_BranchProtectionRule](/opengraph/extensions/github/nodes/gh_branchprotectionrule)                                                                                                       | ❌           |
| [GH\_CanCreateBranch](/opengraph/extensions/github/edges/gh_cancreatebranch)                             | [GH\_Repository](/opengraph/extensions/github/nodes/gh_repository)                                                                                                                           | ✅           |
| [GH\_CanWriteBranch](/opengraph/extensions/github/edges/gh_canwritebranch)                               | [GH\_Branch](/opengraph/extensions/github/nodes/gh_branch)                                                                                                                                   | ✅           |
| [GH\_HasPersonalAccessToken](/opengraph/extensions/github/edges/gh_haspersonalaccesstoken)               | [GH\_PersonalAccessToken](/opengraph/extensions/github/nodes/gh_personalaccesstoken)                                                                                                         | ❌           |
| [GH\_HasPersonalAccessTokenRequest](/opengraph/extensions/github/edges/gh_haspersonalaccesstokenrequest) | [GH\_PersonalAccessTokenRequest](/opengraph/extensions/github/nodes/gh_personalaccesstokenrequest)                                                                                           | ❌           |
| [GH\_HasRole](/opengraph/extensions/github/edges/gh_hasrole)                                             | [GH\_OrgRole](/opengraph/extensions/github/nodes/gh_orgrole), [GH\_RepoRole](/opengraph/extensions/github/nodes/gh_reporole), [GH\_TeamRole](/opengraph/extensions/github/nodes/gh_teamrole) | ✅           |
| [GH\_RestrictionsCanPush](/opengraph/extensions/github/edges/gh_restrictionscanpush)                     | [GH\_BranchProtectionRule](/opengraph/extensions/github/nodes/gh_branchprotectionrule)                                                                                                       | ❌           |

## Properties

| Property Name     | Data Type | Description                                                            |
| ----------------- | --------- | ---------------------------------------------------------------------- |
| objectid          | string    | The GitHub `node_id` of the user, used as the unique graph identifier. |
| name              | string    | The user's display name, derived from the login property.              |
| login             | string    | The user's GitHub login handle.                                        |
| company           | string    | The company listed on the user's profile.                              |
| email             | string    | The user's public email address.                                       |
| full\_name        | string    | The user's full name from their profile.                               |
| id                | integer   | The numeric GitHub ID of the user.                                     |
| node\_id          | string    | The GitHub GraphQL node ID. Redundant with objectid.                   |
| environment\_name | string    | The name of the environment (GitHub organization) the user belongs to. |
| environmentid     | string    | The node\_id of the environment (GitHub organization).                 |

## Diagram

```mermaid theme={null}
flowchart TD
    GH_User[fa:fa-user GH_User]
    GH_OrgRole[fa:fa-user-tie GH_OrgRole]
    GH_RepoRole[fa:fa-user-tie GH_RepoRole]
    GH_TeamRole[fa:fa-user-tie GH_TeamRole]
    GH_Branch[fa:fa-code-branch GH_Branch]
    GH_ExternalIdentity[fa:fa-arrows-left-right GH_ExternalIdentity]
    AZUser[fa:fa-user AZUser]
    Okta_User[fa:fa-user Okta_User]
    PingOneUser[fa:fa-user PingOneUser]


    GH_PersonalAccessToken[fa:fa-key GH_PersonalAccessToken]
    GH_PersonalAccessTokenRequest[fa:fa-key GH_PersonalAccessTokenRequest]


    GH_BranchProtectionRule[fa:fa-shield GH_BranchProtectionRule]
    GH_Repository[fa:fa-box-archive GH_Repository]


    GH_User -->|GH_HasRole| GH_OrgRole
    GH_User -->|GH_HasRole| GH_TeamRole
    GH_User -->|GH_HasRole| GH_RepoRole
    GH_User -.->|GH_BypassPullRequestAllowances| GH_BranchProtectionRule
    GH_User -.->|GH_RestrictionsCanPush| GH_BranchProtectionRule
    GH_User -->|GH_CanWriteBranch| GH_Branch
    GH_User -->|GH_CanCreateBranch| GH_Repository
    GH_ExternalIdentity -.->|GH_MapsToUser| GH_User
    AZUser -->|GH_SyncedTo| GH_User
    Okta_User -->|GH_SyncedTo| GH_User
    PingOneUser -->|GH_SyncedTo| GH_User
```
