Controlling Access at the Organization Level

Securing a repository starts before any code is written—at authentication. For teams using an identity provider (IdP) such as Azure AD, Okta, or OneLogin, GitHub Enterprise supports SAML single sign-on at both the enterprise account and organization level, giving admins flexibility in how they structure their SSO flow. Configuring SAML is the first layer, but admins can also enable team sync and SCIM provisioning to automate membership and access rights through the same identity infrastructure.

Integrating with an IdP also provides downstream security benefits. In Azure AD, for instance, you can define conditional access policies—such as requiring specific IP ranges or multi-factor authentication—before users even land on GitHub.

For organizations that prefer to keep access policies within GitHub, native controls are available. The IP allow list restricts access to approved ranges, limiting exposure to users on specific network segments or a VPN. GitHub’s 2FA enforcement provides another key safeguard. The setup is straightforward, but admins should note that enabling it will remove organization members and collaborators without 2FA, so it’s best done with clear communication and coordination beforehand.

Permissions and Leak Prevention

Authentication only addresses who can log in. Equally important is defining what those users can do once they are in. GitHub Enterprise makes it possible to set policies at the enterprise or organization level that support several critical scenarios:

  • Repository creation: Limits where and when repositories are created.
  • Repository forking: Controls forking to keep code from being copied out of the organization domain.
  • Repository visibility changes: Prevents unintended public exposure of private projects.
  • Repository deletion and transfer: Reduces the risk of data loss through oversight or malicious action.

Default visibility serves as an additional safeguard. While admins can configure policy, accidental public repository creation still occurred. GitHub has tightened that flow: when a user has an active SAML SSO session, the default visibility for new repositories is now set to private, reducing the chance of an inadvertent leak under time pressure without removing the developer’s ability to choose otherwise.