Encrypted memory for your framework.
Framework-specific adapters for storage, sessions, and retrieval. Each requires an explicit embedder; search behavior and filters follow the adapter's interface.
Choose an adapter.
Setup examples and supported operations are documented per package. The 2.2 APIs are available in the source tree; PyPI lists published versions.
LangGraph
BaseStoreNamespace and keyed-item storage, TTL, and multi-field vector search.
CrewAI
StorageBackendMemory persistence with cosine similarity and cryptographic forgetting.
LangChain
VectorStore + chat historyVector retrieval, MMR over stored vectors, metadata filters, and conversation history.
LlamaIndex
BasePydanticVectorStoreEncrypted vector storage with metadata filtering.
Haystack
DocumentStoreDocument persistence, embedding retrieval, and metadata filters.
OpenAI Agents SDK
SessionEncrypted conversation history keyed by session ID.
Google ADK
BaseMemoryServiceSession ingestion and hybrid memory recall.
Microsoft Agent Framework
History + ContextPersistent history and memory context for agents.
Strands Agents
SessionRepositoryEncrypted session, agent-state, and message persistence.
Use a semantic embedder.
The default Python wheel accepts user-supplied embeddings. A custom backend provides dim, metric, model_id, and embed_with_cancel(texts, cancel_token). Check cancellation between bounded batches.
The Python guide includes a complete semantic-memory example. Framework-native embedding interfaces are supported where documented by the adapter. Candle and cross-encoder classes require a Python source build with candle-embed.
Adapters can share a database on the same thread with compatible open options. Use separate adapter-owned regions; see the shared-database guide. Cryptographic forgetting affects the active vault's keys, not external backups, replicas, or physical-media copies.
Connect an MCP client.
The standalone server includes local Candle models and runs over stdio. Supply a vault path, passphrase, and embedder. A cross-encoder reranker is optional.
uvx citadeldb-mcp pull e5-large
uvx citadeldb-mcp pull ms-marco-minilmModel pulls do not need a vault key. Before serving, set CITADEL_KEY to the vault passphrase: export CITADEL_KEY="your-passphrase" on macOS/Linux, or $env:CITADEL_KEY = "your-passphrase" in PowerShell.
uvx citadeldb-mcp --db memory.cdl --embedder e5-large --reranker ms-marco-minilmFor a desktop MCP client, use an absolute database path and set CITADEL_KEY in its server environment. See the client configuration. Managed downloads are pinned and verified; user-supplied model directories are outside managed-cache validation.