Telemetry
What Rayfin CLI telemetry records, what it never records, and the environment variables that control telemetry.
The Rayfin CLI collects anonymous usage telemetry unless you opt out. On first run it prints a notice with the opt-out variable.
Collected
- Command name.
- Flag names that were passed, never flag values.
- Success, cancellation, or failure classification.
- Sanitized error type/name/message with file paths and stack traces removed.
- Duration.
- OS and Node.js version.
- Anonymous installation identifier from
~\.rayfin\dev-device-id. - Telemetry environment label derived from CI/dev-container signals or
RAYFIN_TELEMETRY_ENV.
Not collected
Rayfin CLI telemetry does not collect project names, workspace names, file contents, connection strings, secret values, flag values, or command arguments.
Opt out
export RAYFIN_TELEMETRY_OPTOUT=1When telemetry is off, the CLI does not create ~\.rayfin\dev-device-id.
Environment label override
RAYFIN_TELEMETRY_ENV overrides the environment label. Values are trimmed and lowercased.
Known labels include github-actions, azure-pipelines, gitlab-ci, jenkins,
codespaces, devcontainer, local, and other. Custom labels may contain 1–64 ASCII
letters, digits, hyphens, or underscores. Invalid non-empty values map to other; an
empty value uses automatic detection.
Do not put identifying or sensitive values in RAYFIN_TELEMETRY_ENV.
Endpoint override
RAYFIN_APPINSIGHTS_CONNECTION_STRING overrides the Application Insights endpoint used by
the CLI and VS Code extension. It is intended for contributors and controlled test
environments.
Set `RAYFIN_TELEMETRY_OPTOUT=1` in my CI workflow environment so Rayfin CLI commands do
not send usage telemetry from automated runs.