WritersLogic Holographic Memory
Local, encrypted, provenance-aware memory for AI agents.
Search and memory that run inside your app, on your machine. No service calls, no telemetry.
- Rust
cargo add holographic-memory --git https://github.com/writerslogic/holographic-memory - Python
pip install holographic-sdk
- 2.29-2.75xhnswlib throughput on SIFT-1M at recall 0.90-0.99
- 2.21-2.76xtantivy throughput on three BEIR datasets, same nDCG@10
- 26-269 µsmedian text query latency on BEIR
Intel Core Ultra 9 185H (22 threads, 27 GB), Linux x86_64, measured 2026-10-21. Method and losses.
Why it exists
Local first
A library you link into your agent, not a service you call. Search, memory and storage run in your process on your disk, with no network calls and no telemetry.
Encryption in the open engine
AES-256-GCM at rest, keyed by Argon2id, covering the log, index caches and stored text. It is part of the Apache-2.0 engine, not an enterprise add-on.
Provenance you can verify
A signed audit log and COSE, SCITT and C2PA statements over Ed25519 with W3C DID identity record what an agent stored, and when, in formats others can check.
Purge that erases
Delete removes a record from every query at once. Purge rewrites the journal without it and overwrites the old generation with zeros before it returns; a test scans every store file for the deleted text.
Benchmarks
Same machine, same queries, every competitor at its tuned operating point. Bars are single-thread queries per second; every number links to a committed results file. Full comparison and method.
Vector search: SIFT-1M against hnswlib
Data table
| System | QPS |
|---|---|
| Holographic Memory | 23,294 |
| hnswlib | 9,480 |
Data table
| System | QPS |
|---|---|
| Holographic Memory | 17,481 |
| hnswlib | 7,630 |
Data table
| System | QPS |
|---|---|
| Holographic Memory | 8,794 |
| hnswlib | 3,193 |
Text search: BEIR against tantivy, Lucene and SQLite FTS5
Data table
| System | QPS |
|---|---|
| Holographic Memory | 17,782 |
| tantivy | 6,450 |
| Apache Lucene | 2,630 |
| SQLite FTS5 | 241 |
Data table
| System | QPS |
|---|---|
| Holographic Memory | 38,963 |
| tantivy | 14,705 |
| Apache Lucene | 4,115 |
| SQLite FTS5 | 1,416 |
Data table
| System | QPS |
|---|---|
| Holographic Memory | 3,576 |
| tantivy | 1,617 |
| Apache Lucene | 1,260 |
| SQLite FTS5 | 26 |
Same answers: nDCG@10 on each dataset
| Dataset | Holographic Memory | tantivy | Apache Lucene | SQLite FTS5 |
|---|---|---|---|---|
| BEIR SciFact | 0.7027 | 0.7013 | 0.7022 | 0.7009 |
| BEIR NFCorpus | 0.2916 | 0.2901 | 0.2897 | 0.2914 |
| BEIR FiQA | 0.2654 | 0.2643 | 0.2657 | 0.2678 |
Where we’re not ahead yet
- Vector index build. SIFT-1M build takes 312.60 vs hnswlib 182.49 seconds, with peak build memory 2,968 vs hnswlib 1,525 MiB.
- Vector serving memory. Resident memory while serving SIFT-1M is 2,204 vs hnswlib 1,019 MiB.
- Text cold start. The store is read into memory at open: first answer on FiQA after 0.84 vs tantivy 0.02 seconds.
- Text ingest and disk. Indexing FiQA takes 2.16 vs SQLite FTS5 1.18 seconds; the index is larger on disk than Lucene's (20.6 vs Apache Lucene 12.2 MiB).
How these were measured
Intel Core Ultra 9 185H (22 threads, 27 GB), Linux x86_64, measured 2026-10-21, under WSL2. Three serve rounds per system with bootstrap intervals; tested range is SIFT-1M (1,000,000 vectors) and three BEIR sets of 3,633 to 57,600 documents, not larger. HMS is timed through its native Rust API; hnswlib through its Python binding, one call per query. Text runs use HMS in BM25 lexical mode.
Durability: Killed mid-write at 200 points, mid-compaction at 200 points and at 50 simulated power losses: 0 committed documents lost; recovery median 13.8 ms after a killed write. 50 torn writes and 50 bit flips: every one detected or harmless, none served silently. Source.
Known limits
- The older sparse vector path (memorize_vector) is experimental and far behind HNSW libraries: on glove-100, Apple M4: recall@10 0.252 at 33.7 QPS against hnswlib 0.831 at 3,368 QPS (public_glove-100-angular.json). Use the vertex graph index for vector search.
- Hypervector sketches and term counts are not encryption; anyone holding a plaintext store can test candidate text against it. Use the encrypted store for confidentiality.
- Deleted bytes can survive in places no file API reaches: SSD wear levelling, snapshots, backups and swap. Pair purge with encryption or full-disk encryption.
- No MCP server ships yet, the npm package is deprecated (build the Node module from source) and Python is an HTTP client, not in-process search.
How it works
One engine, linked into your process.
Store
Documents, facts and the embeddings you choose go into one append-only, checksummed log on your disk, encrypted if you turn it on.
Index
BM25 postings, a vertex-graph vector index and superposed fact vectors are built in the same process. No server, no network call.
Recall
Hybrid search fuses lexical and vector scores and returns byte offsets into the source; signed provenance records who stored what, and when.
The holographic part is the fact memory: bound facts are superposed into fixed-size vectors and recalled by similarity. Document search is conventional BM25 and cosine.
Use cases
Agent memory
Give an agent durable recall of facts, conversations and decisions that lives in its own process, survives crashes and can be purged on request.
RAG over private documents
Index contracts, notes or code on the machine that already holds them. BM25 and the embeddings you choose, fused, with byte offsets back to the source; nothing is uploaded.
On-device apps
Ship search and memory inside a desktop or edge app through the Rust crate or the C ABI, with encryption at rest and no server to run.
Integrations
Framework adapters live in the repository and install from source until they are published.
Python: holographic-integrations
LangChain, LangGraph, LlamaIndex, Haystack, DSPy, OpenAI Agents, Pydantic AI, smolagents, LiteLLM, CrewAI, AutoGen, AG2, Semantic Kernel, Mem0 and Letta, one extra per framework
JavaScript: @holographic-memory/*
LangChain.js, LlamaIndex.TS, Mastra, OpenAI Agents SDK and the Vercel AI SDK
Quickstart
Store a document and find it again. The five-minute quickstart adds encryption and filters.
# Cargo.toml: Apache-2.0 source from main
cargo add holographic-memory --git https://github.com/writerslogic/holographic-memory
cargo add serde_json anyhowuse holographic_memory::{DocumentInput, HmsCore, SearchOptions};
fn main() -> anyhow::Result<()> {
// 4,096-dimension store in ./memory; nothing leaves this machine.
let hms = HmsCore::new(4096, Some("./memory".into()), None)?;
hms.memorize_document(DocumentInput {
id: "backups".into(),
text: "Restore deleted documents from verified backups.".into(),
source_uri: Some("operations.md".into()),
version: Some("1".into()),
metadata: Some(serde_json::json!({ "project": "alpha" })),
chunk_words: None, overlap_words: None, store_text: None,
embeddings: None, title_weight: None,
})?;
let hits = hms.search_documents("restore backups", &SearchOptions::default())?;
println!("{} {:?}", hits[0].document_id, hits[0].source_uri);
Ok(())
}Python talks to hms-server over HTTP through holographic-sdk. Embed your text with any model and send the vectors.
# hms-server stores vectors you supply; the SDK is its HTTP client
cargo build --release --features server --bin hms-server
HMS_API_KEY=change-me target/release/hms-server --input-dim 384 &
pip install holographic-sdkfrom holographic_sdk import HolographicClient
client = HolographicClient(url="http://127.0.0.1:8080",
api_key="change-me", tenant_id="demo")
client.add_documents([{"id": "a", "vector": [0.1] * 384,
"text": "hello", "metadata": {}}])
print(client.query([0.1] * 384, top_k=1)["matches"][0]["id"])Node.js: build the native module from the repository (the npm package is deprecated). Go, Java and .NET: the C ABI bindings in bindings/.
Compare
How Mem0, Zep, Chroma and Qdrant document the same properties, checked 2026-10-21.
| Property | Holographic Memory | Mem0 | Zep | Chroma | Qdrant |
|---|---|---|---|---|---|
| Runs inside your app, no service | Yes: Yes: Rust library, Node module, C ABI | Partly: Open-source library; Mem0 Platform is hosted | No: Hosted; Community Edition no longer maintained (April 2025) | Partly: In-process from Python; JS and Rust use a server | Partly: Server or Cloud; the Python client has a local mode (exact scan) |
| Encryption at rest in the open-source product | Yes: Built in (opt-in) | Not documented: Not documented | Partly: Customer keys are an Enterprise add-on | Not documented: Not documented for open source | Partly: Self-hosted: customer configuration |
| Signed provenance of stored records | Yes: COSE, SCITT, C2PA over Ed25519 | Not documented: Not documented | Not documented: Not documented | Not documented: Not documented | Not documented: Not documented |
| Deleted text erased from disk | Yes: Purge rewrites the journal and zeroes old generations before returning | Not documented: Not documented | Partly: Removed in the background; overwrite not documented | Not documented: Not documented | Partly: Marked deleted, cleaned up later by an optimizer |
✓ Yes · ◐ Partly · ✕ No · – Not documented. Hover or use a screen reader for each vendor’s wording. Sources: Mem0 open source, Mem0 Platform, Zep open-source strategy, Zep bring your own key, Chroma clients, Qdrant security, Qdrant optimizer.
Open source and plans
Your memory stays on your machines. Cloud keeps your machines in step: encrypted sync across your laptops, desktops and team, a backup you can restore anywhere, and independent verification of the provenance and deletion records your stores sign. We never hold your keys, never see your documents and never run your searches. WritersLogic Holographic Memory Cloud runs its sync, backup and verification on Cloudflare.
Community
Available now
Free
The open-source engine and server on your own machines.
- Rust library, Python SDK, C ABI with Go, Java and .NET
- Hybrid search, fact memory, crash-safe log
- Optional encryption at rest and signed provenance
- Support through GitHub
Cloud
In development
Usage-based
Sync, backup and verification for the memory you keep locally. Pay for encrypted storage, sync operations and verifications, each with a free monthly allowance.
- End-to-end encrypted sync (AES-256-GCM, keys only on your devices); concurrent edits converge and conflicts are reported
- Encrypted backup of each store's full history; restore any device with your sync key
- Tamper-evident history: reordered, altered or spliced changes are detected on your device
- Provenance and deletion-record verification with receipts you can check offline
- Signed audit export; business-hours email support
Team
In development
Monthly plan
Encrypted sync and verification shared across a team, with usage included each month.
- Everything in Cloud, with included monthly usage and a larger storage quota
- Scoped API keys with rotation and instant revocation
- SSO through your identity provider (OIDC) and a signed, exportable audit log
- Shared support channel and uptime commitment
Enterprise
Talk to us
Talk to us
Your keys, your infrastructure, compliance reporting.
- Annual agreement with custom quotas
- Bring your own key (KMS / HSM)
- Transparency log and verification you can run yourself
- Compliance reports and audit retention
- Named support contact
What WritersLogic Holographic Memory Cloud adds to the open-source engine
| Feature | Open source | Cloud (in development) |
|---|---|---|
| Engine, search and fact memory | On your machine | Still on your machine |
| Where plaintext lives | Only on your devices | Only on your devices; the server stores ciphertext |
| Encryption at rest and signed provenance | Included (opt-in features) | Included |
| End-to-end encrypted sync and backup across devices | Not included | Included |
| Tamper-evident, hash-chained change history | Local journal | Checked on every device |
| Provenance and deletion-record verification, transparency log | Verify locally | Hosted verification, your own append-only log, offline-verifiable receipts |
| Scoped API keys, signed audit export, SSO (OIDC) | Not included | Audit export in Cloud; all three in Team and Enterprise |
| Support | GitHub issues and discussions | Email, shared channel or named contact by tier |
The source on main is Apache-2.0. Packages published so far (crate 0.6.1, holographic-sdk 0.1.2 on PyPI) were released under AGPL-3.0-or-later and stay available under those terms.
Questions
Does it send my data anywhere?
No. The engine makes no network calls and sends no telemetry. Embeddings are either supplied by you or computed by local models from weights you provide; it never downloads a model.
How is this different from Mem0, Zep, Chroma or Qdrant?
Holographic Memory is a library you embed, not a service you call, and it puts encryption at rest, signed provenance and a text-erasing purge in the open-source engine itself. Vector search runs on a vertex graph index; on SIFT-1M it served 2.29x the queries per second of hnswlib at recall 0.95 on the same machine (benchmarks section).
Why is it called holographic?
The fact memory uses holographic reduced representations: many bound facts are superposed into one fixed-size vector, so every part carries a little of the whole and damage degrades recall gradually. Document search is conventional BM25 and cosine and does not claim that property.
Is it really deleted when I delete it?
Delete removes a record from every query at once; its journal frame stays until compaction or purge. Purge rewrites the journal and overwrites the old generation with zeros before it returns. Copies outside the store's files, such as backups, snapshots and SSD wear levelling, are out of any library's reach; encrypt the store when those matter. Signed deletion certificates are research, not yet in the shipped API.
Which license applies?
The source on main is Apache-2.0. Packages published so far (crate 0.6.1, holographic-sdk 0.1.2 on PyPI) were released under AGPL-3.0-or-later and stay available under those terms.
Which languages can I use?
Rust natively; Node.js bindings built from source; a Python HTTP client (holographic-sdk) for hms-server; and a C ABI with Go, Java and .NET bindings.
What does the Cloud do if the engine runs locally?
WritersLogic Holographic Memory Cloud is sync, backup and verification, not a hosted engine. Your documents, embeddings, memory index, queries and sync key never leave your devices. Every change is sealed on your device before upload, so the service holds only sealed bytes and the metadata needed to order them (change counts, sizes, times, device and key identifiers) plus your account and billing details. For verification it keeps hashes, the signer's public identity and the claim time, never the statement's contents. It is in development: join the waitlist and we will write when the beta opens. Prices are published at launch.
Part of the WritersLogic provenance platform
Holographic Memory is part of the WritersLogic provenance platform: the same signed-statement substrate (COSE and SCITT over Ed25519, W3C DID identity) runs through every product.
- WritersProof: Records how a document is written and seals that process into signed evidence anyone can verify
- Draftbridge: Coming soon
WritersLogic Holographic Memory is made by WritersLogic, Inc.