PayloadKit

Content Caching

com.apple.AssetCache.managed

The payload that configures the Content Caching service.

macOS
macOS 10.13.4+exclusive
22 of 55 settings are available in the Intune Settings Catalog. Remaining settings require a custom .mobileconfig profile.

DDM recommended — 22 of 55 settings support Declarative Device Management

Apple recommends DDM over legacy profiles. DDM declarations are autonomous — the device enforces them without server round-trips. In Intune, use Settings Catalog → Declarative Device Management to configure these settings.

Configuration Keys (56)

KeyTypeTitleDDM
AutoActivation

If 'true', the system automatically activates the content cache when possible and prevents disabling it. If 'allowContentCaching' is 'false', 'AutoActivation' is also 'false'. Removing a profile that set 'AutoActivation' to 'true' doesn't deactivate the Content Cache.

Default: false

booleanAutomatically activate content caching
CacheLimit

The maximum number of bytes of disk space to use for the content cache. Set to '0' for unlimited disk space.

Default: 0

integerMaximum Cache Size
AllowPersonalCaching

If 'true', the system caches the user's iCloud data. Changes to this value don't have an immediate effect. Clients may take some time, such as hours or days, to react to changes. Note: At least one of the 'AllowPersonalCaching' or 'AllowSharedCaching' keys need to be 'true'.

Depends on: PersonalCacheLimit

Default: true

booleanAllow Personal iCloud Data Caching
PersonalCacheLimit
integerMax Personal Cache Size
AllowSharedCaching

If 'true', the system caches non-iCloud content, such as apps and software updates. Changes to this value don't have an immediate effect. Clients may take some time, such as hours or days, to react to changes. Note: At least one of the 'AllowPersonalCaching' or 'AllowSharedCaching' keys need to be 'true'.

Default: true

booleanAllow non-iCloud Data Caching
AutoEnableTetheredCaching

If 'true', the system automatically enables Internet connection sharing when possible and prevent disabling Internet connection sharing. 'DenyTetheredCaching' overrides 'AutoEnableTetheredCaching'. Tethered caching requires Content Caching. Available in macOS 10.15.4 and later.

Default: false

booleanAutomatically activate Internet connection sharing
Port

The TCP port number on which the content cache accepts requests for uploads or downloads. Set to '0' to pick a random, available port.

Default: 0

Range: 0 – 65535

integerPort
DataPath

The path to the directory used to store cached content. Changing this setting manually doesn't automatically move cached content from the old location to the new one. To move content automatically, use the Sharing preference's Content Caching pane. The value must be (or end with) '/Library/Application Support/Apple/AssetCache/Data'. The system creates a directory and its intermediates for the given data path if it doesn't already exist. The directory is owned by '_assetcache:_assetcache' and has mode 0750. Its immediate parent directory ('.../Library/Application Support/Apple/AssetCache') is owned by '_assetcache:_assetcache' and has mode '0755'.

Default: "/Library/Application Support/Apple/AssetCache/Data"

stringData Path
DenyTetheredCaching

If 'true', the system disables tethered caching.

Default: false

booleanDisable Caching Over Shared Internet Connection
LogClientIdentity

If 'true', the Content Cache logs the IP address and port number of the clients that request content.

Default: false

booleanLog Client Details
Parents

An array of the local IP addresses of other content caches that this cache should download from or upload to, instead of downloading from or uploading to Apple directly. The system ignores invalid addresses and addresses of computers that aren't content caches. The system skips Parent caches that become unavailable. If all parent content caches become unavailable, the content cache downloads from or uploads to Apple directly, until a parent content cache becomes available again.

arrayParents IP Addresses
ParentSelectionPolicy

The policy to implement when choosing among more than one configured parent content cache. With every policy, the system skips parent caches that are temporarily unavailable. Allowed values: - 'first-available': Always use the first available parent in the Parents list. Use this policy to designate permanent primary, secondary, and subsequent parents. - 'url-path-hash': Hash the path part of the requested URL so that the same parent is always used for the same URL. This is useful for maximizing the size of the combined caches of the parents. - 'random': Choose a parent at random. Use this policy for load balancing. - 'round-robin': Rotate through the parents in order. Use this policy for load balancing. - 'sticky-available': Use the first available parent in the Parents list until it becomes unavailable, then advance to the next one. Use this policy for designating floating primary, secondary, and subsequent parents.

Default: "round-robin"

Range: First available (first-available), Hash (url-path-hash), Random (random), Round robin (round-robin), Sticky available (sticky-available)

stringParent Selection Policy
PublicRanges

An array of dictionaries describing a range of public IP addresses that the cloud servers should use for matching clients to content caches.

arrayPublic Ranges
AllowCacheDelete

If true, the system purges content from the cache automatically when it needs disk space for other apps when free disk space runs low on the computer. Set to 'false' to maximize effectiveness of Content Caching. Available in macOS 10.15 and later.

Depends on: AgeForLowSpaceAlert

Default: true

booleanAllow Cache Delete
DisplayAlerts

If 'true', Content Caching displays exceptional conditions (alerts) as system notifications in the upper corner of the screen. Alerts were automatically displayed starting in macOS 10.13. In macOS 10.15 the alerts are off by default, but still available through this setting. Available in macOS 10.15 and later.

Default: false

booleanDisplay Content Caching Alerts
KeepAwake

If 'true', the system prevents the computer from sleeping as long as Content Caching is on (System Preferences > Sharing > Content Caching is on). Customers who want Content Caching to be as available as much as possible should turn this setting on. Available in macOS 10.15 and later.

Default: false

booleanKeep Awake for Content Caching
AgeForLowSpaceAlert

Default: 30

integerLow Space Alert
AllowImports

Depends on: ImportMaxRate; ImportMinRate; ImportRateAttenuation; ImportTimeout

Default: true

booleanAllow Imports
AllowWirelessPortable

Default: true

booleanAllow Laptop Wireless Caching
DatabaseUpdateInterval

Default: 5

Range: 0 – 3600

integerCache Database Update Interval
DownloadMinRate

Default: 8000

Range: 1000 – —

integerMinimum Download Rate
DownloadTimeout

Default: 180

Range: 10 – —

integerDownload Timeout
ImportMaxRate

Default: 0

integerMax Import Rate
ImportMinRate

Default: 2000

integerMin Import Rate
ImportRateAttenuation

Default: 0.2

Range: 0 – 1

realImport Rate Attenuation
ImportTimeout

Default: 300

Range: 10 – —

integerImport Timeout
Interface

Default: "Listen on all interfaces"

Range: Listen on all interfaces, en0, en1, en2

string
ListenWithPeersAndParents

If 'true', the content cache provides content to the clients in the union of the 'ListenRanges', 'PeerListenRanges' and 'Parents'.

Default: true

booleanListen with Peers and Parents
MaxParentDepth

Default: 8

integerMax Parent Depth
MaxPeersToQuery

Default: 0

integerMax Peers to Query
MetricsInterval

Default: 60

Range: 1 – 60

integerMetrics Interval
MetricsMaxAge

Default: 30

Range: 30 – —

integerMax Metrics Age
OriginDownloadTimeout

Default: 60

Range: 5 – 300

integerOrigin Download Timeout
OriginUploadTimeout

Default: 600

Range: 5 – 3600

integerOrigin Upload Timeout
ParentDownloadTimeout

Default: 60

Range: 5 – 300

integerParent Download Timeout
ParentUploadTimeout

Default: 600

Range: 5 – 3600

integerParent Upload Timeout
ParentRetryInterval

Default: 900

Range: 30 – 3600

integerParent Retry Interval
PruneAffinitiesAge

Default: 30

Range: 7 – —

integerPrune Affinities Cache Age
PruneAffinitiesInterval

Default: 7

Range: 1 – —

integerPrune Affinities Cache Interval
PruneAssetsAge

Default: 120

Range: 7 – —

integerPrune Assets Age
PruneAssetsInterval

Default: 7

Range: 1 – —

integerPrune Assets Interval
ReservedVolumeSpace

Default: 2000000000

integerReserved Volume Size
TerminationTimeout

Default: 10

Range: 1 – 60

integerTermination Timeout
Verbose

Default: false

boolean
PFC_SegmentedControl_0required
string
LocalSubnetsOnly

If 'true', the content cache offers content to clients only on the same immediate local network only. No content is offered to clients on other networks reachable by the content cache. If 'LocalSubnetsOnly' is 'true', the system ignores 'ListenRanges'.

Default: true

booleanRestrict Clients To Local Network
ListenRangesOnly

If 'true', the content cache provides content to the clients in the 'ListenRanges'.

Default: false

booleanRestrict To Client Listen Ranges
ListenRanges

An array of dictionaries that describe a range of client IP addresses to serve.

arrayClient Listen Ranges
MaxConcurrentClients

Default: 3400

integerMax Concurrent Clients
PeerLocalSubnetsOnly

If 'true', the content cache only peers with other content caches on the same immediate local network, rather than with content caches that use the same public IP address as the device. When 'PeerLocalSubnetsOnly' is 'true', it overrides the configuration of 'PeerFilterRanges' and 'PeerListenRanges'. If the network changes, the local network peering restrictions update appropriately. If 'false', the content cache defers to 'PeerFilterRanges' and 'PeerListenRanges' for configuring the peering restrictions.

Default: true

booleanRestrict Peers To Local Network
PeerFilterRanges

An array of dictionaries describing a range of peer IP addresses that the content cache uses to filter its list of peers to query for content. The content cache only queries peers in 'PeerFilterRanges'. When 'PeerFilterRanges' is an empty array, the content cache doesn't query any peers.

arrayPeer Filter Ranges
PeerListenRanges

An array of dictionaries describing a range of peer IP addresses the content cache responds to. When 'PeerListenRanges' is an empty array, the content cache responds with an error to all cache queries.

arrayPeer Listen Ranges
PeerDownloadTimeout

Default: 30

Range: 5 – 300

integerPeer Download Timeout
PeerNotifyTimeout

Default: 30

Range: 5 – 300

integerPeer Notify Timeout
PeerQueryTimeout

Default: 5

Range: 1 – 60

integerPeer Query Timeout
PeerRetryInterval

Default: 900

Range: 30 – 3600

integerPeer Retry Interval
ParentsItemrequired

An IP address.

stringIP Address
RangesItem

A range of IP addresses to cache.

dictRangeDict
type

The IP address type.

Default: "IPv4"

Range: IPv4, IPv6

stringIP Address Type
firstrequired

The first IP address in the range.

stringStart IP Address
lastrequired

The last IP address in the range.

stringEnd IP Address
RangesItem

A range of IP addresses to cache.

dictRangeDict
type

The IP address type.

Default: "IPv4"

Range: IPv4, IPv6

stringIP Address Type
firstrequired

The first IP address in the range.

stringStart IP Address
lastrequired

The last IP address in the range.

stringEnd IP Address
RangesItem

A range of IP addresses to cache.

dictRangeDict
type

The IP address type.

Default: "IPv4"

Range: IPv4, IPv6

stringIP Address Type
firstrequired

The first IP address in the range.

stringStart IP Address
lastrequired

The last IP address in the range.

stringEnd IP Address
RangesItem

A range of IP addresses to cache.

dictRangeDict
type

The IP address type.

Default: "IPv4"

Range: IPv4, IPv6

stringIP Address Type
firstrequired

The first IP address in the range.

stringStart IP Address
lastrequired

The last IP address in the range.

stringEnd IP Address