Netflix System Design
Security & DRM
Interview angle: Security comes up in two contexts โ DRM (content protection, studio contracts) and data privacy (PII, GDPR). Know the DRM flow end-to-end and be able to explain why signed URLs + device-bound licenses prevent URL sharing.
DRM License Flow
How Netflix prevents content piracy while keeping under 500ms playback startup.
User clicks Play. Client sends POST /playback/session with deviceId and drmScheme (WIDEVINE/FAIRPLAY/PLAYREADY).
Validates JWT, checks entitlement, acquires concurrency slot. Passes device fingerprint to DRM Service.
Verifies device registration. Generates Content Encryption Key (CEK) lookup from HSM. Creates license token signed with private key.
Returns signed manifest URL + DRM license URL to client. DRM license URL is also signed and short-lived.
Fetches manifest from CDN. Discovers encrypted segments. Sends license challenge to DRM license URL.
Validates license challenge token + device fingerprint. Wraps CEK in device TEE public key. Returns license blob.
Unwraps CEK inside Trusted Execution Environment. Decrypts video segments locally. CEK never leaves the TEE.
DRM FAILS CLOSED: No license = no CEK = no decryption = black screen. Studio contracts prohibit any plaintext fallback. This is the one place where user experience is legally subordinate to content protection.