
OAuth apps: acting on behalf of a user
An OAuth app authenticates as a specific user — effectively borrowing that person’s identity and permissions. For example, when Jane (a lead developer) installs an OAuth app to run automated tests, the app makes API calls and performs actions with Jane’s privileges.
GitHub Apps: first-class identities with fine-grained permissions
A GitHub App is a first-class actor that authenticates as itself. You install a GitHub App on an organization, on specific repositories, or on a user account. Because it has its own identity, it’s independent of individual employees and isn’t affected by user churn. A single GitHub App can serve many repositories simultaneously, and installations can have distinct, fine-grained permissions per repository or organization.
Use GitHub Apps for long-lived, organization-level automations and integrations. Reserve OAuth apps only when you need an app to explicitly act as a specific user.
Quick comparison
Admin checklist for choosing integrations
- Prefer GitHub Apps for organization-wide automation and CI/CD.
- Use OAuth apps only when an integration must perform actions explicitly as a user.
- Review installation-level permissions before approving any app.
- Monitor app installations and rotate credentials or revoke access when necessary.
- OAuth apps authenticate as the user and consume the user’s permissions.
- GitHub Apps authenticate as themselves and are installed on organizations, repositories, or user accounts.

- GitHub Marketplace
- GitHub Apps docs: https://docs.github.com/en/apps
- OAuth apps docs: https://docs.github.com/en/developers/apps/building-oauth-apps