Memora is the independent check that proves your AI's citations are real. It re-reads the exact source span behind every citation, recomputes its hash, and rejects anything the source does not contain before the answer ships. Deterministic and provider-agnostic: it verifies any model over your own sources, and never asks a second model to grade the first. Run it in CI, in your eval suite, or at request time.
your model shouldn't grade its own homework.
RAG over notes, second-brain wrappers, and agent memory layers retrieve text and then trust the model to quote it faithfully. When it invents a meeting, misquotes a decision, or cites a source that does not contain the claim, there is no structural defense. You catch the hallucination yourself, or you ship it.
Memora turns prose into subject-predicate-object claims, each pinned to a byte-range span in your markdown and fingerprinted with a full-width blake3 hash.
When it answers, the model references claims by ID. Retrieval is hybrid: BM25 plus vector search plus reciprocal-rank fusion over your claim graph.
The validator re-reads each cited span, recomputes the hash, and strips any citation that does not match. The model is retried with verified context only.
memora verify checks an answer's citations
against your sources and exits non-zero if any cannot be proven. Drop it into your eval
suite or CI and a hallucinated citation never reaches production. Deterministic,
provider-agnostic, and it adds no extra LLM call.
Building in Python? It drops into your eval suite in one line.
It verifies any model's output over your own corpus, so the check is independent of the
thing it's checking. An optional --entailment
pass adds a best-effort look at whether the source actually supports the claim, kept
clearly separate from the hash-proven part.
No vault, no API key, no network. memora demo
builds an ephemeral vault, feeds the real validator an AI answer containing one of
every kind of bad citation, and shows the verdict. It is the same check
memora query runs on every answer.
Subject-predicate-object triples, small enough to verify and large enough to reason over.
A full-width blake3 hash of the exact source bytes. Edit the note and the hash changes.
Re-reads each cited span, recomputes the hash, and rejects mismatches before output ships.
Invented claim IDs are stripped, and the model is re-prompted with verified context only.
Claims carry valid_from and valid_until. Superseded claims are flagged, not asserted as current.
Secret content is redacted at one type-enforced wire boundary before any cloud call.
Synthesis claims point to their sources. Edit a source and dependent claims fall stale.
Pull PDFs, web pages, and meeting transcripts into the vault as verifiable notes with memora ingest.
memora report renders the whole vault — an interactive claim graph, contradictions, stale dependencies, the world map — as one offline HTML file.
Rust, SQLite, and HNSW. No Postgres, no Pinecone, no Node. Fully offline with Ollama or a bundled on-device embedder.
Provenance integrity. The cited source verbatim contains the quoted text and is unmodified, proven by hash. That is stricter than model-asserted citation APIs, which never re-read the source.
Entailment. Provenance proves the source says the quoted text, not that it supports your conclusion. memora verify --entailment adds an optional, LLM-judged check for that, kept clearly separate from the proof. We tell you exactly where the hard guarantee ends, because that line is the point.
Mem0, Zep, Letta, and Cognee store and recall memory well, but none re-read the
source and reject a citation whose bytes do not match. Anthropic's Citations API
asserts citations from the model without re-hashing them. Memora is behind on scale,
integrations, and ecosystem, and it would rather you knew.
Read the honest comparison →
One binary, no daemon. Start with the offline demo, then point it at your own vault.
Then bring in documents and see the whole picture: memora ingest <file|url> adds PDFs, web pages, and transcripts as verifiable notes, and memora report --open renders an interactive claim-graph overview.
Verifiable memory for your notes and your agents. Single binary, no subscription, every citation auditable.