E9-F3: Anti-Screenshot Protection¶
Epic: E9: Ticket Management & Delivery
Size: M (Medium)
Problem / Outcome¶
Prevent QR code screenshots with animated verification.
Scope¶
In-Scope:
- Snake animation around QR code
- Rotating verification images (3 images)
- Screenshot detection (where OS permits)
Out-of-Scope:
- Watermarking
- QR code rotation (QR code itself is static; protection comes from animation and verification images)
Acceptance Criteria¶
- AC1: QR code displayed with animated border (snake animation)
- AC2: Rotating verification images (3 images) prove live display
- AC3: Screenshot/screen recording disabled when QR visible (mobile OS permitting)
Data Model Impact¶
No new tables required (client-side implementation).
QR Display Configuration:
- animation_enabled (BOOLEAN)
- animation_speed_ms (INTEGER)
- verification_images (3 rotating images)
- screenshot_protection (BOOLEAN)
Permissions/Roles¶
- Ticket holder (mobile app)
How to Verify¶
Manual verification on device required.
Expected: Animation renders, screenshot blocked.
Dependencies¶
Implementation Tasks¶
See E9: Ticket Management Tasks
Doc References¶
Last Updated: January 2026