Text Watermark
Bind a document copy to one recipient. QMark writes a 16 byte recipient token into the body through three redundant invisible carriers, so the identifier survives copy-paste, screenshots and reformatting.
How the payload is built
- Carrier A
- Zero width characters between words (U+200B = 0, U+200C = 1)
- Carrier B
- Homoglyph substitution, Latin to visually identical Cyrillic
- Carrier C
- Trailing whitespace variation at line breaks
- Payload
- 16 bytes (128 bits), recipient token
- Signature
- ML-DSA-87, 4627 bytes
- Visibility
- None. Rendered output is byte different, visually identical
- Ledger
- Every issued watermark is recorded for later reconciliation
All three carriers encode the same token independently. Detection recovers each one separately and resolves the payload by majority vote, so losing a carrier in transit does not lose the recipient. A document needs at least 129 words for the zero width carrier to hold a full token.