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

# Privacy Mode

> One flag routes all LLM traffic through local Ollama, with a persistent, auditable log of everything else that leaves your machine.

Privacy mode forces every LLM request to local Ollama regardless of the configured provider — a single switch, not a per-component opt-in.

## Enable

Via a slash command in any channel:

```
/privacy on
/privacy         # show current state
/privacy off
```

Or via the REST API:

```bash theme={null}
curl -X POST http://localhost:7432/api/v1/settings/model \
  -H "Content-Type: application/json" \
  -d '{"privacy_mode": true}'
```

This is a runtime toggle on the live `ModelRouter` — it isn't written back to `config.toml`, so it resets to `false` on the next gateway restart. Set it again after restarting if you want it always on.

## What changes

| Component         | Default                                           | Privacy mode                                  |
| ----------------- | ------------------------------------------------- | --------------------------------------------- |
| LLM               | Configured provider (`primary`/`fallback`/`fast`) | Forced to Ollama (local)                      |
| STT               | faster-whisper (already local)                    | Unchanged                                     |
| Embeddings        | sentence-transformers (already local)             | Unchanged                                     |
| Privacy audit log | Always recording                                  | Unchanged — now shows zero external LLM calls |

STT (faster-whisper) and embeddings (sentence-transformers) already run fully locally regardless of privacy mode.

## Local model requirements

1. **Ollama** running locally: `ollama serve`
2. A local model pulled: `ollama pull llama3.2:1b` (or your configured `models.local` ID)

## Verifying zero external calls

The privacy audit log records the destination host of every outbound HTTP call and **persists across restarts** (SQLite at `~/.neuralcleave/privacy_audit.db`, 90-day retention). After enabling privacy mode, a fresh session's report should show no external destinations:

```bash theme={null}
curl "http://localhost:7432/api/v1/privacy/report?session_id=<your-session-id>"
```

```json theme={null}
{ "session_id": "<your-session-id>", "total": 0, "unique_destinations": [], "entries": [] }
```

See [Privacy API](/api-reference/privacy) for the full report/clear reference.

## Competitive context

OpenClaw's equivalent privacy controls are opt-in per-module. NeuralCleave's `/privacy on` (or `privacy_mode: true`) is a single switch that enforces the LLM-traffic constraint and gives an auditable, persistent proof via the report endpoint.
