How Snyk handles your data
Snyk is a developer security platform and thus Snyk places the utmost importance on data security. Fully understanding your privacy and security needs, Snyk provides this document with the goal of providing you with transparency as to how and what data is accessed, transferred, and stored by Snyk.
The data handled by Snyk varies depending on the product you are using, how you are integrating with Snyk, and your Snyk deployment. Because Snyk is subject to fast moving changes, the types of data accessed and stored might change with the introduction of a new capability or changes to an existing capability.
Snyk leverages the latest software development practices and technologies to provide customers with the flexibility to use Snyk’s developer security platform in the manner that best suits the needs of their business.
Snyk’s cloud-first deployment options offer ease of use and scalability while also providing the required level of data protection with multi- and single-tenancy options supported in the US, EU, and AUS. Additional regions will be supported in the future.
- Multi-Tenant SaaS: The simplest, most common, and most cost-effective way to use Snyk’s developer security platform
- Single-Tenant SaaS: Private Cloud - An isolated and fully managed instance of the Snyk developer security platform on AWS
- Snyk Broker: A client service that is installed on your private infrastructure, acting as a proxy between the Snyk developer security platform (multi or single tenant) and your on-premise codebase. Snyk Broker securely handles inbound and outbound connections, encrypting data during transit, and deliberately controlling the access Snyk has to your data. Sensitive credentials stay behind your firewall.
Be sure to reach out to your Snyk contact for more details on how these different options can be leveraged to meet your needs.
Snyk provides a wide range of development tools and integration points, requiring different types of data, and involving different data interactions. The sections that follow provide an overview of both the common types of data Snyk accesses and stores and product and integration-specific types. The information is reviewed at a minimum of twice per year or when a significant change occurs within the product operations.
- Vulnerability data - Snyk stores information on the vulnerabilities identified in customer applications and related fix context.
- Vulnerability source - Snyk stores information on where the vulnerability was identified. Examples: source code repository or registry, file name and location, dependency tree, vulnerability path.
- Integration-related data - Snyk stores information required to set up an integration with Snyk. Examples: tokens and configurations.
- User data - Snyk stores user information required to access and use the platform. Examples: user name, IDs (for example, GitHub user ID), email address, IP address.
- User list - For purposes of an accurate contributor counting, Snyk accesses commits from the last 90 days for repositories monitored. Upon request, an unhashed version of user emails is produced.
- Billing data - Snyk stores information required for billing your Snyk account.
- User behavior analytics - Snyk stores various types of information pertaining to usage patterns. Examples: platform navigation, executed CLI commands.
Snyk knows how important it is for you to protect your data. Snyk products only access and store the information needed to provide you with Snyk services and to ensure accurate analysis.
Snyk Open Source
Snyk Open Source
- Snyk accesses manifest files, lock files, and related configuration files in order to identify your open-source dependencies.
- By default, Snyk does not access your source code with this exception: for CLI scans using the
--unmanagedoption, Snyk accesses your source code files to convert them to file signatures (hashes) and store the file signatures and file names.
- For SCA Scans Snyk does not access your source code.
- Snyk accesses and stores the names and version numbers of your dependencies.
- Snyk stores the names of associated licenses, including copyright and attribution information.
- Snyk accesses and stores repository-specific information.
- Snyk accesses and stores Git provider push and pull specific information. Examples: contributor name, filenames, timestamps.
Optional ADD-ONS (opt-in)
- For Reachable Vulnerabilities computation - Snyk stores your source code to facilitate the building of a call graph. Once the analysis completes, your code is removed from the Snyk system. Only the call graph and function names are maintained.
- For Lambda integration only - Snyk pulls a short term copy then destroys it as part of analysis.
- Snyk accesses your repository code for a one-time analysis, caching it for a period of up to 12 hours. After this period, only the location (file path, line, and column) of the issues found, the issue id, and explanations are maintained. Your code is removed and is not stored in the Snyk network or logs.
- Results are stored in a database and used for analytic and monitoring purposes by Snyk.
- When you are viewing Snyk Code issue details on the Snyk Web UI, note that the associated files are loaded and cached for up to 12 hours.
- Snyk Code does not use any customer code (1) for engine training purposes or (2) to extract examples to show possible fixes.
- The scan results do not contain original source code but rather pointers to positions (for example, files, line, and column numbers), plus identification meta-information so that results are displayed using the correct version of the source code.
- Snyk stores repository-specific information. Examples: Name of the Git repository and file names.
- The server infrastructure ensures separation between customers by using authentication and authorization. Snyk Code uses software controls to ensure customer data segregation. All communication is encrypted using high-grade industry-standard protocols.
- Snyk accesses and stores package versions, executable hashes and versions, operating system, container image metadata (for example, rootfs hashes, history), image ID.
- Snyk accesses and stores information pertaining to the parent image - name, version, tag.
- Snyk accesses and stores RUN instructions from Dockerfile.
- Kubernetes configurations - Snyk accesses workload security settings (for example, ‘run as root’). This is only accessed if you use Snyk’s Kubernetes integration.
- Container registry integrations - Snyk accesses and then stores a short term copy of the container image (unless a broker is used). This copy is removed from the Snyk network after analysis.
Snyk Infrastructure as Code
- CLI tests are performed locally. When results are shared with the Snyk platform via the
--reportoption, resource configurations are also included.
- SCM tests require access to your infrastructure as code files. Snyk stores them for the duration of the analysis and subsequently deletes them from the Snyk system. Snyk retains parsed resource configurations to provide context for issues and resources.
- Terraform Cloud and Terraform Enterprise tests analyze plan files. Snyk removes secrets and sensitive values and retains resource configurations to provide context for issues and resources.
- Snyk relies on local read-only Terraform State file access, and extracts and sends relevant resource configuration data to the platform.
- Snyk Cloud scans cloud platform APIs to gather information on configured infrastructure deployed in AWS Accounts and Google Cloud Subscriptions.
- To perform scans, Snyk relies on the principle of least privilege, leveraging different authentication mechanisms which are supported by each Cloud platform.
- For Amazon Web Services (AWS), a read-only AWS IAM role must be provisioned in your AWS Account(s) to provide secure access to required AWS APIs.
- For Google Cloud, a read-only Google Cloud Service Account must be provisioned to enable secure access to required Google Cloud APIs.
- During scans, Snyk gathers and stores a resource configuration state to perform analysis, and stores the results of that analysis, including the details of misconfigurations which result in issues.
- Snyk Cloud retains resource configuration states found in scans to provide context for Issues and resources, but does not store secrets or sensitive values.
Soc 2 Type 2 AICPA Soc
Snyk is certified to ISO 27001:2013 with the additional objective controls of ISO 27017:2015.
Coalfire ISO 27001 certified ISO
For additional information, see the following pages on the Snyk website: