Veil
Add a veil to your photos before you share them.
Veil registers your photos as yours before they go online. Image generators that run Veil check every picture they make against them, tile by tile, credit the photos they drew on, and stop when they’re copying.
Version 0.0.0 · not yet released · Requires macOS 15 and Apple Silicon
Open this page on a Mac to try the working preview.
Veil before you share
Feel safer with your photos in the wild.
Add a photo and Veil registers it to you, tile by 32-pixel tile. The photo itself is never changed: post it as it is.

Caught while it forms
A generator running Veil checks its picture against every veiled photo between steps, so a copy is caught before it’s finished.
Credit, or a full stop
Work that draws on your photo credits you on a royalty sheet. Work that reproduces it is halted.
How Veil works
Veil never alters a photo. It remembers it: every 32-pixel tile, written out as a string of pixel values and embedded, so a generator can ask “is this tile someone’s?” while it works.
1. Veil your photos
Add photos under an identity: you, your studio, a client. Each photo is resized, cut into 32 × 32 tiles, and every tile is serialized as text (rrggbb rrggbb …) and embedded. Flat tiles, like an empty sky, carry no evidence and are skipped.
2. Generators check as they go
Between denoising steps, a model running Veil’s layer decodes the picture it is forming, tiles it the same way, and searches the veiled tiles. A tile counts only above τ, and only when a neighbouring tile agrees on the same photo at the same offset — chance look-alikes scatter, copies don’t.
3. Credit, or a block
Every check ends in a royalty sheet: each identity’s share of what was matched, and how much of the picture it covers. When one identity’s share times coverage crosses θ, or its share alone crosses θ_g over enough of the picture, the gate fires and the generation stops.
What it catches today
Exact copies and crops on the tile grid are attributed in full and blocked; re-encoded JPEGs still match. A rotated photo or a fresh picture in the same style does not — Veil protects your pixels, not your likeness.
Veil works where a generator runs its layer. That’s why it’s built for the platforms that make pictures, as well as for the people in them.
On the way
Watermarks that travel with the file, and detection that finds your photos out in the wild.
Veil for platforms