Build Production QC Report
Skill: Convert a production volume + load files into a pre-delivery QC report
Region: United States Category: Legal / eDiscovery Does: Takes a prepared production volume and its load files and produces a quality-control report — verifying Bates continuity, document-count reconciliation, redaction completeness, load-file field validity, native-file integrity, privilege-log cross-reference, and confidentiality-designation completeness — run before the volume is delivered to the requesting party. Authority: EDRM Production phase best practices · court ESI production orders · producing-party counsel review standards
A defective production (Bates gaps, leaked privileged or PII content, broken load files) is expensive and embarrassing to fix after delivery and can waive privilege. This QC report is the last gate before delivery. It checks the volume against the agreed ESI protocol and the upstream work product (privilege log, redaction set, Bates plan).
When this applies
- Immediately before serving any production volume (especially rolling productions where errors compound).
- After applying Bates numbers, redactions, and confidentiality endorsements and generating the load files.
QC checks performed
| Check | Verifies |
|---|---|
| Bates continuity | sequential, no gaps, no duplicates, no overlap with prior volumes; family ranges contiguous |
| Document/page count reconciliation | volume count = load-file row count = image/native count = transmittal-letter count |
| Load-file field validation | DAT field count consistent per row; required metadata fields populated; delimiters intact; OPT DocBreak/page counts match the DAT Bates ranges |
| Redaction completeness | every document flagged for redaction has burned-in redactions and scrubbed text/metadata; sampled OCR/text contains no redacted values |
| Native-file integrity | native slip-sheets resolve to a native file; hash matches the processed source; produced natives open |
| Privilege-log cross-reference | withheld docs are absent from the volume; redacted-for-privilege docs appear with redactions and are logged; no privileged doc produced in the clear |
| Confidentiality designations | every document carries the designation the review assigned; AEO/Confidential endorsements present on images and in the load-file field |
| Format conformity | form of production matches the ESI protocol (native vs image, metadata field list, text/OCR present) |
Output structure
{
"volume": "VOL003",
"bates_range": "BETA0008001-BETA0011200",
"checks": {
"bates_continuity": { "status": "pass", "gaps": [], "overlaps": [] },
"count_reconciliation": { "status": "fail", "volume": 1040, "loadfile_rows": 1039, "delta": 1 },
"loadfile_validation": { "status": "pass", "field_count": 28, "missing_required": [] },
"redaction_completeness":{ "status": "warn", "docs_flagged": 14, "verified": 13, "exceptions": ["BETA0009055"] },
"native_integrity": { "status": "pass", "natives": 22, "hash_mismatches": [] },
"privilege_crossref": { "status": "pass", "withheld_present": [], "redacted_logged": true },
"confidentiality": { "status": "pass", "undesignated": [] }
},
"overall": "HOLD - resolve count delta and BETA0009055 redaction before release"
}
QC rules
- Reconcile counts three ways (volume ↔ load file ↔ images/natives ↔ transmittal). A single-document delta usually means a dropped family member or a slip-sheet mismatch — find it before release.
- Treat redaction and privilege failures as blocking — these risk waiver/exposure. A produced-in-the-clear privileged or unredacted-PII document is a release-stopper, not a warning.
- Sample the text/OCR layer, not just the image, to confirm redactions scrubbed the underlying text and metadata fields.
- Validate the load file mechanically (field count per row, delimiters, date formats, path resolution) and confirm OPT page boundaries reconcile to DAT Bates ranges.
- Verify native hashes against the processed source so produced natives aren't corrupted or swapped.
- Classify each check pass / warn / fail and set an overall HOLD/RELEASE; document exceptions and their resolution for the production record.
Worked example (summary)
VOL003 (BETA0008001–0011200) QC:
✔ Bates continuous, families intact
✘ Count reconciliation: volume 1040 vs load file 1039 → 1 missing (attachment BETA0009101 not in DAT)
⚠ Redaction: 13/14 verified; BETA0009055 image redacted but text layer still contains the SSN
✔ Native integrity (22 natives, hashes match)
✔ No privileged docs in volume; redacted-for-privilege docs match the privilege log
→ OVERALL: HOLD — add BETA0009101 to load file; re-scrub BETA0009055 text layer; re-QC, then RELEASE
Validation checklist
- Bates continuous (no gaps/dupes/overlaps); family ranges contiguous
- Counts reconcile across volume, load file, images/natives, and transmittal letter
- Load file validated (field count, delimiters, required metadata, date formats, paths); OPT ↔ DAT Bates agree
- Redactions burned in and text/metadata scrubbed; sampled text confirms no leaked values
- Native slip-sheets resolve; hashes match source; files open
- Privilege cross-check: no withheld/privileged doc produced in the clear; redacted-priv docs logged
- Confidentiality designations complete on images and in the load file
- Redaction/privilege failures treated as blocking; overall HOLD/RELEASE set; exceptions documented
Last updated: 2026-05-31 — align the QC checks and pass/fail thresholds with the case ESI protocol, the protective order, and producing-counsel standards; confirm form-of-production requirements against current FRCP 34 before releasing the volume.