FairPlay Claims
The claims in this section apply only to FairPlay objects.
Security Policy
Security policies within the token are assigned unique IDs by a UUID. The claims must be within a "fairplay" object.
Example FairPlay Security Policy
"security_policy":{
"1f6c0d04-b740-4597-89ff-ab411ef61115":{
"fairplay":{
"security_level":"Main",
"hdcp_type":1
}
}
}
"security_level" claim
Optional. The "security_level" claim is a child of the Fairplay policy claim. It is a string that sets the acceptable client security level.
Valid values:
- "Audio" - Audio content must use the Audio security level
- "Baseline" - Any platform that supports Fairplay Streaming (Baseline and AppleBaseline devices)
- "Main" - Any platform that supports Fairplay Streaming and guarantees enhanced content protection, sufficient for studio 4k / HDR playback (Main and AppleMain devices)
Default: None
"hdcp_type" claim
Optional. The "hdcp_type" claim is a child of the FairPlay policy claim. It is an integer object, that indicates the required HDCP output enforcement.
Valid values:
- 0 - HDCP Level 0 – Stream may be transmitted by HDCP repeater to all HDCP devices.
- 1 - HDCP Level 1 (HDCP version 2.2 or later) - Stream may not be sent to HDCP 1.x-compliant or HDCP 2.0 devices.
Playback Policy
Playback policies are applied across the entire asset. The claims must be within a "fairplay" object.
Example FairPlay Playback Policy
"policy": {
"fairplay": {
"lease": true,
"lease_duration": 3600
}
}
"key_duration" claim
Optional. The "key_duration " claim is a child of the FairPlay policy claim. It is an integer object that indicates how long the content key is valid for.
"lease" claim
Optional. The "lease" claim is a child of the FairPlay policy claim. It is a boolean value that indicates if the license is valid for lease use. It can only be combined with the rental claim.
Default: True
"lease_duration" claim
Optional.
The "lease_duration" claim is a child of the FairPlay policy claim. It is an integer value that indicates the duration of an assets lease period. A lease period covers the validity of the content key for media playback. If the lease period expires during playback, the media playback stops.
Units: Seconds
The lease claims can be combined with the rental claims to form a rental lease, where:
- The lease_duration defines the maximum time that the key stays valid after playback is started, measured from the first play.
- If the lease expires before the end of the rental period, the lease can be renewed.
Default: 172800
"persistence" claim
Optional. The "persistence" claim is a child of the FairPlay policy claim. It is a boolean value that indicates if the license is valid for offline usage. It can be combined only with the rental claim.
"persistence_duration" claim
Optional. The "persistence_duration" claim is a child of the FairPlay policy claim. It is an integer value that indicates how long the license can be held persistently. It can only be combined with the rental claim.
Units: Seconds
"rental" claim
Optional. The "rental" claim is a child of the FairPlay policy claim. It is a boolean object that indicates if the license is valid for rental use.
"rental_duration" claim
Optional. The rental_duration claim is a child of the FairPlay policy claim. It is an integer that indicates the duration of an asset's rental period. Playback continues if the rental expires during playback.
Units: Seconds
Updated 11 days ago