When you create a repository owned by your user account, the repository is always private. When you create a repository owned by an organization, you can choose to make the repository private or internal.
Private repositories are only accessible to you, people you explicitly share access with, and, for organization repositories, certain organization members. Internal repositories are accessible to all enterprise members. For more information, see "About internal repositories."
Organization owners always have access to every repository created in an organization. For more information, see "Repository permission levels for an organization."
People with admin permissions for a repository can change an existing repository's visibility. For more information, see "Setting repository visibility."
Note: Internal repositories are available with GitHub Enterprise Cloud, GitHub AE, and GitHub Enterprise Server 2.20+. For more information, see "GitHub's products."
You can use internal repositories to practice "innersource" within your enterprise. Members of your enterprise can collaborate using open source methodologies without sharing proprietary information publicly. For more information on innersource, see GitHub's whitepaper "An introduction to innersource."
All enterprise members have read permissions to the internal repository, but internal repositories are not visible to people who are not members of an organization, including outside collaborators on organization repositories. For more information, see "Roles in an enterprise" and "Repository permission levels for an organization."
If a user is removed from all organizations owned by the enterprise, that user's forks of internal repositories are removed automatically.