Which permissions does Codacy need from my account?¶
Codacy Cloud uses the OAuth protocol to handle logins and supports the following providers:
Codacy requests only the necessary permissions from your Git provider to analyze your code and keeps your information secure. See the sections below for the detailed list of permissions that Codacy asks for depending on the provider.
If you log in with GitHub, Codacy requires the following app permissions:
|Checks||Read & Write||Codacy creates and updates check runs with the results of code analysis.|
|Issues||Read & Write||Codacy can create GitHub issues from issues found during code analysis.|
|Metadata||Read Only||Codacy retrieves repository metadata, such as name, languages, collaborators and commit information.|
|Pull requests||Read & Write||Codacy retrieves pull request information to display on its side. Codacy might also create comments and suggestions on the pull request, according to the results of code analysis.|
|Webhooks||Read & Write||Codacy creates webhooks for code pushes and pull request events (created, merged, etc.). These events might trigger code analysis.|
|Commit statuses||Read & Write||Codacy sets the status of commits according to the result of code analysis.|
|Administration||Read & Write||Codacy creates an SSH key on the repository to allow cloning and integrating with your repository.|
|Webhooks||Read & Write||Codacy creates webhooks for organization and repository events (creation, deletion, member added, etc.) to enable synced organizations.|
|Members||Read Only||Codacy retrieves information about organization members and teams to enforce permissions, enable synced organizations and user management.|
These permissions are granted on an individual user basis as part of the user authorization flow. They will be also be displayed during account installation for transparency.
|Email addresses||Read Only||Codacy retrieves the user's email addresses to enforce which commits are eligible for analysis.|
|Git SSH keys||Read & Write||Codacy creates an SSH key on the repository to allow cloning and integrating with your repository.|
If you sign up with GitLab Cloud, Codacy requires the following permissions/scopes:
||Codacy uses GitLab's API to read and update pull requests, create webhooks for code push events, list commits, repositories, groups, members and permissions.|
||Codacy retrieves the user's email addresses to enforce which commits are eligible for analysis.|
||Codacy retrieves repository metadata, such as name, languages and collaborators.|
||Codacy uses this permission for authentication using OpenID Connect.|
If you log in with Bitbucket, Codacy requires the following permissions/scopes:
|Scope and permissions||Description|
||Codacy retrieves the user's email addresses to enforce which commits are eligible for analysis. Furthermore, Codacy creates an SSH key on the repository to allow cloning and integrating with your repository.|
||Codacy retrieves repository metadata, such as name, languages and collaborators, and commit information. Codacy creates an SSH key on the repository to allow cloning and integrating with your repository (see box above).|
||Codacy retrieves pull request information to display on its side. Codacy might also create comments on the pull request, according to the results of code analysis.|
||Codacy can create Bitbucket issues from issues found during code analysis.|
||Codacy creates webhooks for code pushes and pull request events (created, merged, etc.). These events might trigger code analysis. Codacy also creates repository webhooks to enable synced organizations.|
||Codacy uses your group/team membership information to enforce permissions.|
|Read your workspace's project settings and read repositories contained within your workspace's projects.|
If you log in with Google, Codacy requires the
Revoking access to integrations¶
To revoke the access from Codacy to one or more of the OAuth providers:
- Click on your avatar on the top right-hand corner and select Your Account, tab Access Management.
The Access Management page lists all current integrations with Git providers or Google that you used to sign in or log in to Codacy. To revoke access to an integration, click the button Revoke access for the intended integration.
To ensure that the integration is removed not only on Codacy but also on the integration side, we recommend that you follow the instructions on how to revoke the Codacy OAuth application on your provider:
After revoking an integration, Codacy will no longer be able to access or manipulate resources that require API calls, such as detecting new pull requests or adding comments to pull requests. However, Codacy will still be able to perform operations that only require using the Git protocol either via SSH or HTTPS, such as detecting new commits and calculating diffs. To remove your repositories from Codacy and stop the analysis you must delete them from your Codacy account.
If you need to use an integration that you have previously revoked, log in again to Codacy with that integration so that Codacy can request the required permissions from the provider.
Why does Codacy ask for permission to create SSH keys?¶
Codacy asks for permission to create SSH keys because it needs to create an SSH key in your account in the following situations:
- If your repository uses submodules, so that Codacy can clone the repositories for each submodule
- If Codacy fails to integrate with a repository using the repository key, so that Codacy can continue to perform analysis
Codacy only adds read-only SSH keys to be able to clone repositories and won't have access to any of your existing SSH keys. You have full control over which organizations and repositories Codacy is authorized to access, and you can also revoke the keys created by Codacy at any time. Codacy doesn't change the contents or member privileges of any repository you authorize it to analyze.
We understand the desire for security and privacy and find that the SSH protocol is preferable to HTTPS as it separates Codacy's access rights from the one of the users.
Did this page help you?
Thank you for the feedback!
We're sorry to hear that. Please let us know what we can improve.