1. Overview
ZDDC — Zero Day Document Control — is an information management convention built on two rules:
- File naming — every deliverable filename encodes its tracking number, revision, status, and title. This makes each file self-describing and independently searchable without opening it.
- Folder naming — transmittal folders follow the same convention, date-prefixed so they sort chronologically and can be searched by the tracking numbers of the deliverables they contain.
Together, these two rules mean a plain folder on any shared drive becomes a fully searchable, auditable information management system. No server, no database, no software required to read the archive.
Because every deliverable is self-describing — its identity, revision, and status encoded in the filename itself — the convention works across organisational boundaries without requiring a shared platform. A project adopting ZDDC can extend the same convention to its clients, subcontractors, vendors, and any other party in the project ecosystem. Each party maintains their own archive; the shared naming convention makes every archive mutually intelligible. Adoption can be voluntary or contractually required. The result is a globally scalable, distributed information management system built on nothing more than agreed file naming and standard directory structures.
The tools below implement interfaces around this structure — but they're optional. The structure works without them, and any party can participate using only their file browser.
Convention harmonization. The convention is designed to be applied at multiple organisational scopes simultaneously — corporate, client, project, department — and the code registries at each scope should be harmonized so they do not conflict. A corporate discipline code such as HR (Human Resources) does not exist at the project level, so there is no clash. But a code that means one thing corporately and something different on a project would create ambiguity in a unified archive. The ideal is that conventions flow down: corporate establishes the master code registry, projects inherit it and extend it only where gaps exist, and no code is reused with a different meaning at a lower scope.
A note on terminology. "Document control" is the traditional term for managing the flow of project information, inherited from an era when a document meant a literal piece of paper. Today the same discipline applies to any file or dataset — PDFs, models, spreadsheets, native CAD files — and the field has increasingly adopted the term information management to reflect this. ZDDC uses the word deliverable throughout: anything with a tracking number and a revision history, regardless of file format or medium.
2. Filename format
The ABNF-like grammar below is a formal machine-readable definition of the filename format — primarily useful for parsers and AI systems. The human-readable explanation of each field follows in the sections below.
Rules:
- Tracking number: no spaces, no underscores, hyphens as separators only
- Underscore
_separates tracking number from revision - Revision: no spaces; may include
~prefix and/or+modifier - Space before
(status) - Space-dash-space
-before title - Extension is the original file extension, preserved exactly
Anatomy (from left to right):
Real examples:
3. Tracking numbers
A tracking number is a deliverable's permanent identifier. It never changes — regardless of revision, status, or content changes. Think of it like a passport number: your name can change, your passport number doesn't.
No spaces, no underscores — hyphens as separators only. Format is yours to define; it must be consistent within the scope it covers.
Field definitions (in order)
Tracking numbers are composed of the following fields, in order:
- originator — Organizational unit responsible for the deliverable
- project — Project identifier; a recognizable placeholder is used for corporate-scope deliverables
- [phase] — Optional phase code (e.g.,
ECI,EPC) - [area] — Optional area/budget code
- discipline — Engineering or functional group (e.g., EL, ME, CV, PM)
- type — Document category within discipline
- sequence — Zero-padded integer
- [suffix] — Optional hyphenated suffix for appendices or sheets
Schema rules
Choose the schema that matches your structure. The fields within brackets [ ] are optional and must be omitted consistently across all tracking numbers when not used.
| Schema name | Pattern | Example |
|---|---|---|
| Basic | originator-project-discipline-type-sequence |
ACME-123456-EL-SPC-2623 |
| With Areas | originator-project-area-discipline-type-sequence |
ACME-123456-B02-EL-SPC-2623 |
| With Phases | originator-project-phase-discipline-type-sequence |
ACME-123456-ECI-EL-SPC-2623 |
| Corporate | originator-000000-discipline-type-sequence |
ACME-000000-QC-PRO-0042 |
Rule: corporate placeholder. The Corporate schema substitutes a placeholder for the project identifier, indicating the document belongs to the originator's corporate library rather than a specific project. The placeholder does not have to be 000000 — any value works as long as it is easily recognizable as a corporate-scope marker and could not be mistaken for a real project number (e.g., 000000, CORP, HQ). Pick one and use it consistently. The same originator code and discipline/type conventions apply, so corporate documents sort naturally alongside project documents in a unified archive.
A sensible default profile. The schemas above are all valid tracking numbers; pick the one that fits your project. A common starting point is the Basic schema (originator-project-discipline-type-sequence), plus the optional per-deliverable [suffix] (a hyphenated part marker such as -A for an appendix). Two conventions are worth knowing:
- originator follows the party folder. When deliverables are filed under a per-party folder, the
originatormatches that folder's name — the folder is the single source of truth, so the code can't drift from where the document is filed. - phase and area are off by default. Because they are project-wide (all-or-nothing across a project), most projects omit them; a project that needs them adds them to every deliverable.
Discipline codes
Discipline codes identify the engineering or functional group responsible for the document. They are defined per project and should be documented in the Master Deliverables List.
| Discipline | Description |
|---|---|
AR |
Architecture |
CE |
Cost Estimating |
CM |
Construction Management |
CV |
Civil Engineering |
EL |
Electrical Engineering |
EM |
Engineering Management |
EN |
Environmental and Permitting |
FP |
Fire Protection |
HS |
Health and Safety |
IC |
Instrumentation and Control |
ME |
Mechanical Engineering |
NT |
Networking & Telecommunication |
PL |
Planning / Scheduling |
PM |
Project Management |
PS |
Procurement and Subcontracting |
QC |
Quality Assurance / Quality Control |
SE |
Security |
ST |
Structural Engineering |
Type codes
Type codes identify the document category within a discipline. Type codes are scoped per discipline — the same code may mean different things in different disciplines.
| Type | Description |
|---|---|
BLD | Block Diagram |
BOE | Basis of Estimate |
BOM | Bill of Materials |
CBE | Commercial Bid Evaluation |
CBS | Cable Schedule |
CED | Cause and Effect Diagram / Description |
CLC | Calculation |
CLY | Cable Routing / Layout |
COI | Certificate of Insurance |
CPO | Contract Purchase Order |
CTN | Control Narrative |
DCR | Design Criteria |
DDG | Detail Drawing |
DTS | Datasheet |
ELE | Elevation / Section Drawing |
ELS | Electrical Load Summary |
ELY | Arrangement / Equipment Layout Drawing |
EQL | Equipment List |
EST | Cost Estimate |
EXT | Project Extents / Limit Of Disturbance |
FAB | Fabrication Drawing |
FDN | Foundation Design Documents |
FIN | Architectural Finishing Plan / Schedule |
FRM | Framing Drawing |
GPP | General Plot Plan |
INV | Invoice |
IOM | Installation, Operation, and Maintenance Manual |
IRC | Inspection Certificate |
IRP | Inspection Report |
KDC | Key Document Design Change Note |
LGD | Logic Diagram |
LOD | Loading Diagram |
LST | List |
MDL | Master Deliverables List |
MOD | 3D Model / Database |
MOM | Minutes Of Meeting |
MPR | Monthly Progress Report |
MTO | Material Take-off |
NPT | Nameplate |
OUT | Outline Drawing |
PCO | Project Change Order |
PEP | Project Execution Plan |
PHS | Phasing Diagram |
PIL | Piling Plan / Elevation / Detail |
PLN | Plan Drawing |
PMP | Portfolio Management Plan |
PNP | Plan & Profile |
PRO | Procedure |
PSR | Procurement Status Report |
REP | Report |
RFI | Request For Information |
RFP | Request For Proposal |
SCD | Schematic |
SCH | Project Schedule |
SKT | Sketch (informal) |
SLD | Single Line Diagram |
SOV | Schedule Of Values |
SOW | Scope Of Work |
SPC | Equipment / Material / Installation Specification |
SSR | Supplier / Subcontractor Status Report |
STY | Study or Options Comparison |
SUB | Submittal |
TBE | Technical Bid Evaluation |
TRN | Transmittal |
WRD | Wiring Diagram |
Rule: Avoid ambiguity. On multi-discipline projects, type codes with overlapping meanings should be avoided or a cross-discipline registry should be agreed upon and documented.
Sequence numbers
Sequence numbers make the tracking number unique given all the preceding fields. Use zero-padded integers (e.g., 0001, 0042).
A suffix separated by a hyphen can denote appendices or sheets that are structural parts of the same deliverable:
Suffix vs. attachment rule: Use a suffix only for content that is a structural part of the deliverable (appendices, sheets). Files that accompany but are independent of the deliverable should be filed as separate documents with their own tracking numbers — not as suffixes.
Search benefit: Because discipline and type are embedded in every filename, your file browser's search box is already a filter. Search EL-SPC to find all electrical specifications. Sort by name and every document groups with its full history.
4. Revisions
The revision field indicates the iteration stage of the deliverable. It consists of an optional ~ draft prefix, a base revision, and an optional + modifier.
Base revision types
Base revisions are one of three types: letter revisions (A, B, C...), number revisions (0, 1, 2...), or date-based revisions.
| Type | Format | Phase | Sort behavior |
|---|---|---|---|
| Letter revision | [A-Z]+ |
Design/review phase | Sorts before number revisions ( lexical) |
| Number revision | [0-9]+ |
Construction/record phase | Sorts after letter revisions ( lexical) |
| Date revision | YYYY-MM-DD |
Recurring or living documents | Sorts chronologically (ISO 8601) |
Letter revisions (design/review phase)
Letter revisions are used during the design and review phase. They sort lexically, so A < B < C, etc.
| Revision | Meaning |
|---|---|
A |
First issued revision |
B |
Second issued revision |
C, D, … |
Subsequent revisions |
Number revisions (construction/record phase)
Number revisions are used after approval, typically at the Issued For Construction (IFC) stage. They sort lexically after letter revisions.
| Revision | Meaning |
|---|---|
0 |
First numeric revision (typically after approval, IFC) |
1, 2, … |
Subsequent numeric revisions |
Date-based revisions
Date-based revisions apply to documents that are updated in place under a single permanent tracking number, where the date of the revision is the most meaningful piece of information a reader needs.
Rule: Two use cases for date-based revisions:
- Recurring documents — issued on a fixed cadence (e.g., meeting minutes). The tracking number is fixed; the revision identifies which occurrence.
- Living documents — issued on demand (e.g., schedules, risk registers). The tracking number is fixed; the revision indicates freshness.
Rule: Contra-indication. Documents that get a new tracking number each period (e.g., monthly progress reports where each month is a distinct deliverable) use normal letter and number revisions, not date-based revisions.
| Cadence | Revision format | Example |
|---|---|---|
| Quarterly | YYQX |
25Q1 = Q1 2025 |
| Monthly | YYMM |
2503 = March 2025 |
| Twice monthly | YYMM-XX |
2503-01, 2503-02 |
| Daily | YYYY-MM-DD |
2025-03-14 = 14 March 2025 |
Date-based revisions sort lexically in the correct chronological order — your file browser will list them in date order when sorted by name.
5. Draft prefix (~)
The ~ prefix indicates a working draft, not yet formally issued.
| Field | Meaning | Effect on filename |
|---|---|---|
| ~ position | Prepends the base revision | _ |
| Sort position | Sorts after the base revision | ~B sorts after B |
| Status field | Intended status when issued | Shows what status the draft will carry when issued |
Examples:
6. Revision modifiers (+)
Revision modifiers associate a file with a base revision without incrementing the revision. Used for comments, backup material, native source files, and quality records. Sorts after the base revision in alphabetical order.
The number after the modifier letter — +C1, +C2, and so on — is simply a sequence counter for uniqueness. If two reviewers each return a separate set of comments, they become +C1 and +C2. The same applies to all modifiers: the number distinguishes multiple files of the same type attached to the same revision.
Modifier table
| Modifier | Meaning | Typical status | Sort position |
|---|---|---|---|
+C1, +C2 |
Comments on the base revision | RSA RSB RSC RSD | After base revision |
+B1, +B2 |
Backup material supporting base content | IFI | After base revision |
+N1, +N2 |
Native format files (editable source, e.g., CAD or source files) | IFI | After base revision |
+Q1, +Q2 |
Quality check records | RSA RSI | After base revision |
Every project team already does the things described below. ZDDC just gives each one a consistent place in the filename. Start with the formal revisions — the rest follows naturally.
The formal revisions
| Filename | What it is |
|---|---|
123456-EL-SPC-2623_~A (IFR) |
Working draft — intended for issue for review |
123456-EL-SPC-2623_A (IFR) |
Rev A — formally issued for review |
123456-EL-SPC-2623_~B (IFR) |
Working draft of Rev B, incorporating reviewer comments |
123456-EL-SPC-2623_B (IFA) |
Rev B — issued for approval |
123456-EL-SPC-2623_~0 (IFC) |
Working draft of construction issue |
123456-EL-SPC-2623_0 (IFC) |
Rev 0 — Issued For Construction |
123456-EL-SPC-2623_~1 (IFC) |
Working construction revision — field change |
123456-EL-SPC-2623_1 (IFC) |
Rev 1 — construction revision issued |
123456-EL-SPC-2623_~2 (REC) |
Working as-built — being prepared for record |
123456-EL-SPC-2623_2 (REC) |
Rev 2 — Issued For Record (as-built) |
+ Native source files
Native source files are saved alongside the published PDF, tied to exactly the revision they produced.
| Filename | What it is |
|---|---|
123456-EL-SPC-2623_A+N1 (IFI) |
Native source files for Rev A (e.g., CAD or Word ZIP) |
123456-EL-SPC-2623_B+N1 (IFI) |
Native source files for Rev B |
123456-EL-SPC-2623_0+N1 (IFI) |
Native source files for Rev 0 |
123456-EL-SPC-2623_1+N1 (IFI) |
Native source files for Rev 1 |
123456-EL-SPC-2623_2+N1 (IFI) |
Native source files for as-built record |
+ Internal quality checks
Quality check records are kept in the archive, attached to the revision they checked, without cluttering the main sequence.
| Filename | What it is |
|---|---|
123456-EL-SPC-2623_A+Q1 (RSA) |
Quality check of Rev A draft — approved |
123456-EL-SPC-2623_B+Q1 (RSA) |
Quality check of Rev B draft — approved |
123456-EL-SPC-2623_0+Q1 (RSA) |
Quality check of Rev 0 — approved |
123456-EL-SPC-2623_1+Q1 (RSA) |
Quality check of Rev 1 — approved |
123456-EL-SPC-2623_2+Q1 (RSA) |
Quality check of as-built — approved |
+ Client or reviewer comments
Comments come back from reviewers anyway — as marked-up PDFs, emails, spreadsheets. The +C modifier gives each set of comments a place in the archive alongside the revision it applies to. The number suffix (+C1, +C2…) simply distinguishes between multiple sets of comments on the same revision.
| Filename | What it is |
|---|---|
123456-EL-SPC-2623_A+C1 (RSB) |
Reviewer comments on Rev A — incorporate and resubmit |
123456-EL-SPC-2623_B+C1 (RSA) |
Reviewer comments on Rev B — approved, no further review |
7. Status codes
Status codes indicate the approval or review state of a deliverable. They appear in parentheses in the filename.
Primary status codes (closed set)
Primary status codes are used on formally issued deliverables. The status field in a draft filename shows the intended status when issued.
Rule: No DFT status. Draft status is not encoded as a status field. It is indicated by the ~ prefix on the revision, and must also be physically marked in the file itself (e.g., a DRAFT watermark or stamp).
| Code | Meaning | Action required |
|---|---|---|
| IFA | Issued For Approval | Formal sign-off required before proceeding |
| IFB | Issued For Bid | Price to this — binding scope |
| IFC | Issued For Construction | Build to this — approved |
| IFD | Issued For Design | Rely-upon inputs for downstream design. Confirmed items may be used to proceed. Items marked as holds are issued for awareness only and must not be relied upon until the hold is lifted. |
| IFI | Issued For Information | No action required — for awareness only |
| IFP | Issued For Purchase | Procurement may proceed to this version |
| IFR | Issued For Review | Please review and return comments |
| IFU | Issued For Use | Approved for operational use |
| REC | Issued For Record | Final as-built or archived version |
| TBD | To Be Determined | Planned or forecast deliverable — issue status not yet decided. Used as a placeholder when a transmittal folder is set up ahead of the document; assign a real status before issuing. |
| --- | No status | Working version — status not yet assigned |
Review status codes (closed set)
Review status codes are used as the status on +C (client or reviewer comments) and +Q (internal quality check) files. They record the outcome of the review — what the reviewer concluded and what action is required on the base document.
| Code | Meaning | Consequence |
|---|---|---|
| RSA | Review Status A | No comments — approved as submitted |
| RSB | Review Status B | Incorporate comments, resubmit for record |
| RSC | Review Status C | Incorporate comments, resubmit before proceeding |
| RSD | Review Status D | Rejected — resubmit per stated requirements |
| RSI | No Review Required | Supplemental information only |
Typical review cycles
| Cycle type | Sequence | Notes |
|---|---|---|
| Typical | IFR → RSA |
Reviewer approved without comments |
| Extended | IFR → RSC → IFA → RSB |
Comments require resubmission, then approval, then final record |
8. Folder naming
Transmittal folders follow the same convention as filenames — date-prefixed so folders sort chronologically:
Format: YYYY-MM-DD_trackingNumber (status) - title
Two tracking numbers in play
Two tracking numbers are always in play:
- Deliverable tracking number — embedded in each filename; permanent; unchanged across all packages it ever travels in
- Submittal package tracking number — in the folder name; reused by the response (same number, different date/status/optionally different title); a resubmittal gets a NEW tracking number
Submittal, response, and resubmittal rules
| Action | Submittal tracking number | Revision date | Status |
|---|---|---|---|
| Initial submittal | New tracking number | Issue date | Issued For Review |
| Response | Reuses original tracking number | Response date | Review outcome (RSA, RSC, RSB, or RSD) |
| Resubmittal | New tracking number | Resubmittal date | Typically Issued For Approval |
The status on a package folder is the lowest review outcome across all deliverables inside it. It summarises the package; it does not override the outcome of any individual deliverable.
Tracking individual deliverables
Search the deliverable's own tracking number across all transmittal folders in issued/ and received/. Every folder containing that number is part of its history: which package first carried it, what the response was, which resubmittal carried the revision, and what the final outcome was.
9. Project layout & transmittal workflow
A ZDDC project mirrors the natural lifecycle of an engineering deliverable: drafted in private, lined up for issue, formally exchanged, kept as record. Each folder maps to one of those stages, so file location alone tells you where a document is in its lifecycle. You only create the folders you need, when you need them.
How it flows. working/ → staging/ → issued/ is a one-way progression: your team drafts freely in working/, lines finished files up in staging/ for the document controller to sign off, and the document controller publishes the package into issued/ as the permanent record. Treat received/ and issued/ as write-once — once a document lands there, it stays exactly as filed.
5-step transmittal workflow:
| Step | Actor | Action | Verification |
|---|---|---|---|
| 1 | Sender | Creates transmittal folder and uploads to receiver's incoming/ |
Filenames match ZDDC convention |
| 2 | Receiver | Validates filenames, completeness, and SHA-256 checksums | All checksums match |
| 3 | Receiver | Moves folder from incoming/ to received/ |
Permanent record established |
| 4 | Receiver | Saves acknowledgment with SHA-256 hashes | "Official" version recorded |
| 5 | Receiver | Notifies sender and distribution list | Hashes included in notification |
What SHA-256 gives you: Mathematical fingerprint of file contents. Single byte change → hash changes. When acknowledgment records hashes, you can verify years later that the file is identical to what was transmitted.
Drafting a response transmittal
Submittals from counterparties (tracking numbers containing -SUB- at status IFR or IFA) require a response transmittal whose status starts with RS (RSA, RSB, RSC, …). The flow follows the same lifecycle:
- For a submittal in
received/, start a review folder underreviewing/that points back to it, so every open response is in one place. - Draft your reviewer notes and the response itself in
working/. - When the response is ready, move the files into
staging/for the document controller to sign off. - The document controller issues the package from
staging/intoissued/via the standard 5-step transmittal flow.
10. Tools
Single-file HTML applications — each is complete and self-contained. Save one locally and it works forever, without internet, without updates, without a subscription. None of them require any configuration to run; optional .zddc files only add to them. Together they cover the full ZDDC workflow: browse to look at anything; classify to name incoming files and build transmittals; archive to search and export the formal record.
.zddc files add friendly labels, per-folder tools, permissions, and transmittal actions; without them it is still a complete browser.To open a folder directly from your computer, use a Chromium-based browser — Chrome, Edge, or Brave. That feature relies on the browser's File System Access API, which Firefox and Safari do not yet support.