# Updates and anti-leak downloads

> Send a changelog and a new build to everyone who owns a product, show the version history in their library, and give each buyer a traceable copy of your files.

Source: https://shopfa.st/docs/guides/updates-and-watermarks

## Updates to owners

Shipped a new build or a fix? **Catalog → Updates → Post an update** (or **Notify owners** in the product editor):

1. Write the title, version and changelog (Markdown). Optionally attach the new file: it becomes the current
   download at once, and each owner’s email carries a signed link for their own order.
2. Pick the channels: **email** (the block editor, like campaigns), **Discord DM** (buyers who linked Discord and turned
   DMs on) and **Telegram** (buyers who proved their account from the order page).
3. Narrow the owners: only **active keys** (not expired or revoked), certain **options** (durations), **purchase dates**,
   or only buyers who **opted in to marketing**.

The audience panel shows how many owners match and who is left out and why. Unsubscribes, bounces and “product updates
off” are always respected, and every email has a one-click unsubscribe. Imported order history counts as ownership,
so buyers you moved from another platform hear about updates too.

Updates also appear under **What’s new** on the buyer’s order page and in their account library.

## Watermarked downloads

<div class="callout"><p><strong>Early access.</strong> Watermarked downloads and the leak tracer are turned on per
store or per seller on request. Without them, updates to owners work as described above and downloads are delivered
as you uploaded them.</p></div>

In the product editor, **Updates and anti-leak → Watermarked downloads** gives each buyer their own marked copy:

| File | Visible | Hidden |
| --- | --- | --- |
| PDF | A footer on every page | A trace code in the document info |
| PNG, JPEG, WebP | A small label in a corner | A mark spread over the pixels (survives re-saving as JPEG) and an EXIF note |
| ZIP | `license.txt` inside, with a buyer id hash (never their email) | The archive comment |
| Text, configs, scripts | A license comment in the file’s own syntax | The trace code in zero-width characters |

The copy is made on the buyer’s first download and cached, so later downloads are instant. JSON, CSV and executables
are delivered unmarked: an app should check its key with the [License API](https://shopfa.st/docs/guides/licensing) instead.

## Leak tracer

Found your file on a forum? Open **Catalog → Leak tracer** and drop the copy in. It reads every mark it can find and
names the order, the buyer, the version and when the copy was made, with a link to the order (and, with licensing, to
revoke the key).
Cropping or resizing an image removes its hidden mark; the visible label and the EXIF note may still be there.
