How It Works - Lifecycle walkthrough

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

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

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.