Skip to main content

Telemetry and Data Reporting

CloudBase CLI collects anonymous usage data to improve the product, diagnose failures, and understand how features are used. This page describes what is reported, how it is sanitized, and how to turn reporting off.

What is reported​

CLI reports the following data while commands execute (on success, failure, and invalid commands):

CategoryDetails
Command invocationCommand and subcommand name, duration, success or failure, error type and error message (sanitized)
Runtime environmentOS type and release, CPU architecture, Node.js version, CLI version
Device identifierA SHA256 hash (first 32 characters) derived from hostname, CPU model and NIC MAC addresses — not reversible
Account and environmentLogin account ID and current environment ID (only when logged in or an environment is specified)
Caller originThe detected AI coding tool name (e.g. codebuddy), how it was detected and the confidence, plus the names of the environment variables used as evidence

About "Caller origin"​

CLI detects whether the command is running inside an AI coding tool session (such as Cursor or CodeBuddy) in order to improve the experience there. Only the normalized tool name (e.g. codebuddy) and the names of the environment variables used as evidence are reported — variable values are never reported.

When detection fails the field is simply absent; placeholder values such as unknown are never used.

Data sanitization​

All reported data is sanitized before being sent:

  • Credential fields (SecretId, SecretKey, Token, password, etc.) are replaced entirely with [REDACTED]
  • Command-line arguments (argv): sanitized by argument name first, then by text patterns — covering temporary credentials, JWTs and long secrets inlined in arguments
  • Error messages and stack traces (message, stack): secrets are matched and sanitized by text pattern
  • JWT-like strings are replaced entirely

Turning reporting off​

Set the environment variable TCB_DISABLE_REPORT to any non-empty value to disable all data reporting.

# For a single command only
TCB_DISABLE_REPORT=1 tcb env list

# For every command in the current terminal session
export TCB_DISABLE_REPORT=1

To disable it permanently, add it to your shell profile:

# zsh (default on macOS)
echo 'export TCB_DISABLE_REPORT=1' >> ~/.zshrc

# bash
echo 'export TCB_DISABLE_REPORT=1' >> ~/.bashrc

Once disabled, CLI sends no reporting requests at all, and every feature keeps working as usual.

The variable takes effect whenever it is non-empty — even TCB_DISABLE_REPORT=0 or =false disables reporting, since CLI checks whether a value exists rather than whether it is truthy. It takes the highest precedence; no other switch can override it.

Reporting behavior​

  • Reporting happens asynchronously in the background — it never blocks or alters command output
  • Failures are silently ignored: commands are never interrupted and no error is printed
  • The endpoint is Tencent Beacon (otheve.beacon.qq.com)