Offload

The Offload block copies the source folder to one primary destination and up to three additional destinations. Every file is verified with xxh64 checksum after transfer.

Configuration

Source — set by dragging a folder from Finder into the Source area at the top of the Workflow tab, or by clicking the path selector.

Primary Destination — the main offload target. Required when Offload is enabled.

Additional Destinations — up to three extra destinations, enabled independently. Each destination runs in parallel with the primary transfer.

Transfer Process

When the session starts, evrExpanse:

  1. Scans the source folder and counts files
  2. Checks for zero-byte files and presents a warning if any are found
  3. Transfers files to all enabled destinations
  4. Verifies each transferred file by comparing xxh64 checksums between source and destination
  5. Seals the destination folder with MHL if enabled in Preferences

Checksum Verification

Every file is verified after transfer by comparing its xxh64 hash at source and destination. Transfer reports label the algorithm xxh64be, which is the same function: the suffix refers to the byte order of the digest as it is written out.

If a file already exists at the destination, a full checksum comparison is performed:

  • Checksums match — the file is considered verified, no transfer needed.
  • Checksums differ — behaviour depends on the Stop on Duplicate Checksum Mismatch preference:
    • Disabled (default) — the incoming file is saved with (evrE copy) appended to the filename. Checksums are recalculated and compared again.
    • Enabled — the offload stops immediately. The source file is not copied. Filename integrity is preserved absolutely.

When a copy or a verification read fails, the Event Log and the transfer report state the file, the reason and the side that caused it; a failed copy is retried once before the offload stops.

How verification works

On macOS a file that has just been written is normally served from RAM when read back. This is standard operating-system behaviour and affects any software that verifies a copy by re-reading it: the checksum comparison confirms what is in memory, not what reached the disk.

evrExpanse forces the verification read to come from the storage device rather than from the system cache. The copy is also flushed to the drive itself — not merely handed to the operating system — before the transfer is reported as complete, and the same flush covers extended attributes, ACLs and timestamps.

On some destinations the verification read cannot be forced to the device. The copy and its verification still complete normally, but the verification read may be served from memory — the same behaviour as any other software. When this happens, evrExpanse notes it in the Event Log with a warning naming the file, so a session's verification level is never silent. Whether this is available depends on the destination — and rather than maintaining a table that would age with every macOS release, evrExpanse reports the actual behaviour per file, in the session where it matters: if no warning appears in the Event Log, every file in that session was verified at storage level.

This matters most in a card offload, where the copied file becomes the only copy the moment the card is reformatted.

What this covers, and what it does not

Verification confirms the bytes on the destination medium. On network destinations the verification read travels across the network, but the guarantee ends at the server, which may answer from its own cache. The guarantee also stops at the drive itself: what the device reports as written may still sit in its internal memory — this is a host-level guarantee. And because both checksums derive from a single read of the source, verification cannot detect a source that silently returns wrong data: a read error stops the offload and is reported, but a medium that reads back corrupted bytes without reporting a fault will produce matching checksums. Verification proves the destination equals what was read — it cannot prove the read equalled the recording.

Zero-Byte File Detection

Before the transfer begins, evrExpanse scans for zero-byte files in the source folder. If any are found, a warning is presented before processing starts. You can view the full list of affected paths and decide whether to proceed. Zero-byte files are included in the final Transfer Report regardless of the decision.

Folder Sealing — MHL

When enabled in Preferences, evrExpanse seals the destination folder after a successful offload by generating an MHL file. Two formats are supported:

  • ASC MHL — modern standard by the American Society of Cinematographers. Supports xxh64, xxh3-64, xxh3-128, md5, sha1, c4.
  • MHL v1 — original Pomfort format. Supports md5, sha1, xxhash, xxhash64be, xxhash64.

evrExpanse checks for existing MHL files at the destination and verifies against historical records. Any discrepancy is logged in the event log.

Hidden files, log files inside evrE_FolderName subfolders, and system files such as .DS_Store are automatically excluded from MHL generation.

Offload Report

If Save Transfer Report to Destination is enabled in Preferences, a detailed report is saved alongside the offloaded files. The report includes filenames, timestamps, checksums, and verification results for every file in the transfer.

evrExpanse 700.25 - macOS:15.7.4 - system:Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz with 8 cores and 16 threads

-- Offload Summary Report --

Source Folder: /Volumes/Crucial_2TB_P2_nvme/B1_mix
Destination Folder: /Volumes/Crucial_2TB_P2_nvme/Offload nvme/B1_mix

Start Time: 2026-06-07 at 21.07.41
End Time: 2026-06-07 at 21.07.57

Hash Algorithm: xxh64be
Preserve Filename on Checksum Mismatch: Enabled
Exclude Hidden Files: Enabled

Total Files: 13
Processed: 13
Verified: 13
Transferred: 13

Data Transferred: 38429188096 bytes (38.43 GB)
Transfer Duration: 00:00:15 (15.5 seconds)

Status: 🟢 All files were verified successfully.

📎 Source File: /Volumes/Crucial_2TB_P2_nvme/B1_mix/thumb_001.jpg
Source size: 512000 bytes
Source hash: 045035d94bc00901
Destination file: /Volumes/Crucial_2TB_P2_nvme/Offload nvme/B1_mix/thumb_001.jpg
Destination hash: 045035d94bc00901
Data transferred: 512000 bytes (512.00 KB)
Status: ✅ File successfully copied and verified. Destination checksum matches source. 

📎 Source File: /Volumes/Crucial_2TB_P2_nvme/B1_mix/thumb_002.jpg
Source size: 512000 bytes
Source hash: fa63e64bc8ed547c
Destination file: /Volumes/Crucial_2TB_P2_nvme/Offload nvme/B1_mix/thumb_002.jpg
Destination hash: fa63e64bc8ed547c
Data transferred: 512000 bytes (512.00 KB)
Status: ✅ File successfully copied and verified. Destination checksum matches source. 

📎 Source File: /Volumes/Crucial_2TB_P2_nvme/B1_mix/thumb_003.jpg
Source size: 512000 bytes
Source hash: 968c016ff3aa787b
Destination file: /Volumes/Crucial_2TB_P2_nvme/Offload nvme/B1_mix/thumb_003.jpg
Destination hash: 968c016ff3aa787b
Data transferred: 512000 bytes (512.00 KB)
Status: ✅ File successfully copied and verified. Destination checksum matches source. 

📎 Source File: /Volumes/Crucial_2TB_P2_nvme/B1_mix/A001_audio.wav
Source size: 838860800 bytes
Source hash: 00587ca2088dbb68
Destination file: /Volumes/Crucial_2TB_P2_nvme/Offload nvme/B1_mix/A001_audio.wav
Destination hash: 00587ca2088dbb68
Data transferred: 838860800 bytes (838.86 MB)
Status: ✅ File successfully copied and verified. Destination checksum matches source. 

📎 Source File: /Volumes/Crucial_2TB_P2_nvme/B1_mix/thumb_004.jpg
.....
.....
.....

o/PARASHOOT Integration

If o/PARASHOOT by OTTOMATIC is installed on the system, evrExpanse can hand off control automatically after a successfully verified offload. The integration is triggered only when:

  • The source is the root volume of the card (e.g. /Volumes/CARDNAME)
  • All file count and checksum verifications completed without errors

If a subfolder is selected instead of the volume root, evrExpanse notifies you that the integration cannot be activated for that session.

Storage Recommendation

Direct Attached Storage (DAS) is recommended for optimal performance. Network Attached Storage (NAS) is supported but may introduce latency.