Skip to content

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:

FieldDescription
contentThe actual knowledge (1–100K chars)
memoryTypeOne of: fact, skill, preference, constraint, task, episodic, correction
importance1–5 scale (5 = critical)
confidence1–5 scale (5 = certain)
entitiesExtracted key terms for search
summaryOptional 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:

  1. session_start — Agent connects, receives context (recent memories, open tasks, pending messages)
  2. Active session — Agent makes tool calls, writes memories, creates notes
  3. context_checkpoint — Periodic save of session state and progress
  4. 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 piece
  • contradicts — Conflicting information
  • refines — More specific version of existing knowledge
  • supports — Corroborating evidence
  • supersedes — 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#