Is this production ready to serve?
A production is a set of load files (DAT for metadata, OPT or LFP for images) plus the images, natives and text they point to. ProdFlow cross-checks all of it: Bates numbering, page counts, attachment families, file paths, dates and SHA-256 hashes.
Try it with sample data
Two synthetic productions, generated in your browser. The defective one has nine planted problems.
What was planted?
Check your own production
Drop the production folder here
or
Field mapping (optional)
Common names such as BegBates, BEGDOC, ProdBeg, BegAttach and NativeLink are recognized automatically.
Map anything else as role=Field Name, one per line. Roles: beg, end, begattach, endattach, native, text, sha256, pagecount.
Findings
| Severity | Code | Bates / key | Source | Detail |
|---|
No findings. Every check passed.
Load file integrity
Hashed before and after the run. Any change would abort the run.
| File | Encoding | SHA-256 |
|---|
Download
Byte-identical to the command-line tool's output for the same inputs. The audit log verifies with prodflow verify-log.
How much did the review miss?
After a technology-assisted review, draw a random sample from the documents you are not producing (the null set) and review it. The share of responsive documents in that sample, the elusion rate, gives a defensible estimate of recall with an exact confidence interval.
Result
- Estimated responsive documents missed
- Elusion rate
- Achieved margin of error
Methodology memo
What will this matter cost?
Volume, review hours and cost as a low/high range. Every assumption is visible and editable. These are planning figures, not vendor quotes.
Estimate
| Measure | Low | High |
|---|
Low and High combine every assumption's favorable or unfavorable end, so the spread is a bounding range, not a confidence interval.
Built to hold up
ProdFlow is a command-line tool and this browser version of it. Both share one specification and are tested against each other: for the same inputs they produce byte-identical reports.
Defensibility guarantees
- Source is read-only. Files are only read. In the browser that is enforced by the platform; the command-line tool also refuses to write inside the production.
- Integrity checked before and after. Load files are SHA-256 hashed before and after every run; any change aborts it.
- Tamper-evident audit log. Each entry records who ran what, when, and every input and output hash, and commits to the previous entry's hash.
- Reproducible. Reports carry no timestamps and are sorted deterministically. Same input, same bytes.
- No silent failures. Malformed rows, bad encodings and unresolvable paths become findings, never skipped rows.
- Private. This page's security policy blocks all network requests, so nothing you load can leave your device.
Command-line version
For full-size productions, scripting and chain-of-custody logging. Python 3.9+ only, no other dependencies.
git clone https://github.com/ryandus/ProdFlow.git cd ProdFlow python -m prodflow qc "D:\Productions\PROD001" --out qc_PROD001 --operator "Your Name" python -m prodflow verify-log qc_PROD001\audit.jsonl
Offline or air-gapped: serve this page locally with python -m http.server -d docs and open http://localhost:8000.