> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clideck.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Telemetry & Privacy

> How CliDeck uses telemetry, what data is collected, and where it goes

Telemetry is how CliDeck detects agent status. This page explains what data is involved and where it goes.

## What Telemetry Means in CliDeck

When we say "telemetry," we mean the **signals that CLI agents emit about their own activity**. These are OpenTelemetry (OTLP) log messages that agents like Claude Code, Codex, and Gemini CLI already support.

CliDeck runs a local OTLP receiver on port 4000 and configures the agents to send their logs there.

## Where Does the Data Go?

**Nowhere. It stays on your machine.**

The telemetry flow is:

```
CLI Agent → localhost:4000 → CliDeck → your browser
```

There is no cloud component. CliDeck doesn't have a backend service, doesn't phone home, and doesn't collect analytics. Everything runs locally.

## What Data Does CliDeck Receive?

From OTLP logs, CliDeck extracts:

| Data                  | Used For                                                           |
| --------------------- | ------------------------------------------------------------------ |
| Session ID            | Enabling session resume                                            |
| Event type and timing | Working/idle status detection (for Claude Code, Codex, Gemini CLI) |

CliDeck does **not** read:

* Your prompts or what you type to the agent
* The agent's full responses or generated code
* File contents or repository data
* API keys or credentials

## What About Working/Idle Detection?

For **Claude Code, Codex, and Gemini CLI**, working/idle status is driven by **telemetry event timing**. CliDeck sees *when* events happen (e.g., an API request started, a response finished) — not *what* was requested or returned. This gives accurate, real-time status without reading any content.

For **Shell sessions and custom agents** (which don't emit telemetry), CliDeck falls back to I/O heuristics — byte rates and burst timing. If output is flowing, the session is working. After 2 seconds of silence, it's idle.

## What About the Message Preview?

The sidebar preview (last message from the agent) comes from reading the terminal's output buffer — the same text you see in the terminal. This is local to your browser and is not sent anywhere.

## Can I Disable Telemetry?

Yes. Per agent:

1. Open **Settings** > **CLI Agents**
2. Select the agent
3. Toggle off **CliDeck integration**

Without telemetry, CliDeck still works as a terminal multiplexer. You lose:

* Accurate working/idle status for Claude Code, Codex, and Gemini CLI
* Session resume (no session ID capture)
* Telemetry setup detection

CliDeck falls back to I/O heuristics for status detection, which is less precise than telemetry.

## Auto-Setup: What Changes on My System?

When you click "Configure automatically" for an agent, CliDeck writes to the agent's config file:

| Agent       | File Modified                 | What's Added                                     |
| ----------- | ----------------------------- | ------------------------------------------------ |
| Codex       | `~/.codex/config.toml`        | `[otel]` section with OTLP endpoint              |
| Gemini CLI  | `~/.gemini/settings.json`     | `telemetry` object with local endpoint           |
| Claude Code | `~/.claude/settings.json`     | Lifecycle hooks for start/stop/idle/menu signals |
| OpenCode    | `~/.config/opencode/plugins/` | Bridge plugin auto-installed (one-click)         |

Disabling the integration in CliDeck settings removes these additions. CliDeck also detects existing configurations on startup — if you've already configured an agent, the integration is enabled automatically without repeating setup.
