Skip to main content

Data Privacy and the CLI

What data does the Atlas CLI collect?

This document explains what data the Atlas CLI collects and how we use it.

Anonymous Telemetry

When you run the Atlas CLI, we may collect anonymous telemetry data to help us understand how users are using the CLI and provide better support. This includes things like the commands you run, general statistics and information about the runtime environment. Under no circumstances do we collect any personally identifiable information or sensitive data. This is further detailed in our Privacy Policy and the Atlas EULA.

If you wish to opt-out of telemetry data collection, you can do so by setting the ATLAS_NO_ANON_TELEMETRY environment variable to true. This will disable all anonymous telemetry collection.

Identified Users

Logged-in Users

The following section pertains only relevant to users who have created an Atlas Pro account (free trial or paid) and are logged in to the CLI.

As a database management tool, Atlas has access to a lot of sensitive data. We take privacy and security very seriously, and we want to be transparent about what data we collect and how we use it.

If you want the full details in formal and legal language you can read our Privacy Policy and SaaS Agreement which you sign when you create an account, but here is a summary of the data we collect in layman's terms.

Data we DON'T collect

  • Your Data: We don't collect any data from your databases. We don't know what data you have in your databases, and we don't have access to it.
  • Your Database Passwords: We don't collect, transmit or store your database passwords.
  • Your database schema or migrations: Unless you explicitly use a command or a flag that sends us your Atlas schema or migrations (as described below), we don't collect, transmit or store your database schema, migrations or execution logs.

Data we DO collect

  • Errors and Crashes - We collect error and crash reports to help us improve Atlas. This includes things like the stack trace of the error, the command you were running, and the version of the CLI/Agent you were using. We are very careful not to collect and transmit any sensitive data in these reports.

  • Data you choose to report - Some Atlas commands, such as migrate push (which is used to upload your migration directory to the Atlas Schema Registry) or flags (like running schema inspect with the --web or -w flag), naturally involve sending us data such as your Atlas schema definition (SQL or HCL), migrations, or related metadata. See below for more details on these commands and flags.

  • Basic Telemetry - We collect basic telemetry data to help us understand how users are using the CLI and to enforce license restrictions.

    This includes things like the commands you run, general information about the runtime environment like OS version or if you're running it in CI/CD environment such as GitHub Actions, your local hostname, the type of database you're using, and the version of the CLI you're using. We also collect identifiers that help us enforce license terms, prevent license sharing between team members, and ensure usage stays within your purchased quota for projects and databases as described in our pricing page.

    We are very careful not to collect and transmit any sensitive data in these reports.

We only collect what you send us

In principle, aside from basic telemetry and error reporting (with no sensitive data), we only collect data that you explicitly choose to send us. Consider the following list of commands and flags that send us data:

  • schema inspect when used with the --web or -w flag: This flag opens a web browser to view the schema of your database. This the schema of your database.
  • migrate push: This command uploads your migration directory to the Atlas Schema Registry. This includes your schema and migrations.
  • migrate apply when used with a directory that is stored in the schema registry (e.g the url has a atlas:// prefix) AND the --env flag is used: This flag applies a migration from the Atlas Schema Registry to your database and uploads the execution logs to Atlas Cloud, updating the status of the target database in your account. We also store the hostname of the target database to help you identify which database the logs belong to.
  • schema push - This command uploads your Atlas schema to the Atlas Schema Registry. This includes your schema definition in SQL or HCL format.
  • schema plan when used with a mode that pushes to the registry: This command uploads the generated migration plan to the Atlas Schema Registry.
  • schema apply when used with a schema that is stored in the schema registry (e.g. the URL has an atlas:// prefix) AND the --env flag is used: This applies a schema from the Atlas Schema Registry to your database and uploads the execution logs to Atlas Cloud, updating the status of the target database in your account. We also store the hostname of the target database to help you identify which database the logs belong to.
  • migrate lint when used with the --web or -w flag, or via CI using an Atlas Registry repository: This command sends your migrations, schema, trigger URL, SCM user, and related metadata to Atlas Cloud. This enables visual reporting and auditing schema changes.

How do we use the data we collect?

We use the data we collect to enforce licensing, improve the CLI, and provide better support to our users. This includes things like:

  • Fixing bugs and crashes
  • Improving the performance of the CLI
  • Understanding how users are using the CLI
  • Providing better experience to users

We don't sell your data to third parties, and use it strictly in compliance with our Privacy Policy as well as applicable laws and regulations. We take data privacy and security very seriously and hold ourselves accountable to the highest standards. To ensure this commitment is upheld we perform an annual SOC 2 audit which you can read more about here.