Eligibility

Following regulatory changes in countries such as the European Union (Digital Markets Act) and South Korea (Telecommunications Business Act), with additional enforcement expected in further countries, Apple designed an eligibility system for determining the user's physical location, and therefore which features must be enabled for them. Early parts of this appeared in iOS 16.2 to comply with South Korea's TBA, with the most notable use of this system coming in iOS 17.4 to comply with the EU's Digital Markets Act. While primarily for regulatory compliance, some non-regulatory features are rolled out using this eligibility system.

countryd
determines the user's physical country based on multiple characteristics.

Quoting from :

Receives country code updates from user location, mobile country code (when available) and nearby 802.11d wifi access points. This information is then stored in a cache and used to compute a country code estimate which combines both the on-device code computed from local sensors, and answers about which country nearby devices believe they are in.

Location signals are searched the following order. They are sorted in an order of strongest to weakest signal. The strongest signals are expected to be the most accurate to the user's true physical location, not the user's specified country or the country of purchase, and most difficult to spoof.

The following list may be incomplete. It should, however, be accurate to the weight each item has in the final decision.


 * Last GPS coordinates received from Location Services
 * Mobile country code (MCC) of cell towers found around the device
 * Country identifier of Wi-Fi SSIDs broadcasting around the device
 * MCC of SIM cards in the device, and eSIMs enrolled on the device

countryd uses a mix of all signals to decide which country is the most likely physical location of the device.

Man page contents
COUNTRYD(8)                System Manager's Manual                COUNTRYD(8) NAME countryd – Listens for country-level information and makes that available to users of RegulatoryDomain.framework SYNOPSIS Takes no arguments, and should not be launched manually. DESCRIPTION Receives country code updates from user location, mobile country code (when available) and nearby 802.11d wifi access points. This information is then stored in a cache and used to compute a country code estimate which combines both the on-device code computed from local sensors, and answers about which country nearby devices believe they are in. HISTORY countryd first appeared in macOS 13 Darwin                         October 5, 2021                         Darwin

eligibilityd
uses the following signals to determine whether the device is eligible for country-specific features to be enabled. Which are used to determine eligibility of each domain is dependent on the com.apple.MobileAsset.OSEligibility configuration plist asset received by the device.


 * The device model family (e.g. iPhone)
 * Whether the device is a Chinese-market model
 * The regulatory country, as determined by countryd
 * Device model number region (doesn't cover all countries uniquely)
 * The country or region specified by the user in Settings
 * The country or region of the user's Apple ID payment method (the Apple Media Services storefront)

Features of the system needing to determine the region of the device use  functions to do so, which make XPC calls to eligibilityd. These are implemented in.

Each domain can define a grace period in seconds. This grace period will begin when the eligibility of a domain no longer matches. At the end of the grace period, the domain will be disabled. Currently, a grace period of 30 days is implemented for DMA features.

Man page contents
ELIGIBILITYD(8)            System Manager's Manual            ELIGIBILITYD(8) NAME eligibilityd – eligibilityd - computes feature availability SYNOPSIS takes no arguments, and users should not launch it manually. DESCRIPTION eligibilityd is used by the system to compute feature availability. It     should not be invoked manually. HISTORY eligibilityd first appeared in macOS 14.4 Darwin                         August 17, 2023                         Darwin

Domains
The following domains exist as of iOS 17.4. Most domains are named after their corresponding chemical element. It is possible this is an attempt to obscure the corresponding purpose of each domain.

dmatool
An internal tool, dmatool, exists on non-customer builds of iOS. Its help output is the following:

In a post, the help output, and behavior of the  command, are demonstrated. The command prints a message indicating it is setting answer  for each domain listed above, then fails with error 22 on an additional domain named.