Understand Privacy, Security & Administration

This skill area is 10–15% of the exam. It covers securing accounts with 2FA and passkeys, repository and organization permissions and roles, identity integration with SAML SSO, SCIM, and team synchronization, Enterprise Managed Users and org-wide Copilot policy, repository visibility and branch protection, and managing organization settings, teams, and roles.

Disclaimer: These are personal study notes for learning purposes only. Always verify against the official study guide.

Account Security: 2FA & Passkeys

⚠ Exam Tip — Strongest Factors

Security keys and passkeys (WebAuthn) are the most phishing-resistant options; SMS is the weakest 2FA method. Passkeys enable passwordless login. Expect a question ranking or selecting the most secure method.

Permissions & Roles

Repository Roles

Access to a repository is granted through roles, from least to most privileged:

RoleTypical capabilities
ReadView and clone the repo; open issues and PRs; comment.
TriageRead plus manage issues and PRs (labels, assignments) without write access to code.
WriteTriage plus push code, manage branches, and merge PRs.
MaintainWrite plus manage some repository settings (not sensitive/destructive ones).
AdminFull control — all settings, security, collaborators, and deletion.

Organization Roles

Identity & Access: SAML SSO, SCIM & Team Sync

Companies connect GitHub to their identity provider (IdP), such as Microsoft Entra ID or Okta, so that access follows the employee directory. Three related features do this, and each solves a different problem. All of them need GitHub Enterprise (Cloud, or SAML-enabled Enterprise Server for SCIM).

FeatureQuestion it answersWhat it doesWhere it's configured (Enterprise Cloud)
SAML single sign-on (SSO)“Who are you?” — authenticationMembers must sign in through the IdP before reaching the org's resources. Each GitHub account is tied to an IdP account through a linked identity.Organization or enterprise
SCIM“Should you have access at all?” — provisioningThe IdP automatically grants, updates, and removes access as people join, move, or leave the company.Organization (personal accounts) or enterprise (EMU only)
Team synchronization“Which teams are you in?” — group membershipConnects IdP groups to GitHub teams, so group membership changes are reflected on the team automatically.Organization (Entra ID or Okta) or enterprise (Entra ID only)

SCIM Provisioning

SCIM (System for Cross-domain Identity Management) is an open standard that lets administrators automate the exchange of user identity information between systems. SAML proves who someone is when they sign in; SCIM manages the lifecycle of their access.

How It Works by Deployment

DeploymentWhat SCIM managesSupported IdPs
Organization (Enterprise Cloud, personal accounts)Adds people to the organization and, when they are deprovisioned in the IdP, automatically removes them from the organization. Their personal GitHub account itself is untouched.Microsoft Entra ID, Okta, OneLogin
Enterprise Managed Users (Enterprise Cloud)Creates, updates, suspends, and reactivates the managed user accounts themselves. SCIM is mandatory for EMU.Partner IdPs: Entra ID (SAML or OIDC), Okta, PingFederate. Other SCIM 2.0 IdPs can use the REST API
Enterprise Server (self-hosted)Creates, updates, and suspends user accounts on the instance when SAML SSO is in use.Entra ID, Okta (PingFederate in preview)

Key Rules

Team Synchronization

Team synchronization links a GitHub team to one or more IdP groups. When someone is added to or removed from the group in the IdP, the change is reflected on the GitHub team automatically, with no manual updates or custom scripts.

Requirements & Behavior

Team Sync vs. IdP Groups with Enterprise Managed Users

EMU enterprises don't use team synchronization. Instead they manage team memberships with IdP groups sent over SCIM. The idea is the same, but the rules differ:

Team synchronizationIdP groups (EMU)
AccountsPersonal accounts with SAML SSOManaged user accounts
IdP groups per teamUp to 51
Adds users to the org?No, they must already be membersYes, automatically
Edit membership on GitHub?No, it's managed in the IdPNo, it's managed in the IdP
Nested teamsParent teams can't syncConnected teams can't be a parent or a child
⚠ Exam Tip — SAML vs. SCIM vs. Team Sync

Match the scenario to the feature: “require employees to sign in with company credentials” → SAML SSO. “Remove access automatically when someone leaves the company” → SCIM. “Keep GitHub team membership in step with Entra ID or Okta groups” → team synchronization. “The company must own and control the accounts themselves” → Enterprise Managed Users.

Enterprise Managed Users & Org Copilot Policy

Enterprise Managed Users (EMUs)

Organization-wide Copilot Policy Management

Repository Visibility & Branch Protection

Visibility Options

VisibilityWho can see it
PublicAnyone on the internet; ideal for open source.
PrivateOnly you and people/teams you explicitly grant access.
InternalVisible to all members of the enterprise — the basis of InnerSource. Available in organizations owned by an enterprise.

Branch Protection Rules

⚠ Must-Know — Branch Protection

The classic exam scenario: "ensure code is reviewed before it reaches main." The answer is a branch protection rule requiring pull request reviews (and often passing status checks). Combine with CODEOWNERS to auto-request the right reviewers.

Managing Organizations, Teams & Roles

Study Resources