Product

Trace a leaked deck back to the share that made it.

Every share carries a visible watermark with the recipient's name and an invisible fingerprint across three channels in the HTML. Drop a leaked file into the forensics tool and Codexroom returns the share that produced it.

In the product

Visible to the reader. Invisible to everyone else.

Two watermarks, one share

A name on the slide, a fingerprint in the file.

Every share carries a visible watermark with the recipient's name, plus an invisible fingerprint across three channels in the rendered HTML — whitespace, CSS rule order, and zero-width marks. About 72 bits on a 12-slide deck: enough to identify one share in a billion.

Read the watermark spec
share preview · watermark
Whitespace fingerprintCSS rule orderZero-width marks

$ pnpm forensics:identify --html leaked.html

share_9f3a · emma@northfund.com

The visible layer

A watermark every recipient sees.

Five styles ship by default. Confidential with the recipient name. Draft. Under NDA with the recipient name. Custom (a free-text template with {recipient_name} and {date} placeholders). None (off, with a confirmation step that puts the choice into the audit log). Placement bottom-right, 11pt, 55 per cent opacity, colour following the slide text so it reads on light and dark slides.

The invisible layer

Three channels combined.

Whitespace. The number of spaces between specific elements varies in a pseudorandom pattern derived from the share token. Invisible to a reader, stable across copy-paste of the HTML.

CSS rule order. Equivalent CSS rules in the inline stylesheet reorder according to the share's seed. No visual change, stable across most HTML edits.

Zero-width characters. Strategically placed zero-width spaces, joiners, and non-joiners inside text nodes. They survive copy-paste of rendered text into another document.

The forensics tool

Drop a leaked file in. Get the share back.

Codexroom ships a CLI: pnpm forensics:identify --html <path-to-leaked-file>. It decodes the bits from the three channels, looks them up against the share database, and returns the matching share with recipient name, email, deck, and the user who created it. The same decoder works on plain-text copy when the zero-width channel survives the paste.

PDF and PPTX carry the same trail — the fingerprint rides in the PDF metadata and the PPTX document-properties XML. Codexroom flags each channel's survival profile on the audit page so your team knows what to expect.