# Live DRM integration

Integrate DRM-X 6.0 Live DRM with CPIX or SPEKE packaging, rotating crypto periods, synchronized manifests, renewable authorization, and multi-platform testing.

Canonical: https://docs.drm-x.com/live-drm/overview
Updated: 2026-09-05

![Your backend decides access; DRM-X enforces the signed policy. Encrypted media and DRM licenses follow separate delivery paths.](https://docs.drm-x.com/assets/media-license-flow.svg)Your backend decides access; DRM-X enforces the signed policy. Encrypted media and DRM licenses follow separate delivery paths.

## Provision the channel[#](#provision-the-channel)

- Create the live content identity and enabled DRM systems.
- Configure compatible CPIX or SPEKE key exchange with bounded authentication.
- Set the protected DASH and HLS delivery destinations.
- Choose the server-owned live license policy, renewal window, quality, and output controls.
- Qualify a complete rehearsal before selling or opening access.



## Rotate without creating an unavailable KID[#](#rotate-without-creating-an-unavailable-kid)

The packager, manifest, and every required DRM provider must agree on the current and retained key periods. Do not publish a new KID until each selected provider can resolve the matching key. Retain enough prior periods for late join, latency, and controlled recovery.



## Create the viewer session[#](#create-the-viewer-session)

Request `contentType: live` after your backend approves the viewer. Return the registered live manifest, license details, renewal behavior, and release lifecycle with `Cache-Control: no-store`. Use a fresh session ID for each viewing attempt.



## Pre-event acceptance matrix[#](#pre-event-acceptance-matrix)

| Scenario | Required result | 
| --- | --- |

| Late join during rotation | Manifest KID resolves and playback begins within the target start time. | 

| Encoder restart | Channel recovers without key disclosure or clear fallback. | 

| License renewal | Authorized viewer continues; expired entitlement fails closed. | 

| Provider or network failure | Bounded retry/failover preserves policy and avoids duplicate billing. | 

| Viewer stops | Concurrent reservation is released promptly. |
