CDM (content decryption module)
A CDM (content decryption module) is the software component inside a browser, operating system or device that decrypts DRM-protected video and passes it on for playback. The web page talks to the CDM through Encrypted Media Extensions (EME), but never sees the decryption keys. Examples include the Widevine CDM in Chrome and the FairPlay CDM in Safari.
Why it matters
The CDM on a viewer's device decides whether protected video plays at all, and at what quality. Studios often tie HD and 4K rights to hardware-backed CDMs. Teams that ignore CDM differences end up with playback errors or unexpected low-resolution video on some devices.
How it works
- The web page or app asks the browser, through Encrypted Media Extensions (EME), which DRM systems are available.
- The CDM creates a license request, which the player forwards to the DRM license server.
- The license comes back to the CDM, which unpacks the key without exposing it to the page.
- The CDM decrypts the video and hands it to the decoder, sometimes inside protected hardware.
What is the Widevine CDM in Chrome?
The Widevine CDM in Chrome is the built-in component that lets Chrome play Widevine-protected video, such as streaming movies and shows. It is installed and updated automatically. On desktop it usually runs in software, which is why some services limit desktop Chrome to lower resolutions than hardware-protected devices.
CDM vs EME: what is the difference?
EME is the browser API that web pages use to work with protected video, while the CDM is the component that actually does the decryption. The page talks to EME, and EME talks to the CDM. This split lets one web player work with different DRM systems without ever touching the keys.
Where it's used
OTT services check which CDM and security level a viewer's browser or TV has, then serve HD or 4K only where studios allow it, so viewers on every device still get a picture.
By the numbers
- The W3C EME Recommendation does not mandate any specific CDM; it only requires browsers to support the Clear Key common key system. (W3C press release: EME published as a W3C Recommendation)


