A database for knowledge that changes.

Most databases assume data is correct. Real systems are not like that. Sources are incomplete, facts conflict, knowledge evolves, and mistakes propagate. AttestDB is built for that reality.

View on GitHub Get started
Primitive

Not a row. Not an edge. A claim.

A claim is a statement with a source, a timestamp, and a confidence value. That gives you a storage layer that can track where knowledge comes from, detect contradictions, update when facts change, and reason over uncertainty.

Why this matters

If you are building AI agents, RAG systems, knowledge graphs, research pipelines, or long-running reasoning systems, you have already seen the same failure mode: answers without sources and no clean way to retract bad information.

What AttestDB changes

Instead of bolting provenance, correction, and temporal logic onto an existing database, it makes them first-class in the write path and query model.

Example

Retraction is not cleanup. It is a primitive.

The point is not just adding information. The point is letting the system know when previously trusted knowledge stopped being safe.

Write a claim
attest add "Company policy requires SOC2" \
  --source policy.pdf \
  --confidence 0.9
Retract a source
attest retract --source policy.pdf

# dependent claims are flagged,
# invalidated, or updated automatically
What You Get

Storage for sourced, contradictory, changing knowledge.

Source-aware writes

Store the reason to believe a statement alongside the statement itself.

Contradiction handling

Conflicting claims can coexist with evidence and confidence instead of being flattened away.

Retraction cascades

Invalidate a source and surface what downstream knowledge is now stale or unsafe.

Time-aware queries

Reason over when a claim was asserted, corroborated, weakened, or superseded.

Confidence scoring

Model uncertainty directly instead of treating every stored assertion as equally trustworthy.

Local-first operation

Single-file database, Rust engine, and no requirement to run a service just to get started.

Fit

Use it when correctness matters and knowledge changes.

AttestDB fits systems where sources matter, facts evolve, and you need the system to know when it is no longer safe to trust an answer.

Good fit

  1. AI agents and RAG pipelines
  2. Knowledge graphs with changing evidence
  3. Research and compliance workflows
  4. Systems that need to explain themselves

Bad fit

  1. Simple key-value or static content storage
  2. Workloads where provenance does not matter
  3. Systems that only need nearest-neighbor retrieval
  4. Data that never changes and never conflicts

Build systems that know when they are wrong.

Start with the quickstart if you want a working install, or jump into the docs if you want the API, schema, and implementation details.