Search Documentation
Search across all documentation pages
Core Concepts
ExoVault is built around a small set of composable primitives. Understanding these concepts unlocks the full power of the platform.
Vaults#
A vault is an encrypted container that scopes all data. Every memory, note, folder, and message belongs to exactly one vault.
- Each user gets a default vault on signup
- Additional vaults can be created for separation (e.g., per-project, per-team)
- Agent keys are scoped to specific vaults — an agent can only access authorized vaults
- All content within a vault is encrypted with the vault's master encryption key (MEK)
Memories#
Memories are the core unit of agent knowledge. Each memory is a structured record with:
| Field | Description |
|---|---|
content | The actual knowledge (1–100K chars) |
memoryType | One of: fact, skill, preference, constraint, task, episodic, correction |
importance | 1–5 scale (5 = critical) |
confidence | 1–5 scale (5 = certain) |
entities | Extracted key terms for search |
summary | Optional short summary for compact retrieval |
Memory Types#
- fact — Objective information about the domain, project, or user
- skill — Learned procedures, techniques, or how-to knowledge
- preference — User or agent preferences and choices
- constraint — Rules, restrictions, or requirements that must be followed
- task — Work items with status tracking and auto-completion
- episodic — Session summaries and contextual snapshots
- correction — Updates that supersede previous knowledge
Memories support deduplication — when dedup: true, ExoVault checks for semantically similar existing memories and updates them instead of creating duplicates.
Notes#
Notes are encrypted markdown documents organized in folders. They support:
- Folders — Hierarchical organization with nested folders
- Wiki-links —
[[Page Title]]syntax creates navigable links between notes - Tags — Metadata labels for categorization
- Rich content — Full markdown with code blocks, tables, images
Notes are ideal for long-form documentation, meeting notes, project wikis, and reference material.
Sessions#
A session represents a single agent connection lifecycle:
session_start— Agent connects, receives context (recent memories, open tasks, pending messages)- Active session — Agent makes tool calls, writes memories, creates notes
context_checkpoint— Periodic save of session state and progress- End — Final checkpoint with session summary, creating an episodic memory
Hooks-based turn capture automates session management for Tier 1 agents (Claude Code, Cursor) — turns are captured and memories are injected without explicit tool calls.
Knowledge Graph#
The knowledge graph connects memories and notes through typed relations:
derived_from— Knowledge built upon another piececontradicts— Conflicting informationrefines— More specific version of existing knowledgesupports— Corroborating evidencesupersedes— Updated replacement
The explore_graph tool enables multi-hop traversal — following chains of relations to discover deep context that keyword search alone would miss.
Agents#
Agents are identified by agent keys and connect via MCP. Each agent has:
- A type label (e.g., "claude-code", "cursor", "custom")
- A label (human-readable name)
- Vault access — restricted to specific vaults or unrestricted
- Scopes — permissions like
memory:write,note:read,task:manage
Multiple agents can share a vault, send messages to each other, and collaborate on tasks.
Next Steps#
- Architecture — How the system fits together
- Dashboard Tour — See the UI in action
- Memory Management — Deep dive into the memory system