Skip to main content

agent-rag-governance

Retrieval access control and vector store policy enforcement for RAG pipelines.

Part of the Agent Governance Toolkit.

The Gap This Fills

AGT covers write-time memory protection (MemoryGuard) and output quality (ContentGovernance) — but nothing at retrieval time. Without retrieval-level governance:

  • An agent can query any collection it wants — no access control
  • No audit trail of which documents influenced an answer
  • No rate limiting if an agent gets stuck in a retrieval loop
  • No content scanning before retrieved chunks reach the LLM

agent-rag-governance closes that gap.

Quick Start

pip install agent-rag-governance
from agent_rag_governance import RAGGovernor, RAGPolicy

policy = RAGPolicy(
    allowed_collections=["public_docs", "product_manuals"],
    denied_collections=["hr_records", "financial_data"],
    max_retrievals_per_minute=100,
    content_policies=["block_pii", "block_injections"],
    audit_enabled=True,
)

governor = RAGGovernor(policy=policy, agent_id="sales-agent-001")
governed_retriever = governor.wrap(your_langchain_retriever, collection="public_docs")

# Drop-in replacement — same API as the original retriever
docs = governed_retriever.invoke("what is our refund policy?")

What It Enforces

Layer What It Does
Collection access control Allow/deny lists per agent — blocks cross-tenant data leaks
Rate limiting Sliding-window cap on retrievals/min — stops runaway loops
Content scanning PII and prompt-injection detection on chunks before LLM sees them
Audit logging Structured JSON-lines record per call — enables EU AI Act traceability

Governance Pipeline

Every governed_retriever.invoke(query) call runs this sequence:

1. check_collection()   →  CollectionDeniedError if blocked
2. check_rate()         →  RateLimitExceededError if exceeded
3. retrieve()           →  calls underlying retriever
4. scan_chunks()        →  filters blocked chunks, logs warnings
5. audit()              →  emits JSON-lines audit entry

Policy Reference

RAGPolicy(
    # None = allow all (unless denied). List = explicit allow list.
    allowed_collections=["public_docs"],

    # Always blocked, even if in allowed_collections.
    denied_collections=["hr_records", "financial_data"],

    # 0 = unlimited. Per agent per 60-second sliding window.
    max_retrievals_per_minute=100,

    # "block_pii": block chunks with emails, phones, SSNs, credit cards
    # "block_injections": block chunks with prompt-injection payloads
    content_policies=["block_pii", "block_injections"],

    # Write structured JSON-lines audit entries.
    audit_enabled=True,

    # None = stdout. Provide a path for file-based logging.
    audit_log_path="/var/log/rag-audit.jsonl",
)

Audit Log Format

Each retrieval call emits one JSON line:

{
  "timestamp": "2026-05-05T12:34:56.789012+00:00",
  "agent_id": "sales-agent-001",
  "collection": "public_docs",
  "query_hash": "a3f1...",
  "num_chunks_retrieved": 5,
  "num_chunks_blocked": 1,
  "decision": "allowed",
  "policy_triggered": null
}

Raw query text is never logged — only a SHA-256 hash — to avoid leaking sensitive search terms.

Compatibility

Works with any retriever that implements .invoke() or .get_relevant_documents(). LangChain is an optional dependency — agent-rag-governance has no required framework dependencies.

# With LangChain integration
pip install "agent-rag-governance[langchain]"

Related Packages

Package Protects
agent-os-kernel (MemoryGuard) Write-time memory poisoning
agent-rag-governance Retrieval-time access control
agent-os-kernel (ContentGovernance) Output-time quality enforcement

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_rag_governance-5.0.0.tar.gz (32.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_rag_governance-5.0.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file agent_rag_governance-5.0.0.tar.gz.

File metadata

  • Download URL: agent_rag_governance-5.0.0.tar.gz
  • Upload date:
  • Size: 32.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: RestSharp/106.13.0.0

File hashes

Hashes for agent_rag_governance-5.0.0.tar.gz
Algorithm Hash digest
SHA256 bd9f7b12425d3249ebfad89735df9875674230364b1a70b36f3766d34329e37a
MD5 48dd3494086361d7631622149d3fcbbc
BLAKE2b-256 972087cd105f0dbd171021e0e50cf2124c8db6d44b502daa8a28dd052d49b2a1

See more details on using hashes here.

File details

Details for the file agent_rag_governance-5.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_rag_governance-5.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4486bb2b78884027522b6b71b8e6b67961a9518265c79abb2063e5b1d4bd3330
MD5 e6dd109a6140b8cd2b8f8cdca1c52851
BLAKE2b-256 f02397917d2594c5d71ec1b043d75b9bce2a72af9c86b0f5baf118efdc7114eb

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

5.0.0 This release

2 files

4.1.0

2 files

4.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page