Cross-tenant injection: blocked at SQL layer · 0 incidents · last red-team test passed May 5, 2026
Cross-tenant requests never reach another workspace's rows. Qdrant payload filters and hydrate checks repeat the same boundary.
Security posture widget
The cross-tenant moat uses Postgres RLS before retrieval, Qdrant payload filters during vector search, Qdrant collection payloads for audience tags, Qdrant result hydration checks, Qdrant cache keys with scope hashes, and Qdrant false-positive evals. Qdrant is never trusted alone: SQL scope, Qdrant scope, and response assembly must all agree before a chunk reaches the model. This cross-tenant path is red-team tested against malicious chunks and malicious prompts.
Cross-tenant denial probe
Switch workspace, run the query, and the MSW recall endpoint returns only that tenant's scoped result or a cross-tenant denial.