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

> ## Agent Instructions
> These docs moved from docs.flintai.dev to docs.switchagents.ai. Use docs.switchagents.ai for every link and request.
> To search these docs from an AI tool, connect the MCP server at https://docs.switchagents.ai/mcp. The page index is at https://docs.switchagents.ai/llms.txt.

# Data privacy

> What data Switch Trust CLI sends to LLM providers

Switch Trust CLI runs on your machine, but several features can call external LLM providers. This can be configured via `GENERATOR_MODEL` (located in `~/.flintai/.env`, created by `flintai init`).

You can set this to a:

* Remote managed LLM: `gemini`, `openai`, or `anthropic`
* Locally hosted LLM: `litellm` or `ollama`

## Summary

How Switch Trust CLI handles your data depends on the features you use:

* **Stays on your machine:** File discovery, static analysis tools, PII/secret/toxicity detection, and Garak detectors run entirely locally with no external API calls.
* **Sent to your configured LLM:** AI-powered scan reasoning, triage, adversarial probe generation, and LLM-as-judge scoring send source code, prompts, and/or model responses to the provider you configure via `GENERATOR_MODEL` (`gemini`, `openai`, `anthropic`, `litellm`, or `ollama`).
* **Sent to the model you're testing:** Evaluation prompts (including adversarial content) are sent directly to the agent or model endpoint you specify in your eval config.

The tables below show exactly what Switch Trust CLI sends to the LLM in each command path.

## `flintai scan`

| Layer | Runs locally | Sends to LLM |
| - | - | - |
| File discovery | Yes | — |
| Static analysis (bandit, opengrep, detect-secrets, pip-audit) | Yes | — |
| AI reasoning | No | Source code snippets, import chains, and file contents from the scanned codebase |
| Triage | No | All findings plus surrounding code context for severity validation |

The AI reasoning and triage layers are powered by the LLM configured via `GENERATOR_MODEL`. If no LLM provider is configured, these layers are skipped and the scan produces only static analysis results.

## `flintai eval`

| Component | Runs locally | Sends to LLM |
| - | - | - |
| Prompt delivery | Yes/No | Prompts (including adversarial ones) are sent to the **target model/agent** you are evaluating |
| Adversarial probe generation | No | The configured LLM (`GENERATOR_MODEL`) generates attack prompts and judges responses |
| Topic guard generation | No | The configured LLM generates out-of-scope test prompts |
| LLM-as-judge detectors | No | Model responses are sent to the configured LLM for scoring |
| PII detector | Yes | — |
| Secret detector | Yes | — |
| Toxicity classifier | Yes | — |
| Garak detectors | Yes | — |

Evaluations that use LLM-based generation or judging (adversarial probes, topic guards, LLM-as-judge detectors, quality metrics) require a configured LLM provider. Message-collection evaluations with local-only detectors (PII, secrets, toxicity) work without one.

## Usage analytics

Separately from the LLM traffic above, the CLI can share anonymous usage analytics so we can see which features get used and where the tool is slow or failing. It asks on first run, and nothing is sent unless you agree. Analytics never include your code, file paths, prompts, model responses, findings, or API keys.

See [`FLINTAI_TELEMETRY_CONSENT`](/switch-trust-cli/reference/env-vars#flintai-telemetry-consent) for what's shared and how to change your answer.

## Configuration

Configure your LLM provider in `~/.flintai/.env` or via environment variables. See [Environment variables](/switch-trust-cli/reference/env-vars) for details.
