/rag-security) treats your retrieval corpus
as an attack surface: it pulls the documents your application actually
retrieves, scans them for poisoning and prompt-injection payloads, and
lets you quarantine what it finds.
A RAG corpus reuses the same scan spine as a dataset, so findings,
severities, and the audit trail behave exactly as they do everywhere
else in Data Security.
Sources
A corpus draws from one or more sources, and you can mix them.Vector store providers
Credentials are encrypted at rest and are never returned by the API.
Pass the connection secret as
dsn or api_key; either way it is
folded into the encrypted channel and stripped from the stored config.
1
Test the connection
POST /api/rag-corpus/test-connection validates a provider config
before you save it. A bad provider or a malformed id is rejected at
422 rather than failing later during a scan.2
Discover what is there
POST /api/rag-corpus/discover runs the authenticate-then-pick
flow for providers that support it, so you choose an existing index
rather than typing its name.3
Add the source
Once added, the source can be re-tested at any time from the corpus
detail page.
Scanning
POST /api/rag-corpus/{id}/scan queues a rag_scan, which runs three
engines over the corpus:
Only one
rag_scan runs against a corpus at a time. Scans consume the
same scan quota as the rest of the platform.
Quarantine, and the part people get wrong
Quarantining a document excludes it from Blindsight’s own reads. It does not, by itself, stop your application from retrieving it. This is why every corpus exposes a filter contract:enforceable: false and explains why, rather than leaving you with a
false sense of containment.
1
Quarantine the document
POST /api/rag-corpus/{id}/documents/{doc}/quarantine. Reverse it
with the matching unquarantine route.2
Read the filter contract
Pull the contract for the corpus and check
enforceable for every
vector-store source.3
Apply the filter in your retrieval path
Paste the snippet into the query your application actually runs.
Until this is done, quarantine is advisory.
API
Tenancy and access reuse the dataset rules: a corpus is resolved
through its backing dataset, so whoever can see the dataset can see the
corpus.
See also
Engines
What poisoning, text analysis, and drift each detect.
Runtime Security
Catching an injection at request time, after retrieval.

