For workers'-comp & litigation firms on MerusCase

Your entire MerusCase practice, mirrored to a drive you control.

MerusBackup pulls every case — every document, every party, every activity — out of MerusCase and onto your own computer. Cryptographically verified, resumable, and honest about exactly what it did and didn't capture.

Read-only on your case data
SHA-256 verified every file
No cloud middleman — direct to your disk
The problem

Your case files live on someone else's server.

A vendor outage, a billing lapse, a switch to another platform, or a simple "can you produce the complete file?" — and suddenly the documents that are the case are out of your hands. MerusBackup gives you an independent, verifiable copy that doesn't depend on anyone staying online.

§

Everything, not a snapshot

Cases, parties, injuries, activities, deadlines, message history, and every uploaded document — mirrored into a clean folder tree you can open in Finder.

Proven, not presumed

Every file is re-hashed against its source checksum. "Backed up" means byte-for-byte verified, never just "a file with that name exists."

!

Honest about gaps

If a document was never captured or a case is incomplete, it says so — loudly, in plain English. No green checkmark over a partial backup.

What gets backed up

Not just the documents — the whole case.

MerusCase isn't a folder of files; it's a structured record. MerusBackup captures every part of that record for each case — the data and the documents — and saves it as clean, open JSON plus the original files, organized so a human (or a tool) can actually read it.

C
Case detailCaption, number, status, type, key dates
P
PartiesEvery party on the matter, with role
@
Party contactsFull contact records — address, email, employment
+
InjuriesBody parts and injury detail on file
TasksOpen and assigned tasks with their contacts
Events & deadlinesHearings, depos, appointments, statutory dates
$
LedgersOpen and reviewed financial ledgers
Copy-service ordersRecords orders and their status
MessagesMessage headers and full bodies
ActivitiesThe case timeline — every logged activity
§
DocumentsEvery uploaded file, verified byte-for-byte
Reference tablesFirm-wide lookups so codes read as names

How it's organized on your disk

~/MerusBackup
MerusBackup/
├─ _reference/          # firm-wide lookup tables
│   users.json · caseStatuses.json
│   activityTypes.json · courts.json …
├─ CASE-749-Samson v. …/
│   ├─ case.json          # parties, injuries, events,
│   │                     #  tasks, ledgers, messages…
│   ├─ activities.json    # the case timeline
│   ├─ documents.json     # the document index
│   ├─ manifest.json      # hashes + sync state
│   ├─ README.md         # human case summary
│   ├─ index.json        # chronological doc list
│   └─ documents/        # the original files
│       934598906__CURRENT CASE.pdf
│       934599183__RETAINER.pdf …
└─ CASE-202-Jimenez v. …/

Self-decoding. Raw MerusCase records store codes (case_status_id, people_type_id…). MerusBackup also saves the firm's reference tables — users, case statuses, party types, event types, courts, forms, statutes and more — so years from now the backup still reads in plain English, with no live system to look anything up.

How it works

See the whole job before you commit a single byte.

MerusBackup reads your case metadata first — so it knows exactly how many documents and how many gigabytes a full backup is — then downloads them to disk, verifying each one as it lands.

1

Estimate

estimate reads the case index + activity metadata and reports the document count and total size — no downloads.

2

Plan the queue

plan builds the sized, ordered download list — referenced files minus what you already have — and checks it fits your disk.

3

Sync to disk

sync downloads the queue, verifying every file's checksum and writing it atomically. Stops cleanly; resumes where it left off.

4

Verify anytime

verify re-hashes the whole backup offline and writes a missing.txt of anything not fully captured.

merusbackup — pre-flight, then back up what fits
# 1. How big is the whole job? (metadata only — nothing downloaded)
$ merusbackup estimate
  cases in index:       222
  documents referenced: 126,131
  estimated size:       111.90 GB

# 2. Build the sized queue and fit it to the disk I have
$ merusbackup plan --max-size fit
  queued to download:   123,906 files
  queued size:          49.42 GB
  deferred by cap:      1,235 files (61.46 GB) — run again later
  free space:           58.16 GB available, ~56.84 GB needed
  ✓ fits — about 1.32 GB would remain free.

# 3. Download it, with a live progress bar + ETA
$ merusbackup sync --max-size fit
  ↓ 41,204/123,906 files · 18.7 GB / 49 GB · 38.1% · 4.2 MB/s · ETA 1h12m

# 4. Prove every byte landed correctly (offline, no network)
$ merusbackup verify
  ok:            1810
  corrupt:       0
  missing:       0
  size mismatch: 0
What's in the box

Built for a real firm backing up a real practice.

Σ

Know the size before you start

Estimate and plan the entire backup from metadata. No surprise mid-run — you see the document count and gigabytes up front.

½

Fits the disk you have

--max-size fit backs up what your drive can hold, defers the rest, and refuses to start a run that would fill the disk.

Resumable by design

Stop any time. The next run re-downloads nothing it already has and picks up exactly where it left off — even after a crash or power loss.

Keep it fresh

watch mode re-syncs on a schedule, pulling only what's new — a "Dropbox for MerusCase" that stays current on its own.

One-command repair

repair finds any damaged or missing file, clears it, and re-downloads just those — making a backup whole again.

Human-readable output

Each case gets a README summary and a chronological index of its documents — so the backup is browsable, not just an archive.

›_

Terminal or one-click

A clean CLI for power users, plus a double-click desktop app and a local web view that shows the backup running live.

§

Polite to the API

Paced and rate-limit-aware: when the server pushes back, the whole run backs off together instead of hammering it.

Why you can trust it

A backup is only worth what you can prove.

For a legal file, "probably fine" isn't good enough. MerusBackup is engineered so that what's on your disk is provably what was on the server — and so it can never quietly tell you a partial backup is complete.

VERIFIED

Checksum on every file

Each document's bytes are matched against the source's content checksum as it's written. A truncated transfer or a substituted error page is rejected, not saved.

HONEST

Never falsely "complete"

If a section failed to fetch or a document was never captured, the case is marked incomplete and listed in missing.txt. The UI won't show a clean checkmark over a backup that isn't whole.

SAFE

Atomic, locked, read-only

Files are written atomically (no half-files), one writer at a time via an exclusive lock, and your originals in MerusCase are only ever read.

SHA-256per-file integrity
126,131documents indexed in a live run
0corrupt / missing on verify
100%local — no third-party cloud
The toolkit

Eight commands, one job: a backup you can rely on.

estimate

Size the whole backup from metadata — document count and gigabytes — without downloading anything. Add --reconcile to see how complete your current backup is.

plan

Build the sized, ordered download queue (what's left to fetch) and check it against your free disk space. Cap it with --max-size.

sync

Download the queue to disk, verifying each file. Resumable; --max-size fit backs up what your drive can hold.

watch

Run continuously, re-syncing on a schedule and pulling only what's new — a self-updating local mirror.

verify

Re-hash the entire backup offline and report anything corrupt, missing, or never captured. Writes missing.txt.

repair

Detect-and-fix: clear damaged files and re-download exactly those, making the backup whole again.

status

Show what's backed up locally, per case, with completeness — no network needed.

index / serve

Generate human-readable case summaries; or open a live web view of a backup in progress.

Take your files home

Stop renting access to your own case files.

Point MerusBackup at a drive, run one command, and own a verified copy of your entire practice.

one line to a complete, verified backup
$ merusbackup sync --max-size fit
✓ Backup complete — every file verified.