Cloudsmith CLI

CLI telemetry

The Cloudsmith CLI sends anonymized error reports to help improve the product. Learn what data is collected and how to opt out.

Note

Telemetry applies to Cloudsmith CLI v1.30.0 and later. Earlier versions don't send error reports.

Why the CLI collects telemetry

When the CLI fails with an unexpected error, a report shows Cloudsmith which command failed, where in the code it failed, and on which platform. This helps Cloudsmith find and fix bugs, including ones that no one reports.

The CLI sends a report only for errors caused by a bug in the CLI. It doesn't send reports for:

  • Invalid commands, options, or arguments
  • Errors returned by the Cloudsmith API, such as authentication or permission errors
  • Malformed configuration files

Reporting doesn't change the CLI's output or exit status, and never delays a failing command by more than two seconds.

What a report contains

A report contains:

  • The exception type and a scrubbed exception message
  • The stack trace: function names, module names, line numbers, and file paths with user-specific locations removed
  • The command name, such as repositories gpg create
  • The CLI version and installation method
  • The operating system and version, CPU architecture, and Python version

Before sending, the CLI removes email addresses, IP addresses, URLs, file paths, and workspace, repository, and package names from exception messages.

Reviewing telemetry

The Cloudsmith CLI is open source. Review the telemetry implementation in cloudsmith_cli/core/telemetry.py in the cloudsmith-cli repository.

How to opt out

Opt out using an environment variable or a configuration option.

Environment variables:

shell
export CLOUDSMITH_NO_TELEMETRY=true

1, true, and yes all work. You can also use the DO_NOT_TRACK convention:

shell
export DO_NOT_TRACK=true

Config file:

Set telemetry under [default] in config.ini:

ini
[default]
telemetry=false

Note

Any one of these options disables telemetry. Setting telemetry=true in config.ini doesn't override the environment variables.

Where data is sent

Error reports are sent to a third-party error-monitoring service that processes them on Cloudsmith's behalf.