Skip to main content

This version of GitHub Enterprise Server was discontinued on 2023-09-25. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise Server. For help with the upgrade, contact GitHub Enterprise support.

Roles in an organization

Organization owners can assign roles to individuals and teams giving them different sets of permissions in the organization.

About roles

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."

About organization roles

You can assign people 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."

If your organization is owned by an enterprise account, enterprise owners can choose to join your organization with any role. For more information, see "Managing your role in an organization owned by your enterprise."

Organization owners

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."

Organization members

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.

Security managers

Note: The security manager role is in public beta and subject to change.

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 view security alerts and manage settings for code security 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."

GitHub App managers

By default, only organization owners can manage the settings of GitHub App registrations owned by an organization. To allow additional users to manage GitHub App registrations 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 App registrations owned by the organization. The GitHub App manager role does not grant users access to install and uninstall GitHub Apps on an organization. For more information, see "Adding and removing GitHub App managers in your organization."

Outside collaborators

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:

Permissions for organization roles

Organization actionOwnersMembersSecurity managers
Invite people to join the organization
Edit and cancel invitations to join the organization
Remove members from the organization
Reinstate former members to the organization
Add and remove people from all teams
Promote organization members to team maintainer
Configure code review assignments (see "Managing code review settings for your team")
Add collaborators to all repositories
Access the organization audit log
Edit the organization's profile page (see "About your organization's profile")
Verify the organization's domains (see "Verifying or approving a domain for your organization")
Restrict email notifications to verified or approved domains (see "Restricting email notifications for your organization")
Delete all teams
Delete the organization account, including all repositories
Create teams (see "Setting team creation permissions in your organization")
See all organization members and teams
@mention any visible team
Can be made a team maintainer
Transfer repositories
Manage security and analysis settings (see "Managing security and analysis settings for your organization")
View the security overview for the organization (see "About security overview")
Manage Dependabot security updates (see "About Dependabot security updates")
Manage an organization's SSH certificate authorities (see "Managing your organization's SSH certificate authorities")
Create project boards (see "Project board permissions for an organization")
View and post public team discussions to all teams (see "About team discussions")
View and post private team discussions to all teams (see "About team discussions")
Edit and delete team discussions in all teams (for more information, see "Managing disruptive comments)
Hide comments on commits, pull requests, and issues (see "Managing disruptive comments")
Disable team discussions for an organization (see "Disabling team discussions for your organization")
Set a team profile picture in all teams (see "Setting your team's profile picture")
Manage the publication of GitHub Pages sites from repositories in the organization (see "Managing the publication of GitHub Pages sites for your organization")
Move teams in an organization's hierarchy
Pull (read) all repositories in the organization
Push (write) and clone (copy) all repositories in the organization
Convert organization members to outside collaborators
View people with access to an organization repository
Export a list of people with access to an organization repository
Manage default labels (see "Managing default labels for repositories in your organization")

Further reading