One layer, five operations.
Agents read through the Vault before they act, and write through it after. Everything below runs on the open-core package — it augments the stack you already have, rather than replacing it.
Five operations. Nothing more.
Open each one to see what the Vault does on your behalf.
When the engine can't be sure, a human decides.
Reconcile resolves most conflicts automatically — by recency, source-trust, and confidence. Genuinely ambiguous cases, high-stakes writes, and calls that need a quality gate never get a silent guess: they escalate to a person, and the decision lands on the audit chain, attributed and tamper-evident. Human-in-the-loop is a configuration, not an afterthought.
- HeuristicLocalDeterministic rules resolve the clear cases instantly.
- LLM-judgeCloudAmbiguous writes are scored against everything already known.
- Human reviewEnterpriseNear-ties and high-stakes calls escalate to a person.
cust:8841 · risk_ratingAugment your stack. Don't migrate it.
Front your vector store
Qdrant today; Pinecone, Weaviate & pgvector adapters on the way — temporal, ACL & audit layered over your results.
Connect over MCP
One-click into Claude Code, Cursor and any MCP client — no agent rewiring.
Cross-LLM by design
Provider-neutral storage — Claude, GPT, Gemini, Llama or Mistral. Switch the model without migrating memory.
From a laptop to the enterprise.
Enterprises
Governance, compliance packs and an audit your examiner accepts — for teams putting agents on regulated data.
Developers
One-line MCP install, Python & TypeScript SDKs, open core — drop governed memory into any agent.
Run it locally
Self-host the free core in-memory or on SQLite — no auth, no cloud, full control on your own machine.
Install in one line.
# connect over MCP — no rewiring $ uvx --from context-vault-ai context-vault-mcp from context_vault.sdk import VaultClient client = VaultClient(vault, principal) # read only what's current & authorized ctx = client.resolve("risk for cust:8841") # write — conflicts handled, never silent client.assert_fact("cust:8841", "risk_rating", "elevated") # → CONTRADICTION vs apr-2 → SUPERSEDED ✓
Bring an agent and a dataset.
Leave with an audit trail you can prove.