GuidesSecure RAG › Checklist

RAG Security Checklist

A stage-by-stage checklist for a retrieval pipeline handling sensitive content. Grouped by where each control sits, because position determines what a control can catch. If you only do three things, do the ones marked as prerequisites.

At a glance
  • Grouped by stage. Every control is listed where it sits in the pipeline, because position determines what it can catch.
  • Prerequisites come first. Provenance logging, an index inventory and a baseline leak rate are what make every other item verifiable.
  • Retrieval closes the most. Constraining the candidate set by entitlement before similarity search removes the largest category of leak events.

Prerequisites

THE CHECKLIST, GROUPED BY WHERE THE CONTROL SITS Prerequisites 3 items Logging, an inventory of what is indexed, and a measured baseline. Nothing else is verifiable without these. Ingestion 6 items Eligibility gating, sandboxed parsing, hidden-text scanning, transformation, provenance and digest pinning. Chunk and embed 4 items Permission propagation, closed-by-default labelling, chunk IDs that match retrieval, index classed as content. Retrieval 4 items Pre-filtering, per-query entitlement resolution, refresh on ACL change, re-test after every re-index. Context boundary 4 items Instruction and data separation, a separate authorization path for tool calls, injection surfaces enumerated, blast radius sized. Derived copies and governance 8 items Caches, history, evaluation sets and backups inventoried; deletion propagation confirmed; an owner named. Work the groups in this order: prerequisites, then retrieval, then ingestion. Logging makes progress measurable, retrieval filtering closes the most events, and ingestion decides what the remainder costs.
Twenty-nine items in six groups. The grouping is the point: a control is only as good as its position in the pipeline.

Ingestion

Common mistake

Starting here. Ingestion controls are the durable fix, but they are a project rather than a task, and without provenance logging and a baseline leak rate measured first there is no way to demonstrate that anything improved.

Chunking and embedding

Retrieval

Context boundary

Derived copies

TURNING THE CHECKLIST INTO A NUMBER YOU CAN TRACK 1 Fix the inputs An entitlement matrix and a question set that stay constant between runs. 2 Run as each identity Every question, as every test identity, through the real retrieval path. 3 Compare Each returned chunk against what that identity was entitled to see. 4 Re-run on change After every re-index, schema change or connector addition. the loop, not a one-off audit The output is one number: the share of question-and-identity pairs that returned something out of scope. Hold the matrix and the question set fixed and that number is comparable across runs, across teams and across quarters. It is also the only figure in this area that a board will read twice.
A checklist that is not measured decays. Fixing the inputs makes the leak rate comparable over time, which is what turns the work into something reportable.

Governance

  1. PrerequisitesLog retrieval provenance, inventory the index, and measure a baseline leak rate. Usually days of work, and it is what makes everything after it measurable.
  2. RetrievalFilter before scoring and resolve entitlements against the requesting identity. Typically weeks, and the effort goes into getting current permission attributes onto every chunk.
  3. IngestionEligibility gating, isolated parsing and content transformation. A project rather than a task, and the durable fix that reduces what a future failure costs.

Frequently asked questions

What order should we work through this in?

Prerequisites first, then retrieval, then ingestion. Logging makes everything measurable, retrieval filtering closes the largest category of leak events, and ingestion controls are the durable fix that reduces what a future failure costs.

How long does a first pass take?

Provenance logging is usually days. Moving to pre-filtering is typically weeks, and the work is rarely in the database, it is in getting current permission attributes onto every chunk. Ingestion transformation is a project rather than a task.

Which items map to EU AI Act obligations?

Provenance logging and retention map to Article 12's automatic logging requirement. Eligibility gating, permission propagation and ingestion controls map to Article 10 on data governance. Injection resistance and pipeline integrity sit under Article 15.

Is this checklist enough on its own?

It covers retrieval. It does not cover model memorization, which is training data leakage, corpus tampering, which is data poisoning, or the build pipeline, which is AI data pipeline security.