{"enrichment":{"faq":[{"a":"agentsop-multi-tenant-rag teaches that cross-tenant leaks occur when retrieval queries bypass tenant filtering at the vector store boundary. Prevention requires enforcing tenant isolation at query time\u2014not after retrieval\u2014using vendor primitives: Pinecone namespaces, Weaviate multiTenancy mode, Qdrant payload filters, or pgvector row-level security. The skill pairs these with framework adapters (LlamaIndex metadata filters, LangChain filter parameters) to ensure every query is scoped to the requesting tenant before vectors are searched.","q":"How do you prevent cross-tenant data leaks in vector databases?"},{"a":"agentsop-multi-tenant-rag covers isolation strategies across major vector database vendors: Pinecone's namespace-based separation, Weaviate's multiTenancy class setting, Qdrant's payload filtering, and pgvector's row-level security (RLS). The skill also teaches how to integrate these with retrieval frameworks\u2014LlamaIndex metadata filters and LangChain filter parameters\u2014so tenant scoping is enforced consistently whether you're building with a managed service or self-hosted database.","q":"What isolation primitives does agentsop-multi-tenant-rag cover?"},{"a":"agentsop-multi-tenant-rag emphasizes that query-time filtering is the only enforcement point that truly prevents leaks. Filtering after retrieval\u2014a common defect\u2014allows the vector store to return cross-tenant results before your application filters them, creating a window for exposure. By enforcing tenant_id or workspace scoping at the vector store query boundary itself, you eliminate that risk and ensure isolation is database-enforced, not application-enforced.","q":"Why does tenant filtering matter at query time in RAG?"},{"a":"agentsop-multi-tenant-rag teaches secure retrieval pipeline design for SaaS systems where a shared vector index serves multiple customers. It covers per-tenant namespace or collection strategies, workspace separation patterns, and how to audit existing RAG systems for tenant boundary violations. The skill activates when designing multi-customer knowledge bases to ensure each tenant's queries return only their own documents, preventing data exposure incidents.","q":"How does agentsop-multi-tenant-rag apply to SaaS knowledge bases?"},{"a":"agentsop-multi-tenant-rag compares isolation strategies: namespaces (Pinecone) provide hard logical separation and are preferred for strong isolation; metadata filtering (Qdrant, Weaviate) is flexible but requires careful query-time enforcement to avoid bypass. The skill teaches when to choose each\u2014namespaces for strict multi-tenant SaaS, metadata for permission-scoped retrieval within a single tenant\u2014and how to pair them with framework adapters for consistent enforcement.","q":"What does agentsop-multi-tenant-rag teach about metadata vs namespace?"},{"a":"agentsop-multi-tenant-rag teaches framework-specific patterns: LlamaIndex uses metadata filters to scope queries by tenant_id before retrieval; LangChain uses filter parameters to pass tenant context to the vector store. Both require the underlying database to respect the filter at query time. The skill shows how to wire tenant context through your retrieval pipeline so filtering is automatic and auditable, reducing the risk of accidental cross-tenant exposure.","q":"How do you implement tenant filtering in LlamaIndex or LangChain?"}],"shadow_tags":["data-isolation","query-boundary-enforcement","vendor-specific-apis","threat-modeling","compliance-and-audit","infrastructure-patterns","incident-response","access-control-architecture"],"summary_rewrite":"This skill encodes security-first isolation patterns for RAG systems serving multiple tenants, customers, or permission scopes. It teaches agents to enforce tenant filtering at the vector store query boundary\u2014the only place where isolation truly matters\u2014and pairs vendor-specific primitives (Pinecone namespaces, Weaviate multiTenancy, Qdrant payload filters, pgvector RLS) with framework adapters like LlamaIndex and LangChain. Activate when designing, reviewing, or debugging any retrieval pipeline where the corpus spans more than one tenant."},"files":[{"bytes":39590,"path":"skills/agentsop-multi-tenant-rag/SKILL.md","sha256":"aee594b8956171dd9abe7107e7f03af405540ad16854266a4b365cc47ae0d596","url":"https://skillfed.io/files/agentsope/SkillAlchemy/agentsop-multi-tenant-rag/7d584eb3/SKILL.md"}],"id":"agentsope/SkillAlchemy/agentsop-multi-tenant-rag","links":{"html":"https://skillfed.io/agentsope/SkillAlchemy/agentsop-multi-tenant-rag","md":"https://skillfed.io/agentsope/SkillAlchemy/agentsop-multi-tenant-rag.md","repo":"https://github.com/agentsope/SkillAlchemy"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":12,"language":"Python","last_updated":"2026-06-30","license":"MIT","name":"agentsop-multi-tenant-rag","publisher":"agentsope","stars":219},"relations":{"similar":[{"id":"qdrant/skills/qdrant-multitenancy"},{"id":"qdrant/skills/tenant-scaling"},{"id":"elementalsouls/Claude-BugHunter/hunt-rag-vector"},{"id":"BagelHole/DevOps-Security-Agent-Skills/llm-app-security"},{"id":"BagelHole/DevOps-Security-Agent-Skills/vector-database-ops"},{"id":"Jeffallan/claude-skills/rag-architect"},{"id":"BagelHole/DevOps-Security-Agent-Skills/rag-infrastructure"},{"id":"sipyourdrink-ltd/bernstein/retrieval"},{"id":"eyadsibai/ltk/vector-databases"},{"id":"curiositech/some_claude_skills/ai-engineer"}]},"slug":{"owner":"agentsope","repo":"SkillAlchemy","skill":"agentsop-multi-tenant-rag"},"version":"7d584eb3"}
