GitHub App Permissions

Socket is designed to work without the need to analyze, upload, or share your source code.

  • The only files we collect from your repository are dependency manifests, lockfiles, and related configuration files — collectively called the dependency snapshot. We use the dependency snapshot to determine the packages used by your repository, perform our open source risk analysis, and produce a report.

  • We never read, collect, or analyze your source code. Although the GitHub App requests read and write access to repository contents, this is solely because GitHub's permissions model does not support granting access to specific file patterns and because Socket needs write access to create Socket Patches in pull requests. We use read access only to retrieve the file tree listing (names and paths) and then download only the specific dependency manifest, lockfile, and related configuration file types listed below. All other files are filtered out before any content is fetched. Socket Patches are based on dependency data, not your source code; write access is used to create pull requests that present patch changes for review.

GitHub App permissions

Socket for GitHub requests the following permissions:

Repository permissions

PermissionAccessWhy Socket needs it
ChecksRead and writeCreate and update Socket check runs on commits and pull requests.
ContentsRead and writeRead dependency manifests, lockfiles, and related configuration files for analysis. Write access is required to create pull requests that present Socket Patch changes for review.
IssuesReadRead pull request bot commands in comments and report Socket results in pull request comment threads.
Merge queuesReadRead merge queue information so Socket can report results for merge queue events.
MetadataReadRequired by GitHub for all GitHub Apps. Used to identify repositories and basic repository metadata.
Pull requestsRead and writeRead pull request metadata and update pull requests with Socket results. Write access is required to open or update pull requests that present Socket Patch changes for review.

Organization permissions

PermissionAccessWhy Socket needs it
MembersReadRead organization membership information for account and organization access workflows.

Account permissions

PermissionAccessWhy Socket needs it
Email addressesReadRead email addresses associated with a GitHub account for account identification and access workflows.

Enterprise permissions

Socket for GitHub does not request any enterprise permissions.

Files collected by ecosystem

EcosystemFiles
npmpackage.json, package-lock.json, npm-shrinkwrap.json, yarn.lock, pnpm-lock.yaml/.yml, pnpm-workspace.yaml/.yml, rush.json
Python (PyPI)pyproject.toml, poetry.lock, uv.lock, pylock.toml/pylock.*.toml, Pipfile, Pipfile.lock, setup.py, PKG-INFO, METADATA, requirements.frozen, requirements.bazel.txt, requirements.lock, requirements.bazel.lock, requirements.txt (and variants like dev-requirements.txt, requirements/*.txt)
Java (Maven/Gradle)pom, pom.xml, *-*.pom, *-*.pom.xml, *.gradle, *.gradle.kts, gradle.lockfile, .mvn/maven.config, libs.versions.toml, build.sbt, ivy.xml, project.clj, Buildfile, maven_install.json, *_maven_install.json
Gogo.mod, go.sum
Ruby (RubyGems)Gemfile, Gemfile.lock
Rust (Cargo)Cargo.toml, Cargo.lock
.NET (NuGet)*.sln, *.*proj, *.nuspec, *.props, *.targets, *.projitems, packages.config, packages.*.config, packages.lock.json
PHP (Composer)composer.json, composer.lock
SwiftPackage.swift (including version-specific variants like [email protected]), Package.resolved
Chrome extensionsmanifest.json
SBOM formatsCycloneDX (bom.json, bom.xml, cdx.json, cdx.xml, cyclonedx.json, cyclonedx.xml, and variants like *-cdx.json or *.cyclonedx.xml), SPDX (*.spdx.json, *-spdx.json)
GitHub Actions.github/workflows/*.yml/.yaml, .github/workflow.yml/.yaml, action.yml/.yaml
Socket*.socket.facts.json