RAG retrieval leaks source documents when the index returns chunks, citations, or cached answers to a user who is not allowed to read the original file. That is an access-control failure in retrieval, not a model that “said too much.” Fixing the LLM first will not close an index that already overshares.
Enterprises see this as a citation that names a restricted contract, a snippet from another tenant, or a chat log that stores the leaked chunk. Treat those as the same class of incident. The rest of this article is how leaks happen and which controls actually sit on the retrieval path.
Leak paths that look like “smart search”
| Path |
What the user sees |
Control that belongs there |
| Unfiltered vector search |
Nearest chunks from the whole corpus |
ACL filter at query time, not after generation |
| Shared collection, many tenants |
Another customer’s paragraph |
Hard tenant key in the index, not a prompt rule |
| Citations and highlights |
A filename they should not know exists |
Cite only after the same ACL check |
| Query cache / logs |
Yesterday’s leaked snippet for a new user |
Cache keys include identity; logs redact |

Prompt injection can increase the chance a model asks for more context. It is not required for a leak. A clean question plus an unfiltered k-NN is enough. If your threat model starts at the LLM, you are one layer late.
Controls that belong on the index
Every chunk needs the same authorization attributes as the source file: tenant, group, document ID, and residency tag. Retrieval must filter on those attributes inside the engine or in a trusted sidecar before tokens reach the model. Application-side “we will drop bad chunks in Python” fails when a second app hits the same index.
Do not use one namespace for all departments because operations is easier. Easy operations are how legal finds a leaked exhibit. Separate collections when ACLs differ wildly. Use metadata filters when they share a schema you can enforce in one engine.
Where exclusive infrastructure helps, and where it does not
Private GPUs do not encrypt away a missing ACL. They do let you keep the index, the embed jobs, and the logs in one residency boundary so a leak is not also a cross-region copy. That is necessary for regulated corpora. It is not sufficient without the filter.
OneSource Cloud’s AI storage architecture is the place to keep source and index together under U.S. control. Embed and rebuild jobs run on private AI infrastructure. OnePlus, OneSource Cloud’s AI orchestration platform, keeps those jobs in named workspaces instead of a shared notebook that can read every collection. Healthcare teams should start from healthcare AI infrastructure and still implement chunk ACLs. HIPAA-ready hosting does not replace retrieval filters.
FAQ
When does RAG retrieval leak source documents?
When nearest-neighbor search can return a chunk whose source the caller cannot read. The leak can be the text, the filename in a citation, or a cached answer. It happens at retrieval time. A later LLM refusal is not a control if the chunk already crossed the boundary.
Is this the same as prompt injection?
No. Prompt injection is an attacker steering the model. Retrieval leakage is an index that overshares even on a benign question. You need both defenses. Do not budget only for prompt hardening if tenants share a vector collection without keys.
Can we fix leaks with a system prompt?
No. A system prompt cannot see ACL metadata the retriever already stripped. Filter first, then generate. Prompts are for style and tool use. They are not an authorization engine. If a second client skips the prompt, the index still leaks.
Do private GPUs stop RAG leaks?
They reduce extra copies and noisy neighbors. They do not label chunks with ACLs. You can leak on exclusive hardware if one index is world-readable inside the VPC. Use private infrastructure for residency and control, then still enforce tenant filters.
What should an incident ticket include?
The query, the chunk IDs, the missing ACL attribute, whether logs cached the snippet, and whether other tenants were affected. Then delete or re-permission those vectors using a document-level delete path. A model-version rollback will not un-index a file.
Summary
RAG leaks are retrieval ACL failures: chunks, citations, and caches. Filter by document identity before the model, and keep corpora on storage you can inspect. For regulated indexes on exclusive U.S. infrastructure, pair OneSource Cloud storage with private AI infrastructure and still ship the ACL, not only the GPU.