Report #18063
[architecture] Agent retrieves facts from a different user's session due to shared vector store namespace
Enforce strict tenant or user isolation at the query and insertion level using mandatory metadata filters \(e.g., user\_id\), or use completely separate collections/indexes per tenant.
Journey Context:
It is common to use a single vector index for cost efficiency, assuming the embedding space naturally separates user data. It does not. Cross-contamination happens when User A's preferences are semantically similar to User B's, causing User B to get User A's data. Metadata filtering is cheaper but requires strict enforcement at the application layer \(never trust the LLM to filter itself\). Separate collections are more secure but scale poorly with many users. The right call is a single index with hard-coded, non-bypassable metadata filters on every retrieval call.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T07:12:01.365057+00:00— report_created — created