Safeguard
Compliance•

How do you run a quarterly access review of GitHub in one afternoon?

A repeatable review of members, outside collaborators, roles, tokens, apps and audit log entries, with evidence you can hand an auditor. Steps and table.

Safeguard Security Team
3 min read

List who has access, to what, and through which route, then remove what nobody can justify and record it. For GitHub that means members, outside collaborators, repository roles, personal access tokens, installed apps and recent audit log activity. One afternoon per quarter is enough if you keep the same steps each time.

What to review and where

AreaWhere to lookWhat to decide
Members and 2FAPeople pageRemove leavers, chase missing 2FA
Outside collaboratorsPeople pageKeep only those with an active engagement
Repository rolesRepository and team settingsReduce Write, Maintain and Admin
Fine-grained tokensPersonal access tokens, Active tokensRevoke unknown or overbroad
Token policyPersonal access tokens, SettingsRestrict classic tokens, set lifetime
OAuth and GitHub AppsOrganization app settingsRemove unowned apps
Audit logOrganization audit logSpot rule changes and removals

Each row maps to a page in GitHub's documentation, and each can be checked by an organization owner.

The afternoon, in order

  1. Export the audit log for the quarter first, since only 180 days are kept and exports are capped at 100 MB compressed.
  2. Review the member list against the HR roster. Remove anyone who left.
  3. Review outside collaborators against active contracts.
  4. Review Write and above by team, and cut extra grants.
  5. Review active tokens and the token policy.
  6. Review approved apps and OAuth restrictions.
  7. Search the audit log for branch protection, ruleset and visibility changes, and ask owners to explain any you did not expect.

Make the evidence easy

Keep one folder per quarter with the audit export, a screenshot or export of each list before changes, a short change log of what you removed, and the name of the reviewer. A reviewer who is not the person who made the changes adds credibility.

Do not claim the review proves compliance with any framework on its own. It is one input that an auditor can sample.

Common failure modes

  • Reviewing people but not tokens, so a departed person's token lives on.
  • Reviewing teams but not direct grants.
  • Skipping the audit export and finding the oldest events gone.
  • Writing a fine report and never removing anything.

If a review removes nothing for three quarters running, either your access is tidy or the review is shallow. Spot check by picking one repository and tracing every route to it.

Where Safeguard fits

Safeguard scans dependencies and builds an SBOM, and its policies and gates can block a pull request that adds a known-vulnerable package. You can try a free scan at gold.safeguard.sh/scan.

Try it yourself

Open the framework mapping demo and see how one review record can support several control families.

Click through it at your own pace, or open it full screen.

Quick check

How often should we review access?

Quarterly is a common choice. Choose a rhythm you will actually keep and write it into your policy.

Who should run it?

An organization owner can see every screen, and a second person should review the result.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.