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

> External identity (Azure, Okta, PingOne) is synced to this GitHub user via SSO/SCIM

<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

* Source: [AZUser](/resources/nodes/az-user), [Okta\_User](/opengraph/extensions/okta/nodes/okta_user), [PingOneUser](https://github.com/andyrobbins/PingOneHound?tab=readme-ov-file#schema)
* Destination: [GH\_User](/opengraph/extensions/github/nodes/gh_user)
* Traversable: ✅

## General Information

The traversable GH\_SyncedTo edge is a hybrid edge that maps an external IdP user to a GitHub user based on SCIM provisioning. This edge represents a confirmed identity linkage between an external identity provider and GitHub. It is traversable because compromising the IdP account provides a verified path to the corresponding GitHub account, making it a critical edge for cross-system attack path analysis. This edge enables analysts to trace access from enterprise identity providers like Azure AD, Okta, or PingOne into the GitHub environment.

```mermaid theme={null}
graph LR
    azUser("AZUser alice\@specterops.io")
    oktaUser("Okta_User bob\@specterops.io")
    ghUser1("GH_User alice")
    ghUser2("GH_User bob")
    azUser -- GH_SyncedTo --> ghUser1
    oktaUser -- GH_SyncedTo --> ghUser2
```
