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

# Data privacy

> What data Flint AI sends to LLM providers

Flint AI 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 Flint AI 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 will be sent 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.

## Configuration

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