Permission-aware RAG security · Multi-tenant AI

Your AI feature can leak one customer's data to another

RAGAuth sits between your app and your vector database. Before any document is searched, we check if the user is allowed to see it. Forbidden documents are never candidates — not post-filtered, never there.

Per project · No per-user fees

Drop in with your existing stack

QdrantpgvectorPineconeWeaviateChromaMilvusRedis VectorMongoDB AtlasElasticsearchAzure AI Search
77%

of businesses experienced an AI security incident in 2024

↗ source
Aug 2026

EU AI Act Article 12 — AI audit trails required for high-risk AI

↗ source
$9.86B

RAG market forecast by 2030

↗ source
0

forbidden documents reach your LLM prompt

Any app where users must see different data.

If your AI product serves more than one user, you have this problem.

Multi-tenant SaaS

Company A's docs appear in Company B's answers

Your single RAG pipeline serves all tenants. Without isolation, a similarity search doesn't know which tenant the user belongs to.

Tenant ID from the user's JWT scopes retrieval. Cross-tenant access is architecturally impossible.

OpenAI & ChatGPT APIs

OpenAI file_search has no access control — yours needs it

An engineer asks your internal GPT about salaries. OpenAI's similarity search returns HR documents because it has no permission layer.

RAGAuth resolves the user's permissions and passes only allowed file IDs to OpenAI's vector search. Forbidden documents are never candidates.

Healthcare platforms

AI returns another patient's records

A patient asks about their medications and the AI returns another patient's records. HIPAA violation, immediately.

Patient identity from the JWT maps to their records only. The model never sees another patient's data.

Legal and compliance

Attorney-client privilege violated by a similarity score

Matter documents from Client A surface in a lawyer's search for Client B.

Matter-level permissions are enforced at retrieval. Cross-matter access never happens.

Internal knowledge assistants

Engineers get board-level financial projections

An engineer asks the AI about company direction and gets board-level docs they aren't cleared for.

Role memberships determine the allow-list. Finance docs never appear in engineering search results.

ERP and CRM AI

A sales rep sees confidential enterprise deals

Row-level security in your database doesn't travel to your vector store.

Database ACLs are mirrored into permissions at index time. The allow-list reflects exactly what the user sees in the source system.

Pre-filter, not post-filter

Permissions are checked before the vector search runs. A forbidden document was never a candidate.

01

Request arrives with a JWT

Every query is authenticated. RAGAuth reads the user identity and claims from their token.

02

RAGAuth resolves their allow-list

Teams, roles, tenant ID, and direct grants are evaluated. The result is the exact set of documents this user may see.

03

Allow-list applied before search

The allow-list becomes a filter on the vector search. Forbidden documents are excluded before scoring begins — not after.

04

LLM sees only permitted context

The model receives the top results from the allowed set only. It cannot reveal what it never received.

JWTpermission checkallow-listvector filtertop-k resultsLLM prompt

Forbidden documents are never scored. They don't enter the search at all.

Per project. Not per user.

Pay once for the product you're securing. Scale your users freely.

○ Approximate rates

Most popular

Pro

$199/mo

Per project · not per user

Managed hosting. We run it. You own the data.

  • Up to 3 projects
  • Managed Vector DB + permission engine
  • 50 GB document storage
  • Google Drive + Notion connectors
  • Audit logs — EU AI Act Article 12 ready
  • BYO LLM — OpenAI, Ollama, or local
  • Email support

Early access: first 3 customers lock in $129/mo

Book a demo

Enterprise

Custom

VPC or on-prem deployment with dedicated support and compliance documentation.

  • Everything in Pro
  • Unlimited projects and storage
  • VPC or on-premise deployment
  • SSO / SAML integration
  • Custom SLA
  • HIPAA and GDPR audit documentation
  • ERP and database connectors
  • Dedicated Slack channel
Contact sales

Prices in USD. Switch currency above for local estimates.

FAQ

Common questions

About RAGAuth, permission-aware RAG, and AI data security for multi-tenant applications.

What is RAGAuth?
RAGAuth is a permission-aware RAG (Retrieval-Augmented Generation) security layer that enforces document-level access control before documents are retrieved from the vector store. It resolves user permissions from a JWT at query time, builds an allow-list of permitted document IDs, and injects that filter into the vector retrieval step — so forbidden documents are never scored, never retrieved, and never in the LLM prompt.
What is the difference between pre-filter and post-filter RAG?
Post-filter RAG retrieves all matching documents first, then removes the ones the user should not see. The problem: forbidden documents already influenced the ranking, and post-filtering is easy to bypass or misconfigure. Pre-filter RAG — what RAGAuth does — applies the permission allow-list before graph traversal begins. Forbidden documents are never candidates. There is no retrieval step where a leak can occur.
How does RAGAuth prevent AI data leaks in multi-tenant applications?
Every query arrives with a JWT. RAGAuth extracts the user identity, tenant ID, roles, and team memberships from that token, then resolves the exact set of documents this user is permitted to see via the permission engine. That allow-list becomes a payload filter on the vector search. Only matching, permitted documents are traversed. The LLM receives only allowed chunks — it has no mechanism to reference documents it never read.
Does RAGAuth work with multi-tenant SaaS applications?
Yes. Multi-tenant isolation is the primary use case. Tenant ID is extracted from the JWT and used to scope the allow-list resolution, making cross-tenant document retrieval architecturally impossible rather than just policy-enforced at the application layer.
Which vector databases does RAGAuth support?
RAGAuth works with Pinecone, Weaviate, Qdrant, pgvector, Chroma, Milvus, Redis Vector, MongoDB Atlas, Elasticsearch, and Azure AI Search. The allow-list filter is applied as a native payload or metadata filter on whichever vector store you use — no changes to your indexing pipeline required.
How much does RAGAuth cost?
The managed Pro plan is $199/month per project — not per user. There is no per-seat pricing. An early-access founding offer locks in $129/month for the first 3 customers. Enterprise pricing is custom and includes dedicated infrastructure, VPC deployment, SSO, and compliance documentation.
Does RAGAuth work with any LLM?
Yes. RAGAuth operates at the retrieval layer, before the LLM call. It is LLM-agnostic — it works with OpenAI, Anthropic, Ollama, local models, or any other inference provider. The Pro plan supports BYO LLM so you bring your own API key and model choice.
How does RAGAuth handle permission revocation?
Because permissions are resolved at query time, revocation is instant. Removing a user's access to a document in the permission engine immediately takes effect on the next query — no re-indexing, no cache invalidation, no async job required. This is a fundamental advantage over systems that bake permissions into index metadata at write time.
Is RAGAuth suitable for HIPAA or GDPR compliance?
RAGAuth is designed with compliance in mind. The Pro and Enterprise plans include audit log export that is EU AI Act Article 12 ready. The Enterprise plan adds HIPAA and GDPR audit documentation, VPC deployment, and dedicated infrastructure. RAGAuth's pre-filter architecture also satisfies the data minimisation principle — the LLM only ever processes data the user is authorised to see.
Can I use RAGAuth with an existing RAG pipeline?
Yes. RAGAuth integrates with existing pipelines. It adds a permission resolution step between your JWT-authenticated request and your vector retrieval call. You do not need to rebuild your indexing or embedding pipeline — you add the allow-list filter to the retrieval query. Works with LangChain, LlamaIndex, and direct vector DB SDK calls.
How does RAGAuth work with OpenAI APIs and ChatGPT?
OpenAI's file_search (vector store) API has no built-in attribute-based access control — it treats all files in a vector store as equally accessible. RAGAuth resolves the user's JWT permissions and derives the list of allowed file IDs before calling the OpenAI API, then passes those IDs as a filter to the vector search. This means OpenAI only searches within the files the user is actually permitted to see.

See RAGAuth in action

Book a 30-minute demo. We'll walk through your specific use case and answer every question. Early customers lock in $129/mo — founding customer rate.