GitHub has many features that help you improve and maintain the quality of your code. Some of these are included in all plans, such as dependency graph and Dependabot alerts. Other security features require a GitHub Advanced Security license to run on repositories apart from public repositories on GitHub.com.
For information about buying a license for GitHub Advanced Security, see "About billing for GitHub Advanced Security."
A GitHub Advanced Security license provides the following additional features:
Code scanning - Search for potential security vulnerabilities and coding errors in your code. For more information, see "About code scanning."
Secret scanning - Detect secrets, for example keys and tokens, that have been checked into the repository. If push protection is enabled, also detects secrets when they are pushed to your repository. For more information, see "About secret scanning" and "Protecting pushes with secret scanning."
Dependency review - Show the full impact of changes to dependencies and see details of any vulnerable versions before you merge a pull request. For more information, see "About dependency review."
- Security overview - Review the security configuration and alerts for an organization and identify the repositories at greatest risk. For more information, see "About the security overview."
The table below summarizes the availability of GitHub Advanced Security features for public and private repositories.
|Public repository||Private repository without Advanced Security||Private repository with Advanced Security|
|Secret scanning||Yes (limited functionality only)||No||Yes|
GitHub Advanced Security features are enabled for all public repositories on GitHub.com, except for the security overview. Organizations that use GitHub Enterprise Cloud with Advanced Security can additionally enable these features for private and internal repositories. They also have access to an organization-level security overview.
To learn about what you need to know to plan your GitHub Advanced Security deployment at a high level, see "Overview of GitHub Advanced Security deployment."
To review the rollout phases we recommended in more detail, see "Deploying GitHub Advanced Security in your enterprise."
For public repositories these features are permanently on and can only be disabled if you change the visibility of the project so that the code is no longer public.
For other repositories, once you have a license for your enterprise account, you can enable and disable these features at the organization or repository level. For more information, see "Managing security and analysis settings for your organization" and "Managing security and analysis settings for your repository."
If you have an enterprise account, license use for the entire enterprise is shown on your enterprise license page. For more information, see "Viewing your GitHub Advanced Security usage."
Note: Starter workflows for Advanced Security have been consolidated in a "Security" category in the Actions tab of a repository. This new configuration is currently in beta and subject to change.