Before you configureConfirm organizational readiness using the Pre-deployment checklist, which covers permission details and includes links to setup guides.
Permissions
The following tables list SCM roles and token or app scopes required for each Semgrep feature. Unless noted otherwise, pull request (PR) or merge request (MR) refers to a proposed set of code changes in your SCM. The Configure column links to setup guides for each feature.- Azure DevOps Cloud
- Bitbucket Cloud
- GitHub Cloud
- GitLab Cloud
GitHub permissions
Semgrep recommends connecting GitHub with a GitHub App. Some organizations use a personal access token (PAT) instead. Use the tabs below for the method that applies to you.- GitHub App (recommended)
- Personal access tokens
Public and private Semgrep GitHub Apps
New GitHub connections install a single private Semgrep GitHub App. Older organizations may still have the publicsemgrep-app from an earlier install path. You can uninstall the public app if it is no longer needed.The sections below describe the permissions each app can request.
Permissions when signing in with GitHub
Semgrep AppSec Platform requests the following standard permissions set by GitHub when you first sign in. However, not all permissions are used by Semgrep AppSec Platform.Click to review how Semgrep AppSec Platform uses permissions when signing in.
Click to review how Semgrep AppSec Platform uses permissions when signing in.
Verify your GitHub identity
Enables Semgrep AppSec Platform to read your GitHub profile data, such as your username.Know which resources you can access
Semgrep does not use or access any resources when first logging in. However, you can choose to share resources at a later point to add repositories into Semgrep AppSec Platform.Act on your behalf
Enables Semgrep AppSec Platform to perform certain tasks only on resources that you choose to share with Semgrep AppSec Platform. Semgrep AppSec Platform never uses this permission and never performs any actions on your behalf, even after you have installed
Enables Semgrep AppSec Platform to read your GitHub profile data, such as your username.Know which resources you can access
Semgrep does not use or access any resources when first logging in. However, you can choose to share resources at a later point to add repositories into Semgrep AppSec Platform.Act on your behalf
Enables Semgrep AppSec Platform to perform certain tasks only on resources that you choose to share with Semgrep AppSec Platform. Semgrep AppSec Platform never uses this permission and never performs any actions on your behalf, even after you have installed
semgrep-app. For more information, see What does ‘Act on your behalf’ mean? and GitHub Apps acting on your behalf in GitHub documentation.Public GitHub App permissions
The public GitHub integration app is calledsemgrep-app. This app integrates Semgrep into user-selected GitHub repositories.Click to review how Semgrep AppSec Platform uses public GitHub App permissions.
Click to review how Semgrep AppSec Platform uses public GitHub App permissions.
Reading metadata of the repositories you select
Enables Semgrep AppSec Platform to list repository names on the project setup page.Reading the list of organization members
Enables Semgrep AppSec Platform to determine who can manage your Semgrep organization based on your GitHub organization’s members list.Reading and writing pull requests
Enables Semgrep AppSec Platform to comment about findings on PRs. Read permissions allow Semgrep AppSec Platform to automatically remove findings when the PR that introduced them is closed without merging.Reading and writing actions
Enables Semgrep AppSec Platform to cancel stuck jobs, rerun jobs, pull logs from jobs, and perform on-demand scanning.Reading GitHub Checks
Facilitates debugging of Semgrep AppSec Platform when configured out of GitHub Actions.Reading and writing security events
Enables integration with GitHub Advanced Security (for example, to show Semgrep results).Reading and writing secrets
Enables the automatic adding of the Semgrep AppSec Platform Token to your repository secrets when onboarding projects. Note: Semgrep cannot read the values of your existing or future secrets (only the names).Reading and writing 2 files
Enables Semgrep AppSec Platform to configure itself to run in CI by writing to
Enables Semgrep AppSec Platform to configure itself to run in CI by writing to
Enables Semgrep AppSec Platform to list repository names on the project setup page.Reading the list of organization members
Enables Semgrep AppSec Platform to determine who can manage your Semgrep organization based on your GitHub organization’s members list.Reading and writing pull requests
Enables Semgrep AppSec Platform to comment about findings on PRs. Read permissions allow Semgrep AppSec Platform to automatically remove findings when the PR that introduced them is closed without merging.Reading and writing actions
Enables Semgrep AppSec Platform to cancel stuck jobs, rerun jobs, pull logs from jobs, and perform on-demand scanning.Reading GitHub Checks
Facilitates debugging of Semgrep AppSec Platform when configured out of GitHub Actions.Reading and writing security events
Enables integration with GitHub Advanced Security (for example, to show Semgrep results).Reading and writing secrets
Enables the automatic adding of the Semgrep AppSec Platform Token to your repository secrets when onboarding projects. Note: Semgrep cannot read the values of your existing or future secrets (only the names).Reading and writing 2 files
Enables Semgrep AppSec Platform to configure itself to run in CI by writing to
.github/workflows/semgrep.yml and .semgrepignore files.Reading and writing workflowsEnables Semgrep AppSec Platform to configure itself to run in CI by writing to
.github/workflows/semgrep.yml. GitHub allows writing to files within .github/workflows/ directory only if this permission is granted along with “Writing a single file.”Private GitHub App permissions
During the connection process, your organization creates a private GitHub App from Semgrep’s template, named Semgrep Code - YOUR_ORG_NAME. That app provides repository Contents access and related permissions for:- Semgrep Managed Scans
- Semgrep Multimodal and other AI-assisted features
- Semgrep Code Autofix
Click to review how Semgrep AppSec Platform uses private GitHub App permissions.
Click to review how Semgrep AppSec Platform uses private GitHub App permissions.
Reading metadata of the repositories you select
Lets Semgrep list their names on the project setup page.Reading the list of organization members
Lets Semgrep determine who can manage your Semgrep organization based on your GitHub organization’s members list.Writing (and reading) pull requests
Lets Semgrep comment about findings on PRs.Writing (and reading) actions
Allows Semgrep AppSec Platform to cancel stuck jobs, rerun jobs, pull logs from jobs, and perform on-demand scanning.Reading checks
Facilitates debugging of Semgrep AppSec Platform when configured out of GitHub Actions.Writing (and reading) security events
Enables integration with GitHub Advanced Security (for example, to show Semgrep results).Writing (and reading) secrets
Enables automatic adding of the Semgrep AppSec Platform Token to your repository secrets when onboarding projects. Note: Semgrep cannot read the values of your existing or future secrets (only the names).Writing (and reading) 2 files
Lets Semgrep configure itself to run in CI by writing to
Lets Semgrep configure itself to run in CI by writing to
Allows Semgrep Multimodal to fetch source code files on-demand to construct AI prompts.
Lets Semgrep list their names on the project setup page.Reading the list of organization members
Lets Semgrep determine who can manage your Semgrep organization based on your GitHub organization’s members list.Writing (and reading) pull requests
Lets Semgrep comment about findings on PRs.Writing (and reading) actions
Allows Semgrep AppSec Platform to cancel stuck jobs, rerun jobs, pull logs from jobs, and perform on-demand scanning.Reading checks
Facilitates debugging of Semgrep AppSec Platform when configured out of GitHub Actions.Writing (and reading) security events
Enables integration with GitHub Advanced Security (for example, to show Semgrep results).Writing (and reading) secrets
Enables automatic adding of the Semgrep AppSec Platform Token to your repository secrets when onboarding projects. Note: Semgrep cannot read the values of your existing or future secrets (only the names).Writing (and reading) 2 files
Lets Semgrep configure itself to run in CI by writing to
.github/workflows/semgrep.yml and .semgrepignore.Writing (and reading) workflowsLets Semgrep configure itself to run in CI by writing to
.github/workflows/semgrep.yml. GitHub allows writing to files within .github/workflows/ only if this permission is granted along with “Writing a single file.”Read source code of the repositories you selectAllows Semgrep Multimodal to fetch source code files on-demand to construct AI prompts.
Autofix permissions and API usage
Autofix uses your private Semgrep GitHub App with the permissions below. Use this section for security reviews of Autofix on GitHub, such as determining which GitHub operations require Contents: Read and write.Repository permissions
How repository contents are accessed
Semgrep Autofix reads and writes code only through the Git transport layer (clone and push), not through the APIcontents endpoints (GET or PUT /repos/{owner}/{repo}/contents/{path}). Git operations still require the GitHub Contents permissions above.Next steps
- Grant code access: configure code read or write access on an SCM connection
- Connect a source code manager: connect GitHub, GitLab, Bitbucket, or Azure DevOps
- Pre-deployment checklist: organizational readiness before setup
- Autofix: enable and use Autofix
- Semgrep Multimodal: enable Multimodal and related AI-assisted features
- GitHub Managed Scans: install the Semgrep GitHub App for Managed Scans