RECALL governs what your agents can see. Every retrieved document is evaluated against your suppression rules before it reaches the agent’s context window — allow, redact, or deny per document. There is no additional code beyond theDocumentation Index
Fetch the complete documentation index at: https://docs.visiqlabs.com/llms.txt
Use this file to discover all available pages before exploring further.
visiq() call shown in the Quickstart.
How RECALL instruments retrievers
Whenvisiq() wraps your executor, it walks the tools array and monkey-patches any retriever it finds. The flow:
- Agent calls a retriever tool (e.g.,
search_knowledgewith query"Q3 revenue") - The retriever fetches raw results from the vector store
- RECALL evaluates each returned document against a locally cached OPA/Rego policy bundle
- Allow — document enters the context window unchanged
- Redact — sensitive fields are replaced with placeholders before the agent sees the document
- Deny — document is silently suppressed; the agent never sees it
How retrievers are detected
The harness checks three patterns for each tool:| Pattern | Match condition | What gets patched |
|---|---|---|
LangChain BaseRetriever | tool._getRelevantDocuments exists | _getRelevantDocuments() wrapped |
| Generic retriever | tool.retrieve exists | retrieve() wrapped |
| Nested retriever | tool.retriever is an object | Recurses into .retriever and re-applies above patterns |
createRetrieverTool from LangChain to expose the retriever where the harness expects it. DynamicTool with a vector store in a closure will not be detected.
Key concepts
Rules
Define suppression policies with trust tiers and document classification. Write rules in natural language or raw OPA/Rego.
Trust tiers
Assign agents to tiers: tier1 (full access), tier2 (redact confidential), tier3 (public only). The trust tier matrix governs what each agent sees based on document metadata.
Content redaction
Redact SSNs, emails, account numbers from permitted documents. The agent sees the structure but not the sensitive values.
Cryptographic receipts
Every decision is signed with Ed25519 and hashed with SHA-256. Receipts provide tamper-evident proof for compliance audits.
Three modes
| Mode | Behavior |
|---|---|
enforce | Apply per-document decisions — deny or redact based on policy (default) |
audit | Evaluate and log all decisions but always allow — safe for rollout |
off | Bypass RECALL entirely — all documents pass through |
RECALL vs. ALLOW
| Dimension | ALLOW | RECALL |
|---|---|---|
| Governs | What agents can do (tool calls) | What agents can see (retrieved context) |
| Interception | handleToolStart callback | Retriever methods (_getRelevantDocuments, retrieve) |
| Decisions | Permit / deny / approval required | Allow / redact / deny |
| Audit | Decision log with HITL queue | Cryptographic receipts |
visiq() call.
Next steps
Rules
Define suppression policies with trust tiers and OPA/Rego.
Receipts
Tamper-evident audit trail with Ed25519 signatures.
Emergency Bypass
Override suppression during incidents.
API Reference
REST API for rules, receipts, and audit log.