Problem statement
Design the service that issues decryption licenses to players so they can play protected media. Content is packaged encrypted; a player cannot decrypt it until this service hands it a license carrying the content key plus a playback policy. The service must be fast, highly available, secure with key material, and resistant to abuse.
Operating context. Every playback start triggers a license request that must be validated against the viewer's entitlement, matched to a content key for the asset, and answered with a license embedding policy (expiry, output-protection level, whether offline persistence is allowed). Multiple DRM systems must be supported through one service. Content keys live in a secured key store and must never leak into logs or plaintext caches. Evening peaks are large and an outage here blocks all new playback.
Out of scope. The content encryption and packaging pipeline, the entitlement/billing system of record (assume it exposes a fast entitlement check), the device's decryption-module internals, and forensic watermarking. Assume separate teams own those.
What to produce. A high-level architecture covering: the license request flow and API, the entitlement and authentication check, retrieval of content keys from a secured key store across DRM systems, how playback policy is issued, per-user and per-device concurrency enforcement, offline license handling, abuse throttling and revocation, and the availability/failure story. Sketch the components and the request flow; we will probe specifics during checkpoints.
Requirements
This assessment is a Premium feature.
The statement above is free to read. The functional and non-functional requirements, and the graded canvas that scores your design against them, come with Premium.
Topics
- System Design HLD
- Media Drm
- Security Keys
- Patterns Authz
- Scaling Read-Heavy