For the last decade, managing macOS software updates via Mobile Device Management (MDM) was an exercise in frustration. IT administrators relied on the imperative MDM protocol: the server sent an APNs push notification, asked the Mac for its update status, parsed the XML response, and sent a command (ScheduleOSUpdate) commanding the Mac to install the update. If the Mac was asleep, off the network, or the user clicked “Cancel,” the command failed, and the server had to start the polling loop all over again.
Apple revolutionized this architecture with Declarative Device Management (DDM). DDM represents a paradigm shift from an imperative model (the server micro-managing the device) to a declarative model (the server declares the desired state, and the device figures out how to achieve it autonomously).
This guide explains how to architect and deploy Software Update enforcement policies utilizing macOS DDM, eliminating update fatigue and ensuring zero-day compliance.
Understanding the DDM Architecture
Under the legacy MDM profile system, a configuration profile was a static XML payload. DDM introduces the concept of Declarations. There are three primary types of declarations:
- Configurations: The desired settings (e.g., “macOS 14.4 must be installed by Friday at 5 PM”).
- Assets: Data required by configurations (e.g., a specific institutional logo for the update prompt).
- Activations: Logic that determines when a configuration applies (e.g., “Only apply this update configuration if the Mac is an Apple Silicon model”).
When the MDM server sends a Software Update Declaration to the Mac, the macOS softwareupdated daemon natively ingests the deadline. The Mac itself takes over the responsibility of checking Apple’s servers, downloading the payload in the background, nagging the user with native macOS notifications, and enforcing the reboot at the exact deadline—all without any further communication from the MDM server.
Step 1: Prerequisites for DDM Software Updates
Before deploying DDM configurations, ensure your fleet meets the baseline requirements:
- macOS Version: DDM Software Update configurations require macOS 14 Sonoma or later.
- Supervision: The Mac must be Supervised (which is automatic for Automated Device Enrollment/DEP).
- MDM Vendor Support: Your MDM provider (Jamf Pro, Intune, Kandji) must explicitly support the Apple DDM API structure.
Step 2: Constructing the DDM Configuration Payload
In your MDM console, navigate to the Declarative Device Management section (often labeled as “Managed Software Updates” or “Declarative Updates”).
You are no longer sending a “Command.” You are building a com.apple.configuration.softwareupdate.enforcement.specific declaration payload.
You must define three critical parameters:
- Target OS Version: Specify the exact OS version you want to enforce (e.g.,
14.4.1) or use a dynamic variable likeLatest. - Target Build Version (Optional): Useful if Apple releases a Rapid Security Response (RSR) or an out-of-band patch with the same OS version number but a different build string.
- Target Local Date Time: This is the most powerful feature of DDM. You specify the exact timestamp for enforcement (e.g.,
2023-11-20T17:00:00). Crucially, this uses the local time zone of the device, preventing a global company from accidentally rebooting European Macs at 3 AM just because the IT admin is in New York.
Step 3: The Autonomous User Experience
Once the MDM syncs the declaration to the Mac, the magic of autonomy begins.
If the deadline is 14 days away, macOS silently checks into Apple’s Software Update servers, verifies the 14.4.1 delta payload, and begins downloading it in the background using idle network bandwidth.
As the deadline approaches, macOS natively handles the user notifications (via the standard Notification Center).
- At 7 days out, the user gets a gentle prompt.
- At 24 hours out, the prompts become sticky.
- At 1 hour out, macOS displays a countdown timer.
If the user is in the middle of a Zoom presentation when the deadline hits, macOS will enforce the reboot. The MDM server does not need to send a “Reboot Now” command; the macOS local daemon executes the mandate autonomously based on the declared state.
Step 4: Monitoring DDM Status Channels
If the MDM server is no longer polling the device to ask for its update status, how does IT know if the fleet is compliant?
DDM introduces Status Channels. Instead of the server asking questions, the Mac proactively pushes state changes back to the MDM server asynchronously. When the Mac successfully finishes installing macOS 14.4.1 and reboots, the DDM client immediately sends a JSON payload to the MDM server declaring that the softwareupdate status has changed from downloading to installed.
IT administrators simply monitor the MDM dashboards, which populate in real-time as devices independently execute their declarations.
Conclusion
Declarative Device Management permanently resolves the unreliability of MDM software updates. By offloading the state engine from the cloud server directly to the macOS endpoint, DDM ensures that critical security patches are downloaded, staged, and mercilessly enforced at the precise local deadline, regardless of network connectivity to the MDM platform.