How do you serve "earned" media without ever exposing the full asset?
A design problem I've been stuck on and curious how others have solved it.
Say you want to gate parts of an image a user unlocks regions one at a time by completing a step. If you blur or overlay client-side, anyone can grab the original from the network tab, so the gating is fake.
The approach I've seen work: never send the original at all. The server composites a flattened image with only the unlocked regions and sends that. If unlocks are sequential there are only ~N+1 states, so each composite can be content-addressed and cached generated roughly once.
Questions for anyone who's shipped gated/earned media:
Did you go server-side composite, signed tiles, per-region crops, or something else?
Where's the real cost trap at scale storage, compute, or CDN egress?
Any pattern you regret?

Replies