From rag-cag
Provides security patterns for RAG/CAG systems including multi-tenant isolation strategies, document-level access control, prompt injection prevention, data classification, and checklists. Use for secure retrieval- or cache-augmented generation with tenant isolation.
npx claudepluginhub jpoutrin/product-forge --plugin rag-cagThis skill uses the workspace's default tool permissions.
This skill provides security patterns for RAG and CAG systems.
Flags prompt injection, SSRF, and context flooding in RAG pipelines ingesting docs or fetching URLs for LLM prompts. Recommends domain allowlists, truncation, delimiters, logging.
Provides security patterns for authentication, defense-in-depth, input validation, OWASP Top 10, LLM safety, and PII masking. Useful for auth flows, sanitization, vulnerability prevention, prompt injection defense, and data redaction.
Security techniques and quality control for prompts and agents
Share bugs, ideas, or general feedback.
This skill provides security patterns for RAG and CAG systems.
# Metadata filtering approach
results = vector_store.similarity_search(
query,
filter={"tenant_id": current_user.tenant_id}
)
@dataclass
class Document:
id: str
content: str
tenant_id: str
access_groups: list[str]
classification: str # public, internal, confidential
def can_access(user: User, doc: Document) -> bool:
return (
user.tenant_id == doc.tenant_id
and any(g in doc.access_groups for g in user.groups)
and user.clearance >= doc.classification
)
def sanitize_retrieved_context(chunks: list[str]) -> str:
"""Sanitize retrieved chunks before including in prompt."""
sanitized = []
for chunk in chunks:
# Remove potential instruction patterns
cleaned = remove_instruction_patterns(chunk)
# Escape special characters
escaped = escape_prompt_chars(cleaned)
sanitized.append(escaped)
return "\n".join(sanitized)
| Level | Description | Handling |
|---|---|---|
| Public | Open information | No restrictions |
| Internal | Company-only | Tenant isolation |
| Confidential | Sensitive | Encryption + audit |
| Restricted | Highly sensitive | Need-to-know basis |