Offline video downloads that stay encrypted on iOS and Android
Persistent FairPlay and ExoPlayer offline licenses, tied to entitlement.
Native offline downloads with DRM kept intact, using AVAssetDownloadTask and persistent FairPlay keys on Apple and ExoPlayer offline licenses on Android. Day rate: €500.
Vendredi App · Repair order
Nº ····
Drop-off
Your day, 9:00
Ready
19:00
You collect
The fix running on your phone, and the change in your source code.
Remote day rate
€500excl. tax
I have implemented DRM-protected offline downloads with AVAssetDownloadTask and persistent FairPlay keys on Apple and ExoPlayer offline licenses on Android.
You collect
- Offline download with persistent FairPlay keys via AVAssetDownloadTask on iOS/tvOS
- Offline download with ExoPlayer offline licenses and Media3 DownloadManager on Android
- Background download queue with storage management, expiry, and license renewal
- Download access tied to your entitlement and authentication so only paid content downloads
Repair order
Offline does not mean unprotected
Letting users download a movie for the plane is easy until you add DRM. The file has to stay encrypted on disk, and the decryption key has to persist locally without handing the content away. On Apple this means a persistent FairPlay key paired with AVAssetDownloadTask, and on Android it means an ExoPlayer offline license stored alongside the downloaded media. I implement both so the offline copy stays as protected as the stream.
Background downloads and storage
A download manager has to keep working when the app is backgrounded, survive the app being killed, and resume after a dropped connection. It also has to track how much space the user has, let them delete titles, and show real progress. I build the queue on each platform using the native background download APIs, with clear handling for pause, resume, and failure.
Expiry and license renewal
Offline licenses are usually time-limited: a title might be watchable for 30 days after download or 48 hours after first play. That means tracking expiry locally, renewing the license when the device comes back online, and removing content cleanly when rights lapse. I wire the renewal flow to your license server so the rules are enforced even while the user is offline.
Tying downloads to entitlement
A download should only happen if the user is actually entitled to the content, and it should stop working if their subscription ends. I connect the download flow to your entitlement and authentication system, so issuing an offline license checks the same source of truth as streaming. This avoids the common gap where canceled users keep watching downloaded content forever.
Frequently asked questions
The flat day rate is €500, remote, with no agency markup. Offline download with DRM is detailed work, so I estimate the days honestly up front for each platform.
Yes. This is often added to an app that already streams. I review your current player and DRM setup, then build the offline layer on top of it rather than rewriting playback.
Yes. Content stays encrypted at rest, protected by a persistent FairPlay key on Apple or an ExoPlayer offline license on Android, so it cannot simply be copied out as a plain file.
I track expiry locally and renew the offline license against your license server when the device is online, then remove access cleanly when the rights window closes.
Because downloads are tied to your entitlement system, a canceled or expired subscription stops new downloads and lets existing offline licenses lapse at renewal, so access does not continue indefinitely.
Yes. I use the native background download APIs on each platform so downloads continue when the app is backgrounded and resume after the app is killed or the connection drops.
Your next ticket
The next free day is on the calendar. Start with a free call if you want to talk it through first.
Book a free 20-min callOr leave a note at the counter
Describe your project. I answer right away in the chat when I am available, within 24 hours otherwise.