Skip to main content

This version of GitHub Enterprise was discontinued on 2022-06-03. 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. For help with the upgrade, contact GitHub Enterprise support.

About secret scanning

GitHub Enterprise Server scans repositories for known types of secrets, to prevent fraudulent use of secrets that were committed accidentally.

Secret scanning is available for organization-owned repositories in GitHub Enterprise Server if your enterprise has a license for GitHub Advanced Security. For more information, see "GitHub's products."

Note: Your site administrator must enable secret scanning for your GitHub Enterprise Server instance before you can use this feature. For more information, see "Configuring secret scanning for your appliance."

About secret scanning

If your project communicates with an external service, you might use a token or private key for authentication. Tokens and private keys are examples of secrets that a service provider can issue. If you check a secret into a repository, anyone who has read access to the repository can use the secret to access the external service with your privileges. We recommend that you store secrets in a dedicated, secure location outside of the repository for your project.

Secret scanning will scan your entire Git history on all branches present in your GitHub repository for secrets.

Service providers can partner with GitHub to provide their secret formats for scanning. To find out about our partner program, see "Secret scanning partner program" in the GitHub Enterprise Cloud documentation.

About secret scanning on GitHub Enterprise Server

Secret scanning is available on all organization-owned repositories as part of GitHub Advanced Security. It is not available on user-owned repositories. When you enable secret scanning for a repository, GitHub scans the code for patterns that match secrets used by many service providers. For more information, see "Secret scanning patterns."

If you're a repository administrator you can enable secret scanning for any repository. Organization owners can also enable secret scanning for all repositories or for all new repositories within an organization. For more information, see "Managing security and analysis settings for your repository" and "Managing security and analysis settings for your organization."

Versions 3.1 and lower of GitHub Enterprise Server do not allow you to define your own patterns for detecting secrets.

About secret scanning alerts

When you push commits to a repository with secret scanning enabled, GitHub scans the contents of those commits for secrets that match patterns defined by service providers.

If secret scanning detects a secret, GitHub generates an alert.

  • GitHub sends an email alert to the repository administrators and organization owners.

  • GitHub sends an email alert to the contributor who committed the secret to the repository, with a link to the related secret scanning alert. The commit author can then view the alert in the repository, and resolve the alert.

  • GitHub displays an alert in the "Security" tab of the repository.

For more information about viewing and resolving secret scanning alerts, see "Managing alerts from secret scanning."

Repository administrators and organization owners can grant users and teams access to secret scanning alerts. For more information, see "Managing security and analysis settings for your repository."

You can use the REST API to monitor results from secret scanning across your repositories. For more information about API endpoints, see "Secret scanning."

Further reading