GitHub repository security checklist for small teams

For most small teams, the repository is the most valuable thing on the internet they own: the product, the customer data access, and the deployment path all meet there. And unlike a laptop or an office, a repo is reachable from anywhere, by anyone who has (or phishes, or buys) a single token. The good news: GitHub gives you a 90-minute setup pass that removes the worst half of the risk — no paid tools, no security engineer, just settings most repos leave at default. This is that pass, plus the thirty-minute monthly ritual that keeps it true. It pairs with the API key rotation checklist (the tokens that reach into your infra) and the secrets rotation checklist (the credentials your code uses at runtime).

1. Access: who can push, and to what

Repo security starts with one question: who can change the answers? Open the org's People page and the repo's Settings → Collaborators before touching anything else:

2. Branch protection: make main annoying to break

The default branch is the only place where "someone made a mistake on a Friday" becomes "production is broken Monday". Protection rules are free and take ten minutes on Settings → Branches:

3. Secrets: assume everything committed is public

The single most common small-team breach pattern is not a sophisticated exploit — it is a key that was committed once, in a throwaway branch, in March. Assume any secret that has ever been committed is burned, because automated scanners harvest public repos within minutes:

4. Dependencies: Dependabot plus a review habit

Most small teams run npm install against hundreds of transitive packages per build. You will not audit them all — the software supply chain checklist owns shrinking the chain itself; this section is just the three free GitHub controls that catch the realistic cases:

5. Actions: the CI is part of the attack surface

Workflows run with access to your secrets and often your deploy targets. The small-team hardening set, in priority order:

6. Deploy keys, webhooks, and app installs: the side doors

Repo access is not just members. Three doors get forgotten in every small-team audit:

7. Offboarding and the audit log

The day someone leaves is when repo defaults get expensive:

8. The monthly 30-minute pass

9. Common failure modes

10. The one-afternoon version, in order