Telemetry
Atmos collects anonymous usage telemetry to help us understand how the tool is used and where to invest engineering effort. Telemetry is fully opt-out and never includes personal information, repository contents, or stack values. The settings.telemetry section gives you complete control over whether events are sent and where they go.
You will learn
- Disable telemetry entirely with a single setting or environment variable
- Override the endpoint and token to send events to your own collector
- No user data, repository paths, or stack values are ever transmitted
- Diagnostic logging can be enabled to inspect every event before it's sent
Configuration
atmos.yaml
To opt out completely:
atmos.yaml
Or via environment variable:
export ATMOS_TELEMETRY_ENABLED=false
Configuration Reference
settings.telemetry.enabledControls whether Atmos sends anonymous usage events. When
false, no telemetry is collected or transmitted regardless of any other setting.- Type:
boolean - Default:
true - Environment Variable:
ATMOS_TELEMETRY_ENABLED
- Type:
settings.telemetry.endpointOverride the endpoint that telemetry events are sent to. Most users should leave this unset; it's intended for organizations that want to route Atmos telemetry to their own collector for internal observability.
- Type:
string - Default: (built-in default endpoint)
- Environment Variable:
ATMOS_TELEMETRY_ENDPOINT
- Type:
settings.telemetry.tokenOverride the API token used to authenticate with the telemetry endpoint. Pair this with
endpointwhen sending events to your own collector. Most users should leave this unset.- Type:
string - Default: (built-in default token)
- Environment Variable:
ATMOS_TELEMETRY_TOKEN
- Type:
settings.telemetry.loggingEnable diagnostic logging for the telemetry client. When
true, every event the telemetry client emits is also logged through Atmos' standard logger so you can audit exactly what is being sent. Whenfalse, the telemetry client runs silently. Disabled by default to keep CI logs clean.- Type:
boolean - Default:
false - Environment Variable:
ATMOS_TELEMETRY_LOGGING
- Type:
Environment Variables
Environment variables take precedence over atmos.yaml settings.
ATMOS_TELEMETRY_ENABLED- Set to
falseto disable telemetry. Maps tosettings.telemetry.enabled. ATMOS_TELEMETRY_ENDPOINT- Override the telemetry endpoint URL. Maps to
settings.telemetry.endpoint. ATMOS_TELEMETRY_TOKEN- Override the telemetry API token. Maps to
settings.telemetry.token. ATMOS_TELEMETRY_LOGGING- Enable verbose telemetry diagnostic logging. Maps to
settings.telemetry.logging.
What Atmos Collects
Atmos telemetry is designed to capture only the minimum information needed to understand product usage. Events include:
- The Atmos command that was run (e.g.,
terraform plan,list components) - Whether the command succeeded or failed
- Atmos version, OS, and architecture
- An anonymous, randomly generated machine identifier
Atmos never collects:
- Repository contents, file paths, or stack manifest values
- Component names, stack names, or variable values
- Environment variable values
- AWS account IDs, ARNs, or any cloud credentials
- Personally identifiable information
Use Cases
Disable in CI
Many teams prefer to keep CI logs clean and avoid any outbound telemetry from automation. Disable globally with an environment variable in your CI configuration:
export ATMOS_TELEMETRY_ENABLED=false
Route to a Self-Hosted Collector
Organizations with strict data-egress policies can route Atmos telemetry to their own internal endpoint:
atmos.yaml
Audit What's Being Sent
To verify exactly what Atmos sends, enable diagnostic logging:
atmos.yaml
The telemetry client will log every event through Atmos' standard logger.
Telemetry is sent asynchronously and never blocks command execution. If the telemetry endpoint is unreachable, the event is dropped silently — Atmos commands always succeed or fail based on their own work, not on telemetry delivery.