FoddoLearn
Chapter 8 of 13 · Core · 7 min

The CSV is the map. Dirty map, no attribution.

One duplicate recipient_id means two humans share one fingerprint. Break a list live, watch the collision, fix it, and confirm every ID names exactly one human.

Loading the interactive demo for "The CSV is the map. Dirty map, no attribution."… The lesson text below is already here. The hands-on part loads next (requires JavaScript).

Every invisible ID is a pointer into your recipient list. If two rows share one ID, the pointer aims at two humans, and your proof dissolves exactly when you need it most.

The list above ships poisoned on purpose. Find the collision, feel the failure, fix it.

How duplicates happen

Copy-paste across drops, a subscriber rejoining under a new email, two VAs editing one sheet. Mundane spreadsheet drift, catastrophic forensic consequences.

Unsafe filename characters and missing IDs are the same family: rows that silently generate the wrong file for the wrong human.

The habit that prevents it

Validate every list before every batch: unique IDs, mappable columns, previewed filenames. Thirty seconds in the validator beats a retraction letter.

Stable opaque IDs (CLIENT-0042) beat names and emails: they never change, never collide, never contain characters filesystems hate.

Takeaways

  • recipient_id must map 1:1 to the human receiving that copy.
  • Duplicates turn a recovered ID into two suspects, which proves nothing.
  • Validate every list, every drop; spreadsheets drift.

Check yourself

Optional, local, instant. 0/2 answered.

  1. Inspect recovers CLIENT-002, but two rows share it. What can you conclude?
  2. What survives renames, rejoins and filesystems best?

For your niche

Photographers

Seasonal mini-sessions reuse sheets across months. Prefix IDs per season so last spring's CLIENT-002 never collides with this one.

Subscription creators

Churn means the same human rejoins under new emails monthly. Opaque stable IDs survive what emails don't.

Illustrators & designers

Client names contain studios, umlauts and slashes. IDs keep filenames safe while names stay human-readable in the sheet.

Demo transcript

Questions creators ask