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."
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. Organizations that use GitHub Enterprise Cloud with Advanced Security can additionally enable these features for private and internal repositories.
To learn about what you need to know to plan your GitHub Advanced Security deployment at a high level and to review the rollout phases we recommended, see "Adopting GitHub Advanced Security at scale."
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.