PayloadKit

App-Layer VPN

com.apple.vpn.managed.applayer

The payload that configures a per-app VPN.

iOS 7.0+macOS 10.9+watchOS 10.0+visionOS 1.1+
Apple schema

Requires supervision on watchOS

Configuration Keys (10)

KeyTypeTitle
VPNUUIDrequired

A globally unique identifier for this VPN configuration.

string
CellularSliceUUID

iOS 18.0+ · not on macOS, tvOS, visionOS

A string representing the data network name (DNN) or app category identifying a Cellular Slice. The device forces the VPN tunnel to use the specified Cellular Slice.

stringCellular Slice UUID
SafariDomains

not on watchOS

An array with entries that must each specify a domain that triggers the VPN connection in Safari. Each entry is in the format `www.apple.com`.

array
MailDomainsdeprecated

iOS 13.0+ · deprecated 13.4 · macOS 10.15+ · not on watchOS, visionOS

An array with entries that must each specify a domain that triggers this VPN connection in Mail. Each entry is in the format `www.apple.com`. This property is deprecated in iOS 13.4 and later; use the `VPNUUID` property of the `Mail` or `ExchangeActiveSync` payload instead.

array
CalendarDomainsdeprecated

iOS 13.0+ · deprecated 13.4 · macOS 10.15+ · not on watchOS, visionOS

An array with entries that must each specify a domain that triggers this VPN connection in Calendar. Each entry is in the format `www.apple.com`. This property is deprecated in iOS 13.4 and later; use the `VPNUUID` property of the `CalDAV` payload instead.

array
ContactsDomainsdeprecated

iOS 13.0+ · deprecated 13.4 · macOS 10.15+ · not on watchOS, visionOS

An array with entries that must each specify a domain that triggers this VPN connection in Contacts. Each entry is in the format `www.apple.com`. This property is deprecated in iOS 13.4 and later; use the `VPNUUID` property of the `CardDAV` payload instead.

array
AssociatedDomains

iOS 14.0+ · macOS 11.0+

An array with entries that must each specify a domain that triggers this VPN. The domains must also be part of the `apple-app-site-association` file, as described in `Supporting associated domains`.

array
ExcludedDomains

iOS 14.0+ · macOS 11.0+

An array with entries that each specify a domain that doesn't trigger this VPN for connections to the domain.

array
OnDemandMatchAppEnabled

If `true`, automatically connects the VPN when associated apps for this per-app VPN service initiate network communication. Otherwise, the user must initiate the connection manually before those apps can initiate network communication. If this key isn't present, the value of the `OnDemandEnabled` key determines the status of per-app VPN On Demand.

boolean
SMBDomains

iOS 13.0+ · not on macOS, watchOS

An array of SMB domains that's accessible through this VPN connection.

array
SafariDomainsItemrequired

A domain.

string
MailDomainsItemrequired

A domain.

string
CalendarDomainsItemrequired

A domain.

string
ContactsDomainsItemrequired

A domain.

string
AssociatedDomainsItemrequired

A domain.

string
ExcludedDomainsItemrequired

A domain.

string
SMBDomainsItemrequired

An SMB domain.

string