How it works
From input to verified outcome.
1. Ingest
Replayable stepNormalize sources into snapshots with Merkle proofs.
- Immutable snapshots pin every byte to a Merkle root.
- Residency + consent flags baked into the ingest contract.
- Schema and PII checks run before any operator can read.
2. Build
Replayable stepChunk, embed, and project into a governed graph.
- Chunkers and embedders are deterministic and versioned.
- Graph edges carry lineage and cost annotations.
- Vector + graph stores stay aligned to the same snapshot.
3. Reason
Replayable stepLLMs become constrained operators inside the graph.
- Policies select operators; prompts are templates, not chat.
- Evidence grounding enforced through graph adjacency.
- If an LLM drifts, outputs are rejected before they can land.
4. Receipt
Replayable stepRecord the run with replayable artifacts.
- Receipts capture inputs, edges, and operator attestations.
- Replay: same snapshot → reproducible outputs by design.
- Conflicts logged with severities so humans can intervene calmly.
Stage receipts (all visible)
Each stage renders its receipt slice by default—no hidden accordion.
IngestReceipt visible
Normalize sources into snapshots with Merkle proofs.
- Immutable snapshots pin every byte to a Merkle root.
- Residency + consent flags baked into the ingest contract.
- Schema and PII checks run before any operator can read.
Receipt anchor: Receipt binds source checksum + residency tags before any downstream operator executes.
BuildReceipt visible
Chunk, embed, and project into a governed graph.
- Chunkers and embedders are deterministic and versioned.
- Graph edges carry lineage and cost annotations.
- Vector + graph stores stay aligned to the same snapshot.
Receipt anchor: Replay uses identical chunk + embed versions; graph edges align to the pinned snapshot ID.
ReasonReceipt visible
LLMs become constrained operators inside the graph.
- Policies select operators; prompts are templates, not chat.
- Evidence grounding enforced through graph adjacency.
- If an LLM drifts, outputs are rejected before they can land.
Receipt anchor: Receipts show which operator versions fired and which outputs were rejected before landing.
ReceiptReceipt visible
Record the run with replayable artifacts.
- Receipts capture inputs, edges, and operator attestations.
- Replay: same snapshot → reproducible outputs by design.
- Conflicts logged with severities so humans can intervene calmly.
Receipt anchor: Receipt includes hash, Merkle root, conflicts, and the replay hash used for evidence export.
Receipts at every step
How FactumOS works.
Collect
Gather the approved sources, notes, and signals tied to the decision.
Connect
Link related facts so the full story is visible in one place.
Decide
Guide the assistant with clear rules so answers stay consistent.
Record
Create a receipt that captures sources, timing, and approvals.
Find, connect, then decide
Clear context before every answer.
Search approved sources only, so answers start with trusted inputs.
Pull the related context that matters for the decision.
Flag conflicts and outdated info before anyone answers.
Deliver the response and its receipt in the same step.
Decision checks
Receipts as approvals, not logs.
Contract verdict
Decision gate passed
Each step writes a receipt that captures sources, checks, and approvals.
Locked to the record for easy replay.
Locked to the record for easy replay.
Locked to the record for easy replay.
Audit posture
Receipts are approvals, not log excerpts.
Sources, timestamps, and outcomes stay together so auditors can replay the exact decision without drift.