You can connect your GitHub identity to third-party applications using OAuth. When authorizing one of these applications, you should ensure you trust the application, review who it's developed by, and review the kinds of information the application wants to access.
When a third-party application wants to identify you by your GitHub login, you'll see a page with the developer contact information and a list of the specific data that's being requested.
Review this information carefully! You can always say no, and deny access to the application.
Tip: You must verify your email address before you can authorize a third-party application.
Contacting the application developer
Because an application is developed by a third-party who isn't GitHub, we don't know exactly how an application uses the data it's requesting access to. You can use the developer information at the top of the page to contact the application admin if you have questions or concerns about their application.
If the developer has chosen to supply it, the right-hand side of the page provides a detailed description of the application, as well as its associated website.
Types of application access and data
Applications can have read or write access to your GitHub data.
- Read access only allows an application to look at your data.
- Write access allows an application to change your data.
About OAuth scopes
Scopes are named groups of permissions that an application can request to access both public and non-public data.
When you want to use a third-party application that integrates with GitHub, that application lets you know what type of access to your data will be required. If you grant access to the application, then the application will be able to perform actions on your behalf, such as reading or modifying data. For example, if you want to use an application that requests
user:email scope, the application will have read-only access to your private email addresses. For more information, see OAuth Scopes in the GitHub Developer Documentation.
Note: Currently, you can't scope source code access to read-only.
Types of requested data
There are several types of data that applications can request.
Tip: We recommend that you regularly review your authorized applications list. Remove any applications and tokens that haven't been used in a while.
- Personal user data
- User data includes information found in your user profile, like your name, e-mail address, and location.
- Repository information includes the names of contributors, the branches you've created, and the actual files within your repository. Applications can request access for either public or private repositories on a user-wide level. This is one of the most expansive configurations you can permit, so accept it with caution!
- Repository Delete
- Applications can request to delete repositories that you administer, but they won't have access to your code at all.
- Deployment status access allows applications to determine if a deployment is successful against a specific commit for public and private repositories. Applications won't have access to your code.
- Commit status
- You can grant access for a third-party application to report your commit status. Commit status access allows applications to determine if a build is a successful against a specific commit. Applications won't have access to your code, but they can read and write status information against a specific commit.
- Notification access allows applications to read your GitHub notifications, such as comments on issues and pull requests. However, applications remain unable to access anything in your repositories.
- Gist access allows applications to read or write to both your public and secret Gists.
- Webhooks access allows applications to read or write hook configurations on repositories you manage.
Requesting updated permissions
Applications can request new access privileges. When asking for updated permissions, the application will notify you of the differences.
Third-party applications and organizations
When you authorize a third-party application for your personal user account, you'll also see how the authorization will affect each organization you're a member of.
For organizations with third-party application restrictions, you can request that organization admins approve the application for use in that organization. If the organization does not approve the application, then the application will only be able to access the organization's public resources. If you're an organization admin, you can approve the application yourself.
For organizations without third-party application restrictions, the application will automatically be authorized for access to that organization's resources. For this reason, you should be careful about which third-party applications you approve for access to your personal account resources as well as any organization resources.