encrypted-mediaencrypted-media 지시어는 Encrypted Media Extensions(EME)의 navigator.requestMediaKeySystemAccess() 사용 여부를 제어합니다. EME는 넷플릭스·유튜브 등 DRM 보호 스트리밍 재생에 필요한 콘텐츠 복호화 모듈(CDM) 접근 API입니다. 기본 허용 목록은 self입니다.
`encrypted-media=*`는 모든 오리진, `encrypted-media=(self)`는 자기 오리진, `encrypted-media=()`는 전면 차단, `encrypted-media=(self "https://player.example.com")`는 지정 오리진에 위임합니다. DRM 플레이어를 iframe으로 임베드하려면 `<iframe allow="encrypted-media">`가 필요합니다. 정책이 거부하면 navigator.requestMediaKeySystemAccess()가 반환하는 Promise는 NotAllowedError로 reject됩니다.
EME는 Widevine·PlayReady·FairPlay 같은 키 시스템과 협상하며, 일부 CDM은 하드웨어 기반 보호와 기기 식별자를 사용해 프라이버시·핑거프린팅 논의가 있습니다. 이 지시어로 어떤 프레임이 CDM에 접근할지 좁힐 수 있습니다. 구형 Feature-Policy의 encrypted-media를 대체합니다.
Permissions-Policy: encrypted-media=(self)