FoddoLearn
Foddo Learn · 13 chapters · ~114 min

Learn watermarking the hard way

Don't trust a watermark you haven't broken yourself. 13 hands-on chapters with live browser demos: break LSB, crush files with JPEG, survive crops, then pick a method for your real route. Everything runs locally. No uploads.

0/13

Your progress saves in this browser only. No account, no tracking.

13chapters
13live labs
0uploads
100%local
Continue where you left offChapter 1: Visible watermarks deter. Invisible IDs attribute.

Two different jobs. Visible marks make casual reposts ugly. Invisible per-subscriber IDs answer which copy escaped after a leak. Most creators need both, in different places.

Continue chapter →
Practice readiness

0/10 proof checkpoints recorded

Labs show that you interacted. Proof checkpoints show that you recorded what the result actually supports.

0/13 labs0 review flags
One continuous case

Follow the leaked set from release to response

Each stage produces an artifact for the next one.

  1. Preserve and triage the leak0/1

    Freeze the exact file and separate similarity from evidence.

    Artifact: Hash + context + triage notes
  2. Map and respond0/2

    Validate the recovered pointer, prepare the notice, and close the case.

    Artifact: Validated conclusion + precise notice
Recommended sequence

Follow the chapters from 1 to 13

Chapter numbers are the course order. Search by topic or use the stage filter to browse by difficulty without losing the main path.

  1. 1 · Start here7 min

    Visible watermarks deter. Invisible IDs attribute.

    Two different jobs. Visible marks make casual reposts ugly. Invisible per-subscriber IDs answer which copy escaped after a leak. Most creators need both, in different places.

    Visible marks deter casual sharing but every subscriber gets the same pixels.Start chapter →
  2. 2 · Core8 min

    How invisible watermarking traces a leak

    Each subscriber receives a file that looks identical but carries a private recipient ID. When a leak appears, you recover that ID from the exact downloaded file and match it to your delivery record.

    One master becomes N unique copies, one per recipient_id.Start chapter →
  3. 3 · Hands-on12 min

    LSB looks perfect until you save as JPEG

    Least-significant-bit hiding is invisible and trivially destroyed. Embed a message in your browser, export PNG versus JPEG, and watch the payload survive once and die once.

    Raw LSB payloads survive untouched PNGs but generally fail after JPEG re-encoding.Start chapter →
  4. 4 · Hands-on10 min

    Compression, crops and screenshots: the three killers

    Drag three sliders and watch similarity collapse. Re-encodes change bytes while the image still looks the same, crops delete evidence outright, screenshots create a brand-new bitmap.

    JPEG compression can destroy fragile payloads while the image still looks fine.Start chapter →
  5. 5 · Decision8 min

    Pick a method for your actual delivery route

    LSB, DCT, TrustMark, Robust Transform and WAM fail in different places. Answer four questions about format, channel, compression and screenshot risk to get an honest recommendation.

    Match protection to how subscribers actually share, not how you wish they would.Start chapter →
  6. 6 · Field manual9 min

    Limits, evidence and what to do after a leak

    No watermark survives everything. Learn the evidence chain that still gives you options: preserve the file, compare, audit metadata, and only then attribute.

    Save the exact file, never a screenshot, and log URL plus time immediately.Start chapter →
  7. 7 · Hands-on8 min

    Tags travel with files, so strip them before delivery.

    Scan a phone photo, count the EXIF and GPS tags riding along, strip them with a canvas re-export, and verify zero. All local.

    Camera JPGs carry GPS, device IDs and edit history by default.Start chapter →
  8. 8 · Core7 min

    The CSV is the map. A dirty map gives you 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.

    recipient_id must map 1:1 to the human receiving that copy.Start chapter →
  9. 9 · Hands-on9 min

    See the frequencies robust methods hide in

    Your image as 8×8 cosine blocks: heatmap the mid-band hiding space, then quantize it away and watch detail dissolve in the exact order JPEG kills.

    Images are sums of cosine waves; JPEG keeps the big slow ones.Start chapter →
  10. 10 · Hands-on8 min

    Will this image carry a mark?

    Texture and edge analysis estimates your photo's carrier conditions. Test your flattest pack image. The gap between best and worst is your real risk spread.

    Texture and edges are hiding space; flat gradients starve fragile methods.Start chapter →
  11. 11 · Hands-on9 min

    Audit the whole pack the night before

    Drop up to 20 images: SHA-256, dimensions, metadata status and carrier scores in one forensic table, exportable with release ID and planned method. Batch thinking without the app.

    Audit packs as tables, not guesses: every file gets dimensions, tags, and a carrier score.Start chapter →
  12. 12 · Hands-on7 min

    Write a takedown notice that works

    Platform-tailored notice generator with an evidence checklist attached. General information, not legal advice. Get counsel for high-value disputes.

    Use exact post URLs. Precise links are the ones that get removed.Start chapter →
  13. 13 · Field manual12 min

    Five cases: download, investigate, then reveal.

    Timed fictional scenarios with real fixture files: a Telegram forward, a cropped repost, a dirty CSV, two adversarial verdict traps, plus a rubric-driven end-to-end response drill.

    Triage before attribution: compare, audit, then decide on Inspect.Start chapter →

How to work the labs

New chapters ship over RSS. Subscribe to never miss a lab.

  1. Start at chapter 3 if you are impatient: LSB fragility lab breaks a hidden message in 60 seconds.
  2. Use the sample image first. No uploads of any kind, same lesson. Then try one of your own exports.
  3. Read the caveats. Every demo has an "Honest limits" box. Knowing what a demo does not prove is the actual skill.

The diagrams are educational illustrations and do not show Foddo internals. Foddo implements LSB, JPEG DCT, TrustMark, Robust Transform and WAM locally with different survival profiles.

Keep handyLearn glossary11 recurring terms
Carrier
The image content that offers texture or edges where a watermark can be tested.

A carrier estimate is not a survival result.

Delivery ID
An identifier for one particular delivery event or copy.

Keep it separate from the stable recipient ID.

DCT
A transform that represents image blocks as spatial-frequency coefficients.

The Learn visualization is illustrative.

LSB
Least-significant-bit hiding: changing the smallest binary bit of pixel values.

It is fragile under common re-encodes.

Metadata
Attached file information such as EXIF, GPS, software, color, and creation tags.

Metadata hygiene does not protect pixel payloads.

Payload recovery
Successfully reading the hidden identifier from the exact leaked file.

This is different from visual similarity or carrier capacity.

Re-encode
Decoding and saving an image again, often with a different format or quality setting.

It can change pixels, metadata, dimensions, and color behavior.

Recipient ID
A stable opaque identifier for the person or account receiving a copy.

Never recycle it between recipients or releases.

Release ID
An identifier for a batch, edition, or release of content.

One recipient may receive multiple releases.

Similarity
A visual or perceptual comparison suggesting whether two files resemble each other.

It is triage, not attribution.

Stable map
A validated delivery record connecting a recovered ID to one unambiguous recipient.

Duplicate IDs break attribution.

Workflow Upgrade

From one-off lesson to every subscriber copy

Finish one chapter and a 10-line LSB demo will not fool you again. Finish every chapter and batch day stops feeling like a gamble: Distribution mode plus Inspect is the repeatable version of what you just did by hand.