yesterday
I've originally written this post to my Github.
This document examines critical implementation challenges with Jamf Pro Computer Configuration Profiles, specifically focusing on the Restrictions Payload deployment mechanism. Three key issues have been identified, along with potential solutions and important operational considerations for organizations to implement while awaiting platform updates.
The Jamf Pro Restrictions Payload for macOS devices continues to use an outdated deployment format, diverging from the modern "include/don't include" approach implemented in other payloads. This legacy system requires explicit value assignment for all available keys, forcing organizations to make decisions on settings they may prefer to leave unmanaged.
When viewing the Security and Privacy Payload, we can see Jamf implemented the modern approach of "Include/Don't Include"
In this example, Password Change is included and restricted. Set Lock Message is included and allowed, and Send diagnostics… is not set at all
Current Implementation: Let's now look at the Restrictions payload.
When a setting like "Lock desktop picture" remains unselected, the system automatically assigns it a "FALSE" value, rather than leaving it unconfigured. This contrasts with modern modules where organizations can selectively include only the specific keys they wish to manage.
The current implementation deploys all settings simultaneously, regardless of whether the target system meets the minimum OS requirements for specific features. This limitation has become particularly problematic with the release of macOS Sequoia 15 and Apple Intelligence features.
While Jamf's Restriction payload documentation clearly indicates the minimum macOS version required for each key, the system lacks automatic profile redeployment capability when systems achieve compatibility through updates. For example:
When Jamf Pro servers receive updates that introduce new Restriction keys, existing profiles do not automatically redeploy to include these additions, creating a split-state environment. Consider the following scenario (Please note the Jamf Pro Version numbers may not exactly line up with feature releases. They are there solely for the sake of example):
An organization upgrades their Jamf Pro server from version 11.11 to 11.12 on February 20th at 9:00 AM. The upgrade introduces Apple Intelligence keys to the Restrictions payload capabilities. Their existing "Company macOS Restrictions" profile is affected in the following ways:
Systems enrolled prior to the upgrade (Jamf Pro 11.11 and earlier):
Systems enrolled after the upgrade (Jamf Pro 11.12):
This creates an immediate fleet management challenge where identical systems may have different restriction profiles based solely on their enrollment timing. The only resolution is a manual redeployment of the profile to all existing systems, requiring additional administrative overhead and careful change management planning.
The deployment of configuration profiles through MDM commands introduces several important considerations:
Command Queue Behavior
Profile Signing Implications
When implementing stackable profiles, understanding precedence is crucial:
Profile Priority
defaults
command)Conflict Resolution
Organizations must maintain visibility into profile deployment status:
Monitoring Capabilities
Compliance Verification
While awaiting native improvements to Jamf's Restrictions payload implementation, organizations can implement the following strategies:
This approach offers two implementation methods:
This structured approach ensures precise feature management while maintaining deployment flexibility for organizations managing diverse macOS environments.
Organizations moving from single to multiple profiles for managing Restrictions on macOS should:
Planning Phase
Implementation
Validation
When working with Jamf Pro's Restrictions payload, organizations should avoid these common pitfalls:
Don't combine security-critical restrictions with non-security settings in the same profile
Don't rely on profile updates alone to remove restrictions
Don't skip testing new restrictions on each macOS version in your environment
Don't assume all restrictions work the same way on all devices
Don't implement new restrictions without documenting purpose and impact
Don't modify restrictions without change management process
Don't maintain multiple copies of the same profile
Don't edit profiles directly in production without version control
Jamf Learning Hub | Deploying Custom Configuration Profiles Using Jamf Pro iMazing | Create or edit Configuration Profiles for iOS, macOS, tvOS, or watchOS Mod Titan | Quick look: using Application & Custom Settings to restrict 2024 fall release features with Jamf Pro Jamf Nation Community Feature Request:
yesterday
Images failed to upload, but are on the Github linked at the beginning of the post.
yesterday
Great write up, Tony