Freshness, Access Control, and Updates
Goal
Treat freshness, deletion, tenant/access eligibility, and index updates as explicit retrieval controls that are enforced before sensitive evidence reaches generation.
A RAG system can retrieve a highly relevant document and still be wrong or unsafe to use it. Two questions come before similarity:
- Is this source current enough for the task?
- Is this user/request allowed to receive it?
Similarity is not authorization.
Freshness is a versioning problem
Suppose the corpus contains:
policy-v3 updated 2026-08-01
policy-v4 updated 2026-09-20
Both may mention the same product. A retriever that ignores version/freshness may return the older policy because its wording matches the query more strongly. Useful metadata can include:
- source version;
- updated_at;
- valid_from / valid_until;
- supersedes;
- active/deprecated status.
Then the eligibility layer can remove stale versions before ranking.
Updating the source is not enough
A source system may be correct while the retrieval index is stale. Think of two identities:
source revision
index build revision
If policy-v4 exists in source storage but the index was built before it was ingested, users still retrieve v3. Record index build time/version and ingestion status. For high-change collections, updates may be incremental rather than full rebuilds. The invariant remains:
The searchable representation must correspond to the source state you claim to serve.
Deletion must propagate
Deleting a source from the document store is not complete if its chunk vectors remain searchable. A robust deletion/update workflow should address:
- source record;
- chunks;
- vector/index entries;
- lexical index entries;
- caches;
- evaluation fixtures or references when appropriate.
A tombstone/version mechanism can help track whether old index entries should remain eligible.