Which permissions does Codacy need from my account?¶
Codacy Cloud uses OAuth to handle logins. We support the following providers:
- GitHub Cloud
- GitLab Cloud
- Bitbucket Cloud
- Google Sign-In
Depending on the provider, we may request different permissions due to different OAuth implementations. We strive to request only the necessary permissions.
If you log in with GitHub, Codacy requires the following app permissions:
- Checks: Checks on code - Read & Write
- Issues: Issues and related comments, assignees, labels, and milestones - Read & Write
- Metadata: Search repositories, list collaborators, and access repository metadata - Read Only
- Pull requests: Pull requests and related comments, assignees, labels, milestones, and merges - Read & Write
- Webhooks: Manage the post-receive hooks for a repository - Read & Write
- Commit statuses: Commit statuses - Read & Write
- Administration: Create SSH keys - Read & Write. Codacy creates an SSH key on the repository to allow cloning and integrating with your repository.
- Members: Organization members and teams - Read Only
- Webhooks: Manage the post-receive hooks for an organization - Read & Write
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: Manage a user's email addresses - Read Only
- Git SSH keys: Create SSH keys - Read & Write
Codacy asks for permissions 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.
If you sign up with GitLab Cloud, Codacy requires the following permissions/scopes:
apipermissions to access the authenticated user's API
read_userpermissions to read the authenticated user's personal information
read_repositorypermissions to read the repositories
openidto authenticate using OpenID Connect
If you log in with Bitbucket, Codacy requires the following permissions/scopes:
- Read and modify your account information
- Read and modify your repositories' issues
- Read your workspace's project settings and read repositories contained within your workspace's projects
- Read and modify your repositories and their pull requests
- Administer your repositories
- Read your group membership information
- Read and modify your repositories' webhooks
If you log in with Google, Codacy requires the following permissions/scopes:
- Email permission
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 an 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 the 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 continue to 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.
Did this page help you?
Thank you for the feedback!