It can cause cross-tenant data leakage
The critical risk is cross-tenant data leakage: an unfiltered vector search can return semantically similar points belonging to another customer. Similar mistakes can affect scrolls, reads, updates, or deletes. Qdrant does not automatically infer the application's business tenant and silently add a tenant filter. Tenant isolation is therefore an application-layer authorization responsibility. In production I would centralize tenant-scoped repository methods, derive tenant_id from authenticated server-side context, and add cross-tenant isolation tests. A common misconception is that indexing tenant_id provides security; the index improves filtering efficiency but does not enforce authorization.
Security impact: a user can discover another tenant's content through search results even without knowing another tenant's point IDs.
The safest design derives tenant_id from authenticated server-side identity or authorization claims rather than trusting a client-supplied tenant_id.
Trade-off: centralized scoping adds application complexity but greatly reduces the probability of an endpoint forgetting the tenant filter.
Test isolation explicitly by seeding similar vectors for multiple tenants and asserting that every tenant-scoped operation returns or modifies only authorized data.
0-2 years experience
2-5 years experience
5-8 years experience
8+ years experience