// guide · Intermediate · 7 min read
Per-recipient watermarks: trace who leaked a PDF
Send the same document to several people, give each copy its own forensic ID, QR code, and hidden layers, then identify the source of a leaked copy.
Open the watermark tool →The idea
A single watermark that says CONFIDENTIAL tells people not to share. It doesn't tell you who shared. If every recipient gets a copy with their own name and a unique tracking ID, a leaked copy points straight back to its source.
Visible marks can be cropped or cleaned up, so this workflow layers several marks. Someone would have to find and remove all of them.
Step 1: Set up the first recipient
Upload the document and fill in Recipient / name and Organization for the first person on your list. These values end up in the visible watermark, the QR code, the footer line, and the hidden layers.
Scroll to Forensic tracking ID. It looks like FV-MG4K2Z1Q-7HQX-M3PA-2WND: a timestamp plus 12 random characters. Click 📋 Copy if you want to paste it into your records right away.
Step 2: Choose visible marks that carry the ID
Pick Diag + QR, or pair Tiled with QR stamp. The QR code holds a small JSON record, so anyone who scans it sees where the copy came from:
{
"id": "FV-MG4K2Z1Q-7HQX-M3PA-2WND",
"to": "Jane Doe",
"org": "Acme Corp",
"purpose": "Under NDA",
"expires": "2026-12-31",
"issued": "2026-09-29T14:03:11.482Z",
"doc": "board-deck.pdf",
"format": "cryptographic"
}Every page also gets a small footer line in the bottom-left corner, whatever styles you pick:
Watermark | ID:FV-MG4K2Z1Q-7HQX-M3PA-2WND | To:Jane Doe | 2026-09-29
Step 3: Turn on the hidden layers
Under Invisible steganographic layers, enable the ones you want. They don't change how the document looks, but they survive if someone crops off the visible marks.
| Layer | What gets embedded | How to read it back |
|---|---|---|
| PDF metadata injection | Recipient, organization, purpose, and tracking ID in the document properties (Title, Author, Subject, Keywords, Creator) | Acrobat File → Properties, macOS Preview Tools → Show Inspector, or pdfinfo |
| White-on-white text layer | A line of tiny, near-invisible text on every page starting with FVSTEG:, followed by the ID, recipient, org, purpose, and timestamp | Select all and paste into a text editor, or run pdftotext |
| Micro QR at low opacity | Very faint copies of the QR code tiled across the page | Boost contrast on a scan or screenshot in any image editor, then scan |
Step 4: Download and log it
Click Continue →, then download both the PDF and the 📋 Audit report. The report is a JSON file named after the tracking ID, for example watermark_audit_FV-MG4K2Z1Q-7HQX-M3PA-2WND.json. It records the recipient, organization, purpose, expiry, styles, and which layers were applied.
Keep a simple ledger alongside the reports. A spreadsheet is enough:
| Tracking ID | Recipient | Organization | Sent |
|---|---|---|---|
FV-MG4K2Z1Q-7HQX-M3PA-2WND | Jane Doe | Acme Corp | 2026-09-29 |
FV-MG4K3B8R-KD2F-9QTE-XL5C | Sam Lee | Globex | 2026-09-29 |
Step 5: Repeat for each recipient
Click ← Back to edit. Your file and settings stay loaded. Change the recipient details, then click ↻ Regenerate next to the tracking ID before processing again.
Step 6: When a copy leaks
Work through the marks from easiest to hardest to remove:
- Read the footer at the bottom-left of any page for the ID and recipient.
- Scan the QR code with a phone camera to get the full JSON record.
- Check the document properties if you have the original PDF file.
- Extract the hidden text if the visible marks were removed.
- Enhance a screenshot or photo to reveal the faint micro QR codes.
With the PDF file itself, two commands from Poppler cover steps 3 and 4:
# Document properties (metadata layer)
pdfinfo leaked.pdf
# Hidden text layer
pdftotext leaked.pdf - | grep FVSTEGInstall Poppler with brew install poppler on macOS or sudo apt install poppler-utils on Debian and Ubuntu. Take the ID you find and look it up in your ledger or audit reports.
Know the limits
Watermarks make leaks traceable and discourage them. They don't stop a determined person with time and tools. Someone could retype the content, or print, crop, and rescan it with enough care to remove every mark. Pair this with the usual controls: share only what's needed, set a clear expiry, and back it up with an NDA.