# Telemetry

Atmos collects **anonymous telemetry** to help improve the product by understanding how it's used.
This data helps us identify which features are most valuable and where we can make improvements.

### What Data is Collected

Atmos collects the following anonymous information:

- **Command Usage**: Tracks which Atmos commands are executed (e.g., `atmos describe`, `atmos terraform`, `atmos helmfile`)
- **Error Reports**: Captures anonymized error messages and exit codes to help identify and fix issues
- **System Details**: Includes OS, CPU architecture, Atmos version, and other diagnostic metadata
- **CI Provider information**: If Atmos is running as part of CI workflow, CI provider name

:::info Privacy First
We **never** collect:

- Personal information (names, emails, IP addresses)
- Your actual configuration files or stack manifests
- Sensitive data or secrets
- Repository contents or code
  :::

### Atmos Pro Users

If you're using [**Atmos Pro**](https://atmos-pro.com), Atmos includes your **Workspace ID** with telemetry. This allows us to associate usage with your account and better support your team by understanding adoption and usage patterns.

### How Telemetry Works

Telemetry data is collected locally and sent securely to [PostHog](https://posthog.com/) analytics service. The data is:

- **Anonymous**: No personally identifiable information is included
- **Secure**: Transmitted over HTTPS with encryption
- **Minimal**: Only essential usage data is collected
- **Transparent**: You can see exactly what's being collected

### Opting Out of Telemetry

You can disable telemetry collection in any of the following ways:

Add the following to your `atmos.yaml` configuration file:

**File:** `atmos.yaml`

```yaml
settings:
  telemetry:
    enabled: false
```

or set environment variable `ATMOS_TELEMETRY_ENABLED` to `false`

### Collect your own telemetry

You can switch telemetry to your own [PostHog](https://posthog.com/) account:

Add the following to your `atmos.yaml` configuration file:

**File:** `atmos.yaml`

```yaml
settings:
  telemetry:
    enabled: true
    token: {provide your posthog token}
    endpoint: {provide your posthog endpoint}
```

or set environment variables `ATMOS_TELEMETRY_TOKEN` and `ATMOS_TELEMETRY_ENDPOINT` to your own values

### Telemetry Logging Configuration

By default, PostHog internal logging messages are suppressed to prevent cluttering your terminal output. If you need to debug telemetry issues, you can enable PostHog internal logging:

**File:** `atmos.yaml`

```yaml
settings:
  telemetry:
    logging: true  # Enable PostHog internal debug messages (default: false)
```

or set environment variable `ATMOS_TELEMETRY_LOGGING` to `true`

:::tip
PostHog logging is useful for debugging telemetry connection issues or when configuring your own PostHog instance. When enabled, PostHog internal messages will be routed through Atmos logging at the DEBUG level.
:::
