# Transmittal Creator [← Back to ZDDC](../README.md) Create professional document transmittals that are impossible to forge or tamper with. Each transmittal is a self-contained HTML file with built-in integrity checking and optional digital signatures. Email it, archive it, trust it. **[πŸ”— Open Transmittal Creator](dist/transmittal.html)** - Click to use online, or right-click β†’ "Save Link As" to keep your own copy. ## The "Record Player with the Record" Concept This tool embodies true data portability - each transmittal contains both the data AND the viewer. Recipients don't need special software, accounts, or training. They just open the HTML file in any browser to see a professional transmittal with full verification capabilities. In 20 years, it will still work exactly the same. ## What Makes Transmittals Special? βœ… **Tamper-Proof** Every file gets a SHA-256 fingerprint. If even one character changes, it's detected instantly. πŸ”’ **Digitally Signable** Optionally sign with cryptographic keys. Proves WHO sent it and WHEN, forever. πŸ“§ **Self-Contained** The entire transmittal is one HTML file. Email it, archive it, open it anywhere. πŸ“Š **Machine-Readable** Embedded JSON data means your systems can parse and process automatically. πŸ” **Independently Verifiable** Anyone can verify signatures and checksums - but verification MUST be done using a trusted copy of this tool, not the transmittal itself. See [Verification Security](#verification-security) below. ## Quick Start ### Workflow A: Paste file list first (typical for new transmittals) 1. **Fill in the header** β€” Tracking Number, Date, To, From, Subject, Purpose, Remarks 2. **Create Folder** β€” Menu β†’ Create Folder β†’ select staging directory β†’ folder is created and selected 3. **Paste file list** β€” Copy 3-5 adjacent columns from Excel (Tracking, Title, Revision, [Status], [Extension]) β†’ Menu β†’ Paste New Rows 4. **Drop files onto rows** β€” Drag individual files from your OS onto matching rows to copy with ZDDC names and compute hashes 5. **Save Draft** β€” Menu β†’ Save Draft β†’ save into the created folder 6. **Publish** β€” When ready, Menu β†’ Publish β†’ choose Unsigned or Signed ### Workflow B: Scan an existing directory 1. **Click "Select Directory"** β€” Choose folder with files to transmit 2. **Files auto-populate** β€” With tracking numbers, revisions, and checksums parsed from ZDDC filenames 3. **Fill in the form** β€” To, From, Subject, and any remarks 4. **Click Publish** β€” Choose Draft, Unsigned, or Signed 5. **Send the HTML file** β€” Email it or save to your archive ## Verification Security ⚠️ **CRITICAL: Self-Verification is NOT Secure** When you open a transmittal, it may display "βœ“ Signature Valid" - but **this display can be faked**. A malicious actor could create a transmittal that shows valid signatures while containing altered data. ### How to Verify Securely **For Document Controllers / Official Verification:** 1. **Use a trusted tool instance** - Download the official transmittal tool from a trusted source (e.g., your organization's approved version or https://zddc.varasys.io/releases/transmittal_stable.html) 2. **Export JSON from the transmittal** - Open the transmittal β†’ Click "Download Data" 3. **Import JSON into trusted tool** - Open your trusted tool β†’ Click "Load JSON" β†’ Paste the exported data 4. **Verify file hashes** - Click "Select Directory" and point to the actual files 5. **Check the verification display** - Only trust the verification shown in YOUR trusted tool, not the transmittal itself **Why This Works:** - The trusted tool's code is verified (by you or your organization) - The JSON data is extracted and re-verified independently - File hashes are computed fresh from the actual files - The verification logic cannot be tampered with **For Casual Review:** - The self-verification display is fine for informal checks - Useful for catching accidental modifications - NOT sufficient for legal/contractual verification ### Verification Workflow ``` Received Transmittal (untrusted) ↓ Export JSON Data ↓ Trusted Tool Instance (verified by your organization) ↓ Import JSON β†’ Verify Signatures β†’ Verify File Hashes ↓ Official Verification Result ``` **Best Practice:** Organizations should maintain a verified copy of the transmittal tool at a known URL or network location for all document controllers to use for official verification. ## Technical Architecture ### Data-First Design - **Single source of truth**: `