GENESISCODE DOCTOR AI
GENESIS REPAIR KNOWLEDGE NETWORK

GitHub Proof of Presence: Secure High-Impact Enterprise Actions

GitHub announced September 24, 2026 that Proof of Presence (PoP) is available in public preview for supported GitHub Enterprise Cloud deployments. PoP extends GitHub's sudo-mode model by sending a person back to the enterprise identity provider before protected high-impact actions can proceed. GitHub's current preview supports Microsoft Entra ID and can require either re-authentication or a new MFA challenge. Protected actions include sensitive account, token, webhook, organization-security, enterprise-setting, ruleset and recovery-code operations. GitHub says the challenge uses the sudo-mode session model, so after successful proof the protected browser session can continue until the sudo-mode window expires. Treat PoP as a fresh-human-presence control for high-impact actions, not as a replacement for least privilege, authorization, branch protection, token scope, audit logging or deployment approval.

Common symptoms

  • A GitHub Enterprise Cloud organization wants sensitive actions to require fresh interactive identity proof instead of relying only on an already-authenticated browser session
  • Security teams are concerned that a stolen session cookie or long-lived credential could be used to create tokens, edit webhooks or change security settings
  • A regulated enterprise needs stronger evidence that a real authorized person is present when high-impact changes are made
  • An administrator is unsure whether proof of presence applies to every GitHub account, identity provider or pull-request merge

Possible causes

  • A valid authenticated session proves that GitHub accepted prior authentication, but it does not prove a person is freshly present at the moment of a sensitive action
  • High-impact actions such as creating personal access tokens, editing webhooks, changing organization security settings or viewing recovery codes can amplify the impact of a hijacked session
  • GitHub's proof-of-presence preview sends supported enterprise members back to the configured identity provider for a fresh policy check before protected actions
  • The preview has deployment and identity-provider prerequisites, so unsupported account or IdP combinations must not be described as protected
HOW TO FIX IT

Work from the safest step to the harder repair.

  1. Step 1. Inventory the protected actions that matter to the enterprise before changing policy. Include token creation/removal, webhook administration, organization and enterprise security settings, rulesets, membership/role changes and recovery-code access where applicable.
  2. Step 2. Confirm the enterprise deployment and identity-provider prerequisites from GitHub's current documentation. During public preview, GitHub documents Microsoft Entra ID support and enterprise SSO prerequisites; do not assume every personal account or IdP is covered.
  3. Step 3. Decide whether the enterprise requires simple re-authentication or an additional MFA challenge. GitHub exposes both choices, but the actual assurance level depends on the IdP policy configured for that challenge.
  4. Step 4. Review IdP conditional-access requirements before rollout. If device compliance, phishing-resistant MFA, network location or another condition is required, verify that the selected Entra policy actually enforces it during the GitHub proof-of-presence flow.
  5. Step 5. Enable proof of presence in a controlled enterprise rollout and test a representative high-impact action with a safe administrative account. Verify the redirect to the IdP, the challenge result and the return to GitHub before broad deployment.
  6. Step 6. Test stale-session and fresh-session behavior. GitHub says PoP uses the sudo-mode session model, whose normal protected-action window is two hours and is refreshed by sensitive actions; build the regression matrix around the documented session behavior rather than assuming every click causes a new challenge.
  7. Step 7. Verify failure behavior. A member who cannot complete the IdP challenge should be denied the protected action and routed to the appropriate enterprise or IdP administrator rather than given an application-side bypass.
  8. Step 8. Keep API tokens, GitHub Apps, service identities and automated agents on separate authorization controls. Proof of presence is an interactive human challenge and should not be treated as a way to make long-lived automation credentials safe.
  9. Step 9. Preserve existing least-privilege, token-scope, organization-role, branch-protection, ruleset, code-review, audit-log and deployment controls. Fresh authentication adds assurance; it does not replace authorization or change-management policy.
  10. Step 10. Document emergency-access and recovery procedures before enforcing PoP broadly. Test how administrators recover when the IdP is unavailable without weakening the everyday high-impact-action boundary.
  11. Step 11. Monitor GitHub's preview status and supported action list. GitHub says support for proof of presence before pull-request merges is coming soon, so do not document merge protection as already available until GitHub ships it.

Need the actual code? Go to GenesisCodeDoctor.com to search the Code Store or request code for the exact platform, error, and repair you are working on.

TROUBLESHOOTING DECISION TREE

Use evidence to decide the next move.

  1. 1. Is the enterprise on a GitHub Enterprise Cloud deployment and using a currently supported identity provider for PoP? If no, do not present PoP as available; strengthen sudo mode, MFA, token governance and IdP controls instead.
  2. 2. Does the sensitive workflow require fresh human presence? If yes, map it to the protected high-impact action set and select the required IdP assurance level.
  3. 3. Would re-authentication alone meet the enterprise's risk requirement, or is an additional MFA/conditional-access challenge required? Configure the IdP policy accordingly and verify it in a test session.
  4. 4. Is the action being performed by automation rather than a person? If yes, PoP is not the control boundary; use scoped credentials, workload identity, approvals and auditable authorization.
  5. 5. After rollout, do audit evidence and regression tests show the expected challenge for stale sessions and successful denial when the challenge cannot be completed? If no, stop expansion and correct the identity-policy path.
REPAIR FLOW

A visual path from symptom to verified production.

Observe
Protect
Isolate
Repair
Test
Publish
Verify live
BEFORE YOU PASTE CODE

Protect the working site first.

  • Test PoP with non-destructive high-impact actions or safe administrative fixtures before enterprise-wide enforcement.
  • Keep emergency-access identities tightly governed, audited and excluded from routine use.
  • Use least-privilege scopes and independent authorization checks for automation even after PoP is enabled for human administrators.
STOP AND GET HELP WHEN

Do not turn a repair into a larger outage.

  • Do not claim proof of presence protects every GitHub action, every account type or every identity provider; current support is a public preview with specific prerequisites.
  • Do not describe proof of presence as protection against all compromised credentials. Long-lived tokens, GitHub Apps and other automation or non-interactive identities need their own scopes, rotation and authorization controls.
  • Do not weaken IdP policy merely to reduce challenge friction for high-impact actions.
  • Do not assume pull-request merges are protected by PoP today; GitHub says that support is coming soon.
  • Do not treat a completed authentication challenge as approval for unrelated production deployment, billing, destructive data or other consequential business actions.
HOW GENESIS HANDLES IT

Diagnose the exact failure before choosing a repair.

Genesis separates the visible symptom from the underlying technical cause. Run the supported diagnostic first, review the evidence, and then use a matching repair only when the failure is actually verified.

Platform scope
GitHub Enterprise Cloud · Enterprise Managed Users · GHEC-DR · Microsoft Entra ID · SAML/OIDC · sudo mode
Category
Enterprise security · Identity assurance · Sensitive-action governance
Last updated
2026-09-24
REPAIR PROFILE

Know the complexity before you edit.

Difficulty
Advanced
Change risk
High

These labels describe implementation complexity and blast radius, not a guaranteed repair time.

AUTHORITATIVE SOURCES

Verify time-sensitive platform details at the source.

COMMON QUESTIONS

Before you make the change

What is GitHub Proof of Presence?

It is a GitHub Enterprise Cloud public-preview control that extends sudo mode by requiring a fresh identity-provider challenge before protected high-impact actions can proceed.

Does Proof of Presence require MFA every time?

Not necessarily. GitHub lets an enterprise choose re-authentication or an MFA requirement. The assurance delivered by either option depends on the configured identity-provider policy.

How long does a successful challenge last?

GitHub says PoP uses the sudo-mode session model. GitHub's sudo-mode documentation describes a two-hour protected-action session window, with sensitive actions resetting the timer.

What actions can trigger the control?

GitHub's protected high-impact action set includes sensitive account changes, token/client-secret operations, webhook administration, organization membership and security changes, enterprise settings, rulesets and recovery-code access.

Does PoP protect pull-request merges?

Not yet in the September 24 release. GitHub says support for proof of presence before pull-request merges is coming soon.

RELATED REPAIR GUIDES

Continue from easy to harder.

Next step

Start with a free diagnostic. If Genesis verifies a problem and a compatible treatment exists, continue to the matching Code Store product or repair path. If you cannot find the exact code you need, request it at GenesisCodeDoctor.com rather than forcing a generic snippet into the wrong platform.