Privacy & Data Controls
RAG Assistant is designed so you decide how much, if anything, leaves your machine. Indexing runs on your own CPU and everything is stored locally; retrieval happens on your device before any LLM is called.
Local by default
If you use a local model via Ollama or LM Studio, nothing leaves your machine at all — your PDFs, your queries, and the generated answers stay on your computer.
When you use a cloud provider
If you choose a cloud provider (OpenAI, Anthropic, Google, Mistral, Groq, OpenRouter), the only data sent to its API is:
- your query,
- the 10–12 text chunks retrieved from your library for that query, and
- earlier responses from the same chat session (for follow-up context).
Your full library is never uploaded — only the passages retrieved for the current question.
Shielding parts of your library
If you use a cloud model but want to keep some material off it, you can exclude whole Zotero collections and tags from the index entirely. Excluded items are never embedded, so they can never be retrieved or sent to a third-party provider. See Indexing Your Library for how to set exclusions.
Where your data lives
Everything is stored locally, per profile:
~/.zotero-llm/profiles/<profile>/
├── profile.json metadata
├── settings.json settings and API keys
├── sessions.json chat history
└── chroma/ vector database (embeddings)
- API keys are stored locally in
settings.json, masked in the UI, and never logged. - Embeddings and chat history never leave your machine.
- The app reads your Zotero database
(
zotero.sqlite) but does not modify it.
No telemetry
The app does not collect analytics or send usage data. Your only outbound traffic is to the LLM provider you actively choose to use.