To perform any actions on GitHub, such as creating a pull request in a repository or changing an organization's billing settings, a person must have sufficient access to the relevant account or resource. This access is controlled by permissions. A permission is the ability to perform a specific action. For example, the ability to delete an issue is a permission. A role is a set of permissions you can assign to individuals or teams.
Repository-level roles give organization members, outside collaborators and teams of people varying levels of access to repositories. For more information, see "Repository roles for an organization."
Team-level roles are roles that give permissions to manage a team. You can give any individual member of a team the team maintainer role, which gives the member a number of administrative permissions over a team. For more information, see "Assigning the team maintainer role to a team member."
Organization-level roles are sets of permissions that can be assigned to individuals or teams to manage an organization and the organization's repositories, teams, and settings. For more information about all the roles available at the organization level, see "About organization roles."
You can assign individuals or teams to a variety of organization-level roles to control your members' access to your organization and its resources. For more details about the individual permissions included in each role, see "Permissions for organization roles."
Organization owners have complete administrative access to your organization. This role should be limited, but to no less than two people, in your organization. For more information, see "Maintaining ownership continuity for your organization."
The default, non-administrative role for people in an organization is the organization member. By default, organization members have a number of permissions, including the ability to create repositories and project boards.
Billing managers are users who can manage the billing settings for your organization, such as payment information. This is a useful option if members of your organization don't usually have access to billing resources. For more information, see "Adding a billing manager to your organization."
Note: The security manager role is in public beta and subject to change. This feature is not available for organizations using legacy per-repository billing plans.
Security manager is an organization-level role that organization owners can assign to any team in an organization. When applied, it gives every member of the team permissions to manage security alerts and settings across your organization, as well as read permissions for all repositories in the organization.
If your organization has a security team, you can use the security manager role to give members of the team the least access they need to the organization. For more information, see "Managing security managers in your organization."
By default, only organization owners can manage the settings of GitHub Apps owned by an organization. To allow additional users to manage GitHub Apps owned by an organization, an owner can grant them GitHub App manager permissions.
When you designate a user as a GitHub App manager in your organization, you can grant them access to manage the settings of some or all GitHub Apps owned by the organization. For more information, see:
- "Adding GitHub App managers in your organization"
- "Removing GitHub App managers from your organization"
To keep your organization's data secure while allowing access to repositories, you can add outside collaborators. An outside collaborator is a person who has access to one or more organization repositories but is not explicitly a member of the organization, such as a consultant or temporary employee. For more information, see:
- "Adding outside collaborators to repositories in your organization"
- "Converting an organization member to an outside collaborator"
- "Removing an outside collaborator from an organization repository"
|Organization permission||Owners||Members||Billing managers||Security managers|
|Create repositories (see "Restricting repository creation in your organization" for details)||X||X||X|
|View and edit billing information||X||X|
|Invite people to join the organization||X|
|Edit and cancel invitations to join the organization||X|
|Remove members from the organization||X|
|Reinstate former members to the organization||X|
|Add and remove people from all teams||X|
|Promote organization members to team maintainer||X|
|Configure code review assignments (see "Managing code review assignment for your team")||X|
|Set scheduled reminders (see "Managing scheduled reminders for pull requests")||X|
|Add collaborators to all repositories||X|
|Access the organization audit log||X|
|Edit the organization's profile page (see "About your organization's profile" for details)||X|
|Verify the organization's domains (see "Verifying your organization's domain" for details)||X|
|Restrict email notifications to verified or approved domains (see "Restricting email notifications for your organization" for details)||X|
|Delete all teams||X|
|Delete the organization account, including all repositories||X|
|Create teams (see "Setting team creation permissions in your organization" for details)||X||X||X|
|Move teams in an organization's hierarchy||X|
|Create project boards (see "Project board permissions for an organization" for details)||X||X||X|
|See all organization members and teams||X||X||X|
|@mention any visible team||X||X||X|
|Can be made a team maintainer||X||X||X|
|View organization insights (see "Viewing insights for your organization" for details)||X||X||X|
|View and post public team discussions to all teams (see "About team discussions" for details)||X||X||X|
|View and post private team discussions to all teams (see "About team discussions" for details)||X|
|Edit and delete team discussions in all teams (see "Managing disruptive comments" for details)||X|
|Hide comments on commits, pull requests, and issues (see "Managing disruptive comments" for details)||X||X||X|
|Disable team discussions for an organization (see "Disabling team discussions for your organization" for details)||X|
|Manage viewing of organization dependency insights (see "Changing the visibility of your organization's dependency insights" for details)||X|
|Set a team profile picture in all teams (see "Setting your team's profile picture" for details)||X|
|Sponsor accounts and manage the organization's sponsorships (see "Sponsoring open-source contributors" for details)||X||X||X|
|Manage email updates from sponsored accounts (see "Managing updates from accounts your organization's sponsors" for details)||X|
|Attribute your sponsorships to another organization (see "Attributing sponsorships to your organization" for details )||X|
|Manage the publication of GitHub Pages sites from repositories in the organization (see "Managing the publication of GitHub Pages sites for your organization" for details)||X|
|Manage security and analysis settings (see "Managing security and analysis settings for your organization" for details)||X||X|
|View the security overview for the organization (see "About the security overview" for details)||X||X|
|Enable and enforce SAML single sign-on||X|
|Manage a user's SAML access to your organization||X|
|Manage an organization's SSH certificate authorities (see "Managing your organization's SSH certificate authorities" for details)||X|
|Purchase, install, manage billing for, and cancel GitHub Marketplace apps||X|
|List apps in GitHub Marketplace||X|
|Receive Dependabot alerts about vulnerable dependencies for all of an organization's repositories||X||X|
|Manage Dependabot security updates (see "About Dependabot security updates")||X||X|
|Manage the forking policy||X|
|Limit activity in public repositories in an organization||X|
|Pull (read) all repositories in the organization||X||X|
|Push (write) and clone (copy) all repositories in the organization||X|
|Convert organization members to outside collaborators||X|
|View people with access to an organization repository||X|
|Export a list of people with access to an organization repository||X|
|Manage the default branch name (see "Managing the default branch name for repositories in your organization")||X|
|Manage default labels (see "Managing default labels for repositories in your organization")||X|
|Enable team synchronization (see "Managing team synchronization for your organization" for details)||X|