Summary
Decide how to prevent audio files from being hotlinked or shared outside the intended playback context.
Options
- Cloudflare hotlink protection - blocks requests without a matching Referer header. Free, zero code changes, but easily bypassed.
- Referrer checking at Django level - reject requests where Referer doesn't match
read.fragforce.org. Same weakness as above but more control.
- Rate limiting - limit requests per IP/session. Doesn't prevent sharing but limits abuse.
- Combination - Cloudflare hotlink protection + rate limiting. Defense in depth without over-engineering.
Considerations
- Public domain books: hotlinking is annoying but not a legal issue
- Licensed books: already session-gated, so hotlinking is already mitigated for those
- Is this worth solving for public domain books at MVP?
- Cloudflare hotlink protection is a checkbox, not engineering effort
Decision
TBD
Summary
Decide how to prevent audio files from being hotlinked or shared outside the intended playback context.
Options
read.fragforce.org. Same weakness as above but more control.Considerations
Decision
TBD