DFYAI · In development
Document review with local AI, not a cloud service.
DFYAI turns a production into a review your team can search, code, produce and question, and shows you who communicated with whom.
Every AI model runs locally, so no document is ever sent to an outside AI service.
See it in action
DFYAI in a minute
A short narrated tour, run on the Springfield demo collection.
Ready when you are, not finished yet
DFYAI works today: every number on this page was measured on a real 31,233-document production. It isn't a finished product yet. Setup is still hands-on, and done by us. The technical page has the full list.
We host your review
Send us DFYCollect's output, or any other standard load file, and we stage it for your team.
Run it yourself
We supply a review appliance with the hardware DFYAI needs — hardware most IT departments aren't set up to run or service.
Start to finish
How a review runs
Extraction is the slow step, which is why you choose what it covers. What it costs to run explains.
Load
Point it at the production's load file and check the columns it found. It converts the documents to PDF, makes their text searchable, reads images that have no text, and transcribes audio and video, then brings it all in, picking up where it left off if interrupted.
Review
Search by words or by meaning, read and code in one screen, and redact. With two screens, the document can have a window of its own.
Produce
Mark what goes out as you review. DFYAI checks the marking, then numbers and writes the production as natives or as TIFF, JPEG or PDF pages, with redactions removed and a privilege log.
People
See who sent, received or wrote each document, who is mentioned in it, and the relationships between them in a graph.
Extract and resolve
Choose the documents that matter, and a language model on local machines reads them into facts: who did what, to whom, and when. Resolve then merges the names it can safely match — Mr. Burns, C. Montgomery Burns — and lists the rest for you to decide.
Explore
Ask a question; get an answer with its sources and a link straight to those documents, to find where to look.
The application
What it looks like
Every frame is the springfield corpus: 310 synthetic documents built for this, so the names are recognisably fictional and no real matter is photographed.
Where the models run
Local AI, and why it matters
For many firms, sending client evidence to an AI company is off the table.
Local only
Every AI model runs on the review machine, or on other machines of yours on the same network if you add them. There's no cloud AI service behind it.
Nothing phones home
No telemetry, no metrics export, no update check, no crash reporting. No document goes to an outside AI service, and nothing reports back to anyone.
One honest caveat
DFYAI is set up today to run on a single machine and isn't yet hardened for a shared network. The technical page says what that means.
Coding travels with you
Coding passes to and from DFYReview in one file, so a matter can be reviewed in either and produced from either.
Precisely
What the AI actually does
Five things, and it's worth being precise about which of them involve a model at all.
Relationships
Not AISender, recipient, cc, bcc, author and custodian are read out of the load file and written as facts. Nothing is inferred, and most of the People screen comes from here.
Knowledge extraction
ModelThe model reads each passage and records the facts in it — who did what, to whom, and when — which become the graph. No human confirms them.
Search by meaning
ModelEvery passage is indexed by meaning when it's imported, so search can find one that says the same thing in different words.
Question answering
ModelAn answer is written from the facts and passages that bear on the question, with its sources listed. No human confirms it.
Entity summaries
ModelA short account of one person or organisation, written from all its relations. Same caveat.
What none of it does
DeliberateIt doesn't decide responsiveness or privilege, code documents, choose what to redact, or rank documents for review — people do that. And it doesn't learn from your coding.
When it goes out
Producing
A production is checked before anything is written, and kept afterwards exactly as it went.
Marked as you review
Produce, Produce redacted, Withhold as privileged or Not produced, each with a designation. A matter starts with Confidential and Attorneys' Eyes Only, and adds the levels its protective order uses, each with its own wording for the stamp.
Checked before anything is written
What would stop the production is shown first, and fixed, or overridden with a reason that is kept with the production. The same checks run again when Produce is pressed.
Numbered and stamped
Natives with their text, or TIFF, JPEG or PDF pages stamped with their number and designation. Families are numbered together, and a withheld attachment keeps its place with a slip sheet.
Redactions removed, and checked
What's under each box is taken out of the page, not covered. The text that goes out is read from the redacted pages, and the production stops if any of the covered words are still there.
What you can stand behind
The record it keeps
A review platform's real product is not the coding. It's the account of how the coding happened, which is what gets asked about later.
Every coding decision
Kept with the notes, categories and tags both before and after, so each row reads as a change. The record can only be added to, and each change is chained to the one before it, so an alteration made directly in the database shows, unless the whole chain is rebuilt after it, which an export kept elsewhere would show. The Status screen checks it, and a short script checks an exported record without DFYAI.
Inherited or deliberate
Coding that spread to a family or to identical copies records that it was inherited, and names the document the reviewer actually coded.
Who ran what
Imports, extractions and productions record who started them — a scheduled job as
system (scheduler), never as a blank — with the model and prompt version
where one was used.
What went out
Every production keeps its settings, its checks and any override with the reason, the documents it numbered, and its privilege log exactly as sent. None of it can be changed or deleted.
Where each fact came from
A fact in the graph records whether a model extracted it from document text or it was read from the load file, and a load-file fact names no model.
Questions and answers
Every question put to Explore is kept with its answer, who asked, when, the model and prompt version, and the passages and documents the answer rested on.
Who opened what
Off by default, switched on per matter by an administrator. Repeat opens within two minutes count once, and switching it on or off is itself recorded.
Handed over
A History tab per document, and an export of the whole record: coding, answers, access, runs, productions, privilege logs as sent and every redaction. Deleting a matter writes the record to disk first, and is refused if that fails.
And the limits
Which matter more than the list above
The rest are on the technical page.
Answers aren't reproducible
ExploreAn answer is readable afterwards, but rebuilding the graph can change what the same question returns. The product says so wherever it shows one.
Nobody checks the facts
ExtractionDFYAI records whether each fact came from the load file or from the AI, but the graph doesn't show the difference yet. Answers do weigh where each fact came from.
The access log starts when it's on
RecordNothing before it was switched on can be reconstructed.
Only as good as the accounts
RecordA trail saying a particular user did it proves nothing if that is a shared login, and no software can fix that.
Measured, not estimated
What it costs to run
On the same 31,233-document production. Times are GPU time: networked GPUs share the work, so adding them shortens the wait.
Import
6 h 2 m
for 31,233 documents and 477,583 passages
Including indexing every passage by meaning, with no errors.
Knowledge extraction
3.9 seconds
a passage, 923 an hour
The number that changes how you work, so it belongs here rather than in a footnote.
A graph of everything
about 22 days
for the whole production
That's why extraction is scoped to a category, a tag or the current filter and started deliberately — plan for a graph over the part of a matter that warrants one.
Evaluating it properly
How it works, and its limits
The technical page covers the setup as it stands today, measured performance, and a section called Current limits, stated plainly.