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):
| Category | Details |
|---|---|
| Command invocation | Command and subcommand name, duration, success or failure, error type and error message (sanitized) |
| Runtime environment | OS type and release, CPU architecture, Node.js version, CLI version |
| Device identifier | A SHA256 hash (first 32 characters) derived from hostname, CPU model and NIC MAC addresses — not reversible |
| Account and environment | Login account ID and current environment ID (only when logged in or an environment is specified) |
| Caller origin | The 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=0or=falsedisables 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)