A production pattern for permissions-aware retrieval, Reciprocal Rank Fusion, and evidence thresholds in Microsoft 365 and Azure environments.
Enterprise engineering and operations teams routinely lose time hunting procedures across SharePoint Online, Teams, Confluence, and Azure Repos. Demo-grade retrieval that indexes flat files without access control or evidence checks fails as soon as those stores become the source of truth.
tsvector indexes.RRF = 1 / (k + rank_dense) + 1 / (k + rank_sparse).| Pattern | Security model | Recall | Operations |
|---|---|---|---|
| Naive vector store | None | Weak on exact codes | Low setup, high risk |
| Managed search service | Index-level ACLs | Good | High recurring cost |
| pgvector + RRF + Entra ID ACLs | Row-level security | High hybrid precision | Owned Postgres, moderate ops |
Enterprise readiness is how the system behaves on unindexed or unauthorized topics. The query router inspects the RRF score distribution before generation.
If the maximum top-3 evidence score falls below threshold tau = 0.035, skip generation and return: “Insufficient authorized documentation found to answer this query with verifiable source citations.”
Use this pattern when documentation lives in SharePoint, Teams, and internal git; compliance requires access isolation; and you want an owned FastAPI + PostgreSQL/pgvector backend.
Do not use it for unauthenticated public search or image-only corpora without OCR.
Review your Microsoft 365 permissions model, vector strategy, and citation design with a senior engineer.
Request a RAG Architecture Review