Provenance for factual claims
Your agent writes the memo. Backdraft makes it show its work — one self-contained file where each claim carries the actual page or spreadsheet cell behind it.
Trailing performance supports the request: net operating income for the trailing twelve months was $1,429,6001, and the underwriting model carries a purchase price of $24.85 million2 against a 65% loan.
Click a claim — or press 1 / 2. This is the artifact experience, live on this page.
The evidence rail. When a reader clicks a claim, the source appears here — the quote, and the page or cells it came from. No installs, no network, no vocabulary.
Reference 1
T-12 Summary
Page 1
Total operating expenses were $1,254,800, or $9,803 per unit per year. Net operating income for the trailing twelve months was $1,429,600.
token bd:t12-summary:p1.c3:f10b
Reference 2
Underwriting Model
Assumptions · B10
| A | B | |
|---|---|---|
| 8 | Vacancy and credit loss | 0.0700 |
| 9 | Replacement reserve | 250 |
| 10 | Purchase price | 24,850,000 |
| 11 | Loan amount | 16,152,500 |
| 12 | Interest rate | 0.0615 |
token bd:underwriting-model:assumptions!B10:964a
Why
AI made the writing cheap. An analyst who cannot show where a number came from still either re-reads the source or discards the output — and both destroy the value of having the memo written at all. Backdraft moves the receipts into the document itself, so the question "where did that come from?" is answered by clicking, not by asking the author.
How it works
Source documents are only readable through backdraft read
and search, which stamp a citation token on everything they
show — and record that they showed it. The set of citable things is
exactly the set of things shown.
[bd:t12-summary:p1.c3:f10b]
Total operating expenses were $1,254,800, or $9,803 per unit per year.
Net operating income for the trailing twelve months was $1,429,600.
Every factual span carries the token of the evidence it rests on. A citation cannot be invented — a token the writer was never shown is a distinguishable failure, not an invisible one.
[net operating income of $1,429,600](bd:t12-summary:p1.c3:f10b)
Every token resolves or is reported — nothing drops silently. The artifact embeds the receipts and the evidence: cited pages as images, cited cells highlighted in their sheets. It opens from an email attachment with the network off.
$ backdraft bind memo.md --check value-trace,overlap bound 15 claim(s), 16 citation(s) [frontwalk] resolved: 15 unresolved: 1 ! unresolved: bd:t12-summary:p4.c1:1a2b
Field-tested
On a real financing memorandum, the marketing page advertised a 7.7% Year-1 debt yield. The underwriting model's cell held 0.0765 — which rounds to 7.6%. Backdraft's deterministic number check reads through commas, currency, percent-vs-decimal and rounding, and it names exactly what it could not find. Off by default; verification is evidence, never a gate.
Built like an instrument
A fully-resolved document says nothing about citations on its face. A claim citing something never read, a source that changed after writing (shown as a word-diff), a token naming nothing — announced plainly, kept in the record.
The artifact makes zero requests — no fonts, no scripts, no analytics — and a Content-Security-Policy makes the browser refuse any it might try. Your documents never leave your machine; ambient API keys are never read.
Cells are first-class citations. A cited cell renders selected in its own sheet — row labels, headers, neighbors — and opens into the full sheet, scrolled to the highlight.
Every artifact embeds a machine-readable record with a legend that teaches a cold reader to decode and check it. The format outlives the implementation; the spec is three markdown files.
For agents
Drop the skill into your agent's skills directory and it writes cited documents by default. The token-efficient reference is a plain-text file.
cp -r skills/backdraft ~/.claude/skills/ # Claude Code curl -O https://backdraft.dev/llms.txt # ~800-token reference