Anti-piracy: moving watermarks and kiosk protection
Server-side watermarking for the public web gallery plus a moving, brightness-pulsing overlay on kiosk screens defeats phone-camera capture.
Two layers of protection
### Web gallery (before payment)
Every unpurchased photo is rendered through Cloudinary with a translucent center watermark at 40 percent opacity, compressed to WebP at 60 percent quality. CSS or HTML watermarks are forbidden in the platform — they're trivially stripped. Server-side only.
### Kiosk screen (inside the venue)
The kiosk POS and self-service screens render a full-screen moving watermark overlay that:
- Continuously translates across the display (about one loop every 12 to 16 seconds).
- Pulses brightness between 70 percent and 160 percent every 1.7 seconds.
The motion breaks a steady phone-camera capture. The brightness pulsing interferes with the phone camera's auto-exposure so the resulting photo is streaky and unusable.
Customizing the watermark
Each kiosk page picks its own overlay via the `MovingWatermark` component props:
- text — the phrase shown, default `FOTIQO • PROOF • DO NOT COPY`. - opacity — 0 to 1, default 0.35. Lower on the TV display (0.15) so attract-mode photos still look great. - size — px, default 48. - speed — seconds per loop, default 12.
Admin controls
Go to Admin > Anti-piracy to configure the watermark string per venue, review attempted screen-captures flagged by the kiosk, and toggle the overlay on or off per screen.
FAQ
Was this article helpful?