From card connect to safe reuse.

OffloadPro isn't a copy utility with extras bolted on. It's a single lifecycle that runs from device detection through asset visibility and into validated reformatting. Here's what happens at each stage.

Stage 01 - Connect

The card mounts. OffloadPro already knows it.

OffloadPro watches mount events across macOS, Windows, and Linux. The moment a card appears, its identity is resolved against the registry and surfaced live in the app.

●

Native device monitoring

OffloadPro uses each operating system's native device and mount APIs to detect cards and drives the moment they appear.

●

Identity resolution

Serial, vendor, filesystem, and barcode are matched against the registry on every mount.

●

Synthetic fallback identity

When the OS can't expose a real serial, OffloadPro derives a stable synthetic ID instead of treating the device as anonymous.

Devices · live
CFEXPRESS 512 GB A001_ARRI_512
Mount
/Volumes/A001_ARRI_512
Serial
3FD81-AC02
Vendor
SanDisk · Type-A
Filesystem
exFAT · 512 GB
Identity
REGISTERED · matched
Mounted
07:42:18 · 4 sec ago
Status
● LIVE - ready for offload
Stage 02 - Recognize & assign

Known devices bring their context with them.

A registered device knows which project and work unit it belongs to. Routing rules, source overrides, backup templates, and auto-offload behavior all attach automatically.

●

Project & work-unit hierarchy

Real productions are organized in nested units. OffloadPro mirrors that - devices live inside the structure they serve.

●

Scan-to-assign with barcodes

Print a label from any device record, then batch-assign with a physical scanner: pick the work unit, lay the cards on the table, and beep your way down the line - 16 cards assigned in under a minute.

●

Per-assignment overrides

Need a different source folder or a one-off backup for this work unit? Override at the assignment level - global rules stay clean.

●

Unknown? Register, don't guess

Cards you've never seen surface as UNREGISTERED with one-click registration into a target work unit.

Projects · Aurora · 14 work units A001 → DAY 3 → A-CAM
▾ Aurora · feature
42 DEVICES · 14 UNITS
▸Day 1 · INT - Crew apartment
3 ASSIGNED
▸Day 2 · EXT - Coastal road
5 ASSIGNED
▾Day 3 · INT - Diner sequence
4 ASSIGNED
● A001_ARRI_512 - A-cam
CFEXPRESS · AUTO-OFFLOAD
○B001_ARRI_512- B-cam
CFEXPRESS
○SD_BOOM_064- sound
SD · ZAXCOM
○SHUTTLE_RAID_8T- backup
SSD · MIRROR
▸Day 4 · INT - Hotel reshoot
3 ASSIGNED
▸Pickups · misc
2 ASSIGNED
Stage 03 - Route

Files split into project lanes - not one flat dump.

A routing template is a set of channels with rules. Each channel matches a pattern and writes to a templated destination. Files that don't match either go through unmatched handling or land in quarantine.

●

Token-based naming

Use {project}, {date}, {cam}, {wu} and other tokens to compose deterministic destinations.

●

Pattern rules

extension · contains · startswith · endswith · regex. Channel order is deterministic and previewable before you transfer.

●

Source overrides

Some cameras write to a deep path (/PRIVATE/M4ROOT/CLIP). Per-device source overrides keep your channels portable.

Routing template · A-cam (Day 3) DRY-RUN PREVIEW · 186 FILES
SOURCE A001C012.mxf A001C013.mxf A001C014.mxf SC03_BOOM.wav SC03_LAV1.wav A001_LOOK.cdl A001C012_PRX.mp4 PHOTO_0241.dng … 186 FILES TOTAL CHANNELS camera ext: mxf, mov, ari audio ext: wav, bwf · "BOOM*" look ext: cdl, lut, cube proxy contains: "PRX" unmatched → /_quarantine/ DESTINATION /Aurora/Day3/ camera/A001/ /Aurora/Day3/ audio/A001/ /Aurora/Day3/ look/ /Aurora/Day3/ proxy/A001/ /_quarantine/ unsorted/A001/
Stage 04 - Transfer & verify

One job. Many destinations. Full visibility.

Each offload is a transfer event with one primary job and as many backup child jobs as the template defines. Every byte is hashed and verified. Failures don't disappear - they become retryable rows.

●

File-level state machine

queued → reading → writing → verifying → done. Each transition is logged. Each file is independently retryable.

●

Backup as child jobs

The primary writes to project storage. Children mirror to backup destinations using the same verified bytes.

●

Recoverable interruptions

Card pulled mid-transfer? On next mount OffloadPro reconciles state, surfaces what's missing, and offers resume / restart / retry.

Transfer dashboard · 1 active · 2 backups JOB #4218
A001_ARRI_512 → /Aurora/Day3/ RUNNING 126 / 186 · 211 GB
↳ Backup #1 · Shuttle RAID
VERIFIED 64%
↳ Backup #2 · LTO cache
QUEUED 22%
SD_BOOM_064 → /Aurora/Day3/audio/ COMPLETE 42 / 42 · 8.2 GB
B001_ARRI_512 → /Aurora/Day3/ 3 RETRIES 98 / 102 · 168 GB
! 4 files failed verification - retryable RETRY ALL
CARD_C · pulled mid-transfer RECOVERABLE 63 / 124 · 91 GB
↳ Reconcile on next mount · resume from byte 91,234,567,890 WAITING…
Stage 05 - Index & review

Every transfer becomes a usable asset.

After verification, files are indexed: ffprobe-backed metadata, thumbnails, proxies for review-friendly playback, and waveforms for audio-aware scrubbing. The transfer doesn't end at the destination folder.

●

Searchable on the things that matter

Project, work unit, device, codec, FPS, capture date, extension, review state - all indexed.

●

Review state is first-class

Mark assets reviewed / unreviewed inline. Hand off review queues. The state propagates back to the transfer record.

●

Built-in viewer

Generated proxies play directly inside OffloadPro - no NLE required for triage.

Asset · A001C014_240426_R1AB.mxf REVIEWED · A-CAM · DAY 3
00:01:24
00:04:18
Codec
ProRes 4444 XQ
Resolution
3840 × 2160
FPS
23.976
Duration
00:04:18
Size
3.21 GB
Captured
2026-04-26 14:18:52
Device
A001_ARRI_512
Project
Aurora · Day 3
Work unit
INT - Diner
Hash
XXH3 ✓ a4b9…
Stage 06 - Format preflight

"I think it's safe" stops being part of the workflow.

When you ask OffloadPro to format a card, it runs a structured set of checks first: inventory coverage, project-path validation, backup-path validation, and live identity revalidation. Anything missing offers repair.

●

Repair from device

Project file missing? Re-transfer from the still-mounted card before reformatting.

●

Restore from backup

Backup file missing? Restore from project storage to backup before clearing the source.

●

Typed override for edge cases

Real life happens. Override is available - but it requires typing the device label, and it's logged.

Preflight · A001_ARRI_512 1 REPAIR
Inventory matches device contents 186 / 186 FILES · 312.4 GB · ALL ACCOUNTED FOR
PASS
All files exist on project storage /Aurora/Day3/ · 186 / 186 · CHECKSUM MATCH
PASS
Backup #1 · Shuttle RAID /Volumes/RAID-08/ · 186 / 186 · CHECKSUM MATCH
PASS
Backup #2 · LTO archive /archive/aurora/ · 4 FILES MISSING · LAST WRITE 02:14
Live device identity revalidated SERIAL 3FD81-AC02 · CFEXPRESS · FS exFAT · MOUNT GENERATION 4
PASS
Stage 07 - Safe reformat & reuse

The card is cleared on validated history. Not guessing.

After preflight passes (or repair is complete), the platform formatter runs with extra rails - removable-only enforcement, filesystem allowlist, mount generation lock, and a stability window. Format becomes a closing step, not a guess.

●

Removable-only enforcement

OffloadPro refuses to format internal disks. Even when override is typed. There is no path that targets your boot drive.

●

Mount generation lock

If the device disconnects between preflight and format, the operation is canceled. Identity must hold.

●

Format history per device

Every format is logged on the device record - operator, timestamp, prior job, repair actions taken.

Format complete · A001_ARRI_512 07:51:18 · 9 SEC

Card cleared. Ready for next assignment.

5 / 5 PREFLIGHT CHECKS PASSED · ALL 186 FILES VERIFIED ON PROJECT & BACKUP · OPERATOR crew-01

FILESYSTEMexFAT (rebuilt) VOLUMEA001_ARRI_512 DURATION9.4s RAIL CHECKSREMOVABLE · ALLOWLIST · GENERATION LOCK
FORMATS14 (lifetime) PRIOR JOB#4218 · Aurora · Day 3 NEXTAurora · Day 4 · A-cam STATUS● READY · CLEARED

Seven stages. One workflow. One database.

Detection, assignment, routing, transfer, indexing, preflight, and format all share state. That's what makes recovery possible - and what makes safe reuse a feature, not a hope.