GitHub App vs OAuth app vs fine-grained vs classic personal access token

Verdict: GitHub Apps act as an independent bot with no user sign-in; OAuth apps act on a user's behalf and are the only option for enterprise-object access. Fine-grained PATs scope to one organization and specific repositories; classic PATs are broad.

CriterionGitHub AppOAuth appFine-grained PATClassic PAT
Acts asIndependent bot identity, no user sign-inA specific user's behalfThe user, scopedThe user, broad
ScopeGranular per-install permissionsUser-authorized scopesOne org/user, specific repos, granularAll repos in the user's orgs
Enterprise-object accessNot supported yetCan be authorized for the enterprise accountCannot manage enterprise accountsNot the tool for this
Use whenAutomation with no user logged inEnterprise-level resource accessScoped access to one organizationLegacy broad access

Rules

Traps