PayloadKit

Relay

com.apple.relay.managed

The payload that configures relay settings.

iOS 17.0+ · deprecated 27.0macOS 14.0+ · deprecated 27.0tvOS 17.0+visionOS 1.0+ · deprecated 27.0
Apple schema

Configuration Keys (8)

KeyTypeTitle
Relaysrequired

An array of dictionaries that describe one or more relay servers that the system can chain together.

arrayRelays
Relay
dictNetwork relay
HTTP3RelayURL

The URL or URI template, as defined in RFC 9298, of a relay server that's reachable using HTTP/3 and supports proxying TCP and UDP using the CONNECT method. Each relay needs to include either 'HTTP2RelayURL' or 'HTTP3RelayURL', or it can include both.

stringHTTP/3 relay URL
HTTP2RelayURL

The URL or URI template, as defined in RFC 9298, of a relay server that's reachable using HTTP/2 and supports proxying TCP and UDP using the CONNECT method. Each relay needs to include either 'HTTP2RelayURL' or 'HTTP3RelayURL', or it can include both.

stringHTTP/2 relay URL
AdditionalHTTPHeaderFields

A dictionary that contains custom HTTP header keys and values to add to each request. The dictionary key name represents the HTTP header field name to use, and the dictionary value is the string to use as the HTTP header field value.

dictAdditional HTTP header fields
{{key}}required
string—
{{value}}required

The HTTP header field value for the corresponding header field name.

string—
ANYrequired

The HTTP header field value for the corresponding header field name.

string—
PayloadCertificateUUID

The UUID that points to an identity certificate payload, which the system uses to authenticate the user to the relay server.

stringCertificate UUID
RawPublicKeys

An array of DER-encoded raw public keys that the system uses to authenticate the server during a TLS handshake. The server needs to use one of the keys in the handshake to authenticate. If this array is empty, the system uses the default TLS trust evaluation.

arrayRaw public keys
RawPublicKeysElement
dataRaw public key element
MatchDomains

A list of domain strings that the system uses to determine which connection to route through the servers in 'Relays'. Any connection that matches a domain in the list exactly or is a subdomain of the listed domain uses the relay servers, unless it matches a domain in 'ExcludedDomains'. If this list and 'MatchFQDNs' are empty, the system routes traffic to all domains to the relay servers, except those that match an excluded domain or excluded FQDN.

arrayMatch domains
MatchDomainsElement
stringMatch domains element
ExcludedDomains

A list of domain strings to exclude from routing through the servers in 'Relays'. Any connection that matches a domain in the list exactly or is a subdomain of the listed domain won't use the relay server.

arrayExcluded domains
ExcludedDomainsElement
stringExcluded domains element
RelayUUID

not on macOS

A globally unique identifier for this relay configuration. The system uses this UUID to route managed apps through the servers in 'Relays'. This key is required for user enrollment.

stringRelay UUID
MatchFQDNs

iOS 18.4+ · macOS 15.4+ · tvOS 18.4+ · visionOS 2.4+

A list of Fully Qualified Domain Names (FQDNs) to route through the servers contained in 'Relays'. Any connection that matches an FQDN in the list exactly uses the relay servers. If this list and 'MatchDomains' are empty, the system routes traffic to all domains to the relay servers, except those that match an excluded domain or excluded FQDN.

arrayMatch FQDNs
MatchFQDNsElement
stringMatch FQDNs element
ExcludedFQDNs

iOS 18.4+ · macOS 15.4+ · tvOS 18.4+ · visionOS 2.4+

A list of Fully Qualified Domain Names (FQDNs) to exclude from routing through the servers contained in 'Relays'. Any connection that matches an FQDN in the list exactly won't use the relay server. When 'MatchDomains' is also present, any FQDN listed in the list should be a subdomain of at least one 'MatchDomain' value, otherwise it won't have any effect.

arrayExcluded FQDNs
ExcludedFQDNsElement
stringExcluded FQDNs element
UIToggleEnabled

iOS 26.0+ · macOS 26.0+ · tvOS 26.0+ · visionOS 26.0+

If 'true', the device allows the user to disable this network relay configuration.

Default: true

booleanUI toggle enabled
AllowDNSFailover

iOS 26.0+ · macOS 26.0+ · tvOS 26.0+ · visionOS 26.0+

If 'true', the device allows the relay to failover to the default system DNS resolver.

Default: false

booleanAllow DNS failover