mSCP
macOS Security Compliance Project (mSCP) · Automated MDM Compliance Report
⚠ Demonstration Session — Not for Production Certification

macOS CIS Level 1Compliance Report

This report was generated automatically during a single AI-assisted session using the NIST macOS Security Compliance Project (mSCP) 2.0 framework, cross-referenced with live fleet data from a Smplify MDM instance. It documents six MDM configuration profiles built to the CIS Apple macOS 26.0 Tahoe v1.0.0 Benchmark Level 1 baseline, and provides a gap analysis for migration to NIST SP 800-53 Rev 5 Moderate.

6
Profiles Created
6
Devices Evaluated
90+
Rules Analyzed
~20m
Session Duration
mSCP
Section 1

Executive Summary

This session demonstrates end-to-end automated macOS security compliance using the NIST macOS Security Compliance Project (mSCP) 2.0 framework integrated with Smplify MDM. The session was initiated from a fleet with zero compliance policies deployed and concluded with six CIS Level 1 configuration profiles created, tagged, and ready for staged deployment — without disrupting any enrolled devices.

6
MDM profiles created
0
Profiles deployed (by design)
4
Controls safe to auto-remediate
2
Controls requiring caution
~25
Net new rules for 800-53r5 Moderate
1
UAMDM requirement identified

Accomplishments

Fleet inventory and risk assessment. All six enrolled devices were inventoried from Smplify. Key findings included a device stuck in UNENROLL_PENDING state with no active MDM enforcement, an unassigned iPhone on a different tenant, and a MacBook Air running macOS 15.7.5 — significantly behind the current fleet OS version of 26.5.

CIS Level 1 baseline interpretation. The live cis_lvl1.yaml from the mSCP GitHub repository was fetched and parsed. All 90+ rules were mapped to Apple MDM payload identifiers and organized into six logical policy groups.

Six production-ready profiles built and tagged. Profiles were created in Smplify covering firewall, full-disk encryption, password policy, screen lock, login window hardening, and software update enforcement. All profiles were tagged "NIST mSCP Demo" for tracking. No profiles were deployed.

UAMDM prerequisite identified. The FileVault profile (com.apple.MCX.FileVault2) was flagged as requiring User Approved MDM enrollment before enforcement — the only profile in the set with this constraint.

Compliance gap and disruption analysis. Each profile was assessed against each eligible macOS device. All six devices fail all six controls (no policies installed). Four controls were classified as safe for immediate automated remediation; two require advance notice to users.

CIS Level 1 → NIST 800-53r5 Moderate upgrade path. A full baseline diff was produced, identifying approximately 25 net-new rules, 10 ODV value changes, and 28 CIS-only controls not required by 800-53r5 Moderate. Per-rule customization values and rationale were documented.

⚠ Demonstration Notice

This report was generated during a demonstration session. All profiles are staged in Smplify but have not been deployed to any devices. This document should not be used as evidence of compliance certification for any regulatory or audit purpose.

Section 2

Fleet Snapshot

The following devices were inventoried from the Smplify tenant at the time of this session. CIS Level 1 profiles apply exclusively to macOS devices; iOS and iPadOS devices are out of scope for this baseline.

Device Model User OS Version Platform Status Scope
Mac mini Mac16,10 Ben macOS 26.5 macOS Enrolled In scope
MacBook Air (M1) MacBook Air Admin at Smplify macOS 15.7.5 macOS Enrolled In scope — OS outdated
iPad Air iPad Air Ben iPadOS 26.5 iPadOS Enrolled Out of scope
iPhone 15 Pro iPhone 15 Pro Ben iOS 26.5 iOS Enrolled Out of scope
iPhone (13 mini) iPhone 13 mini API User iOS 26.2.1 iOS UNENROLL_PENDING Out of scope — action required
iPhone (13 mini) iPhone 13 mini Unassigned iOS 26.4.2 iOS Enrolled — anomalous Out of scope — review ownership
Fleet Risk Findings

MacBook Air on macOS 15.7.5: This device is several major OS versions behind the remainder of the fleet. Multiple CIS L1 controls have version-specific enforcement behaviors, and several mSCP rules explicitly require macOS 26.x. This device must be updated before profiles will apply correctly.


UNENROLL_PENDING iPhone: This device is no longer under active MDM control. No policies, restrictions, or remote wipe capability apply. Resolve immediately — either complete the unenrollment or re-enroll.


Unassigned iPhone: No user is associated and the device belongs to an anomalous tenant context. Attribute or decommission before applying any policy scope.

Section 3

CIS Level 1 Configuration Profiles

The following six profiles were built in Smplify using Apple MDM payload schemas, mapped to the CIS Apple macOS 26.0 Tahoe v1.0.0 Benchmark Level 1 rules from the mSCP 2.0 cis_lvl1.yaml baseline. Each profile is documented using the mSCP guidance structure: discussion, check, fix, result, and references.

CIS L1 — Firewall

Smplify Policy ID: 151ddb4f-d406-406f-9698-18c3a3563f69 · Payload: com.apple.security.firewall
Severity: High Created · Not deployed
Rules
system_settings_firewall_enable · system_settings_firewall_stealth_mode_enable
Discussion

A firewall is a network security system that monitors and controls the incoming and outgoing network traffic based on predetermined security rules. The macOS application firewall operates at the application layer, blocking unauthorized incoming connections on a per-application basis.

Stealth mode prevents the Mac from responding to probing requests — ICMP pings and port scans return no response, effectively rendering the device invisible to passive network reconnaissance. Both controls should be enabled for any device operating on untrusted or shared networks.

CIS Benchmark: 3.6 (Enable Firewall), 3.7 (Enable Stealth Mode). Both are Level 1 automated controls with no user-facing impact.

Check
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode

Both commands should return enabled. Alternatively: defaults read /Library/Preferences/com.apple.alf globalstate should return 1 or 2.

Fix
Implemented via MDM configuration profile. The com.apple.security.firewall payload with keys EnableFirewall: true and EnableStealthMode: true enforces and locks both settings. No reboot required; applies silently on next MDM check-in.
Result
Failing — 2/2 macOS devices

Neither the Mac mini nor MacBook Air has any policies installed. Both devices are presumed to have the firewall in its default state (disabled or user-controlled). Profile is staged and ready to deploy.

Auto-remediate?
✓ Safe — deploy immediately

Silent background enforcement. No user-facing change. No reboot required.

References
CIS 3.6 CIS 3.7 800-53r5: SC-7 800-53r5: CM-7 CCE-94328-2

CIS L1 — FileVault Encryption

Smplify Policy ID: 20dc828e-fe72-4816-b8e1-6e65ebcd5e2e · Payload: com.apple.MCX.FileVault2
Severity: High ⚠ UAMDM Required Created · Not deployed
Rules
system_settings_filevault_enforce · supplemental_filevault
Discussion

FileVault 2 provides full-disk encryption for macOS using XTS-AES-128 with a 256-bit key. Enabling FileVault ensures that all data at rest on the system volume is encrypted and inaccessible without the user's credentials or a valid recovery key. This is the primary control for protecting data on lost or stolen devices.

The mSCP supplemental guidance (supplemental_filevault) recommends storing the personal recovery key in MDM and not displaying it to the user, to prevent key loss. The Smplify profile uses Defer: true with DeferForceAtUserLoginMaxBypassAttempts: 0, prompting the user to enable FileVault at next login with no bypass option.

CIS Benchmark: 2.5.1. This is the single highest-priority data protection control in the CIS Level 1 baseline.

UAMDM Notice
⚠ User Approved MDM Required

The com.apple.MCX.FileVault2 payload schema carries userapprovedmdm: true. Apple requires that macOS devices explicitly approve the MDM enrollment via System Settings → Privacy & Security → Profiles before a FileVault management profile will be accepted. Devices enrolled via ADE/DEP receive this approval automatically; manually enrolled devices require a user-initiated approval step. Verify UAMDM status before deploying this profile.

Check
fdesetup status

Expected: FileVault is On. If the response is FileVault is Off. or Deferred enablement appears to be active…, the control is not yet enforced.

Fix
Implemented via MDM configuration profile with Defer: true. On next user login following profile installation, macOS will prompt the user to enable FileVault. The encryption process runs transparently in the background and does not require a reboot. Recovery key is escrowed to MDM.
Result
Failing — Mac mini (presumed) MacBook Air — skip (OS 15.7.5)

No policies are deployed. FileVault status cannot be confirmed via MDM without a compliance check script. The Mac mini should be confirmed for UAMDM status before this profile is deployed. The MacBook Air must be updated to macOS 26.x first.

Auto-remediate?
⚠ Caution — verify UAMDM first

Confirm Mac mini UAMDM status. Encryption runs silently after user login prompt. May briefly impact performance on older hardware during initial encryption.

References
CIS 2.5.1 800-53r5: SC-28 800-53r5: SC-28(1) CCE-94201-1 NIST SP 800-111

CIS L1 — Password Policy

Smplify Policy ID: bcbfd199-3e66-49a9-9d3f-b7cc5d9720f4 · Payload: com.apple.mobiledevice.passwordpolicy
Severity: High Created · Not deployed
Rules
pwpolicy_minimum_length_enforce · pwpolicy_history_enforce · pwpolicy_max_lifetime_enforce · pwpolicy_account_lockout_enforce · pwpolicy_account_lockout_timeout_enforce · supplemental_password_policy
Discussion

Password complexity and lifecycle controls are fundamental identity controls mapped to NIST SP 800-53r5 IA-5. A minimum length of 15 characters significantly raises the cost of brute-force attacks. History enforcement (15 previous passwords) prevents recycling of recently used credentials. A maximum age of 365 days ensures credentials are rotated annually.

Account lockout after 5 failed attempts with a 15-minute reset window balances usability with protection against online credential attacks. CIS L1 deliberately sets a higher lockout threshold than NIST 800-53r5 Moderate (which recommends 3) to reduce user friction.

Check
/usr/bin/pwpolicy -getaccountpolicies 2>/dev/null | \
  /usr/bin/tail +2 | /usr/bin/xmllint --xpath \
  'boolean(//*[contains(text(),"policyAttributePassword")])' -
Configured values
ParameterCIS L1 Value800-53r5 Moderate ODV
Minimum length1514
Password history155
Maximum age (days)36560 ← stricter
Lockout threshold53 ← stricter
Lockout reset (min)1515
Fix
Implemented via MDM configuration profile. Policy applies at next password change — does not immediately expire existing passwords or lock users out. Lockout threshold applies immediately upon profile installation.
Result
Failing — 2/2 macOS devices
Auto-remediate?
⚠ Caution — notify users first

The 5-attempt lockout threshold is strict. Users unaware of the change who are uncertain of their password may trigger an unexpected lockout. Send advance notice and confirm admin recovery paths are in place before deploying.

References
CIS 5.2.1–5.2.5 800-53r5: IA-5(1) 800-53r5: AC-7 CCE-94334-0

CIS L1 — Screen Saver & Lock

Smplify Policy ID: 19b67553-fc60-4150-b47c-0da1420de011 · Payload: com.apple.screensaver
Severity: Medium Created · Not deployed
Rules
system_settings_screensaver_password_enforce · system_settings_screensaver_ask_for_password_delay_enforce · system_settings_screensaver_timeout_enforce
Discussion

Unattended sessions are one of the most common vectors for physical-access attacks. Screen lock controls ensure that a device left unattended requires re-authentication before use. The 20-minute timeout (CIS L1 value; NIST Moderate recommends 15 minutes) activates the screen saver after inactivity, and the 5-second password grace period prevents nuisance locking during brief pauses while still closing the window for opportunistic access.

CIS Benchmark: 2.10, 6.1.4. Both controls are enforced via MDM with no reboot required and no active session interruption.

Check
osascript -e 'tell application "System Events" to \
  tell security preferences to get require password to wake'
defaults -currentHost read com.apple.screensaver idleTime
Fix
Implemented via MDM configuration profile. loginWindowIdleTime: 1200 (20 minutes), askForPassword: true, askForPasswordDelay: 5. Applies on next MDM check-in. No reboot required. Users in active sessions are not interrupted — the screen saver only triggers after 20 minutes of inactivity.
Result
Failing — 2/2 macOS devices
Auto-remediate?
✓ Safe — deploy immediately
References
CIS 2.10 CIS 6.1.4 800-53r5: AC-11 800-53r5: AC-11(1) CCE-94350-6

CIS L1 — Login Window & Sharing

Smplify Policy ID: 58da996c-112b-4d16-924b-29d0cda2d031 · Payloads: com.apple.loginwindow · com.apple.applicationaccess
Severity: High Created · Not deployed
Rules
system_settings_automatic_login_disable · system_settings_guest_account_disable · os_airdrop_disable · system_settings_airplay_receiver_disable · system_settings_bluetooth_sharing_disable · system_settings_internet_sharing_disable · system_settings_remote_management_disable · system_settings_screen_sharing_disable · system_settings_printer_sharing_disable · system_settings_loginwindow_loginwindowtext_enable · system_settings_loginwindow_prompt_username_password_enforce · os_unlock_active_user_session_disable
Discussion

This profile addresses two related control families: login window hardening and network sharing service reduction. The login window controls ensure that the device reveals no account names at rest (requiring both username and password to be typed), displays an authorized-use-only banner, and prevents automatic login — all of which reduce the information available to an attacker with physical access.

Sharing service controls enforce the principle of least functionality by disabling all network sharing capabilities that are not explicitly required: AirDrop, AirPlay receiver, Bluetooth sharing, internet sharing, remote management (ARD), screen sharing, and printer sharing. Each represents a lateral movement or data exfiltration vector if left enabled and unmonitored.

Banner Text
This system is for authorized use only. Unauthorized access is prohibited and may be subject to legal action.

Note: This text should be reviewed by legal counsel and customized with organization-specific language before deployment in production environments.

Fix
Implemented via two MDM payloads. Login window settings via com.apple.loginwindow; sharing and access restrictions via com.apple.applicationaccess. Login window changes are visible at next login — no impact on active sessions. Sharing service disablement is immediate.
Result
Failing — 2/2 macOS devices
Auto-remediate?
✓ Safe — verify no active screen share sessions

Check for active screen share connections before deploying to avoid abrupt disconnection. All other changes apply without user disruption.

References
CIS 2.4.1 CIS 2.4.2 CIS 2.4.10–14 CIS 6.1.1–6.1.3 800-53r5: AC-2 800-53r5: AC-8 800-53r5: CM-7 800-53r5: AC-18

CIS L1 — Software Update

Smplify Policy ID: cc5e32b9-137f-49b3-a5c8-3dffb93102a8 · Payload: com.apple.SoftwareUpdate
Severity: High Created · Not deployed
Rules
system_settings_critical_update_install_enforce · system_settings_software_update_download_enforce · system_settings_install_macos_updates_enforce · os_config_data_install_enforce · os_software_update_app_update_enforce · system_settings_softwareupdate_current
Discussion

Unpatched operating systems remain one of the leading causes of successful exploitation in enterprise environments. This profile enforces automatic checking, downloading, and installation of critical security updates and system data files, ensuring that Rapid Security Responses (RSRs) and XProtect updates are applied without user intervention.

MacOS version updates are enforced automatically. Note that on the MacBook Air running macOS 15.7.5, this profile will not produce meaningful compliance — the device must first be manually updated to macOS 26.x before MDM-enforced software update controls apply correctly for this baseline.

Check
defaults read /Library/Preferences/com.apple.SoftwareUpdate \
  AutomaticCheckEnabled AutomaticDownload \
  CriticalUpdateInstall ConfigDataInstall \
  AutomaticallyInstallMacOSUpdates

All values should return 1.

Fix
Implemented via MDM configuration profile. All six update keys set to true. Installs occur outside business hours by default; no immediate forced reboot. Applies silently on MDM check-in.
Result
Failing — 2/2 macOS devices

MacBook Air on 15.7.5 noted — profile will install but full enforcement effect requires OS upgrade first.

Auto-remediate?
✓ Safe — deploy immediately
References
CIS 1.1 CIS 1.2 800-53r5: SI-2 800-53r5: SI-3 CCE-94210-2 CCE-94211-0
Section 4

User Approved MDM (UAMDM) Requirement

Apple introduced User Approved MDM in macOS 10.13.2 as a security measure to prevent silent, unauthorized MDM enrollment. Certain high-privilege configuration payloads — including kernel extensions, system extensions, privacy preference policy controls, and FileVault management — require that the device owner explicitly approve the MDM enrollment before these profiles will be accepted.

⚠ FileVault Profile — UAMDM Required

The com.apple.MCX.FileVault2 payload carries userapprovedmdm: true in the mSCP payload schema. This is the only profile in the current CIS L1 set with this requirement. The remaining five profiles (com.apple.security.firewall, com.apple.mobiledevice.passwordpolicy, com.apple.screensaver, com.apple.loginwindow, com.apple.SoftwareUpdate) do not require UAMDM and can be deployed to any enrolled device.

Per-Device UAMDM Assessment

DeviceEnrollment MethodUAMDM StatusAction Required
Mac mini (Ben) Unknown — verify Unconfirmed Check System Settings → Privacy & Security → Profiles. If ADE/DEP enrolled, UAMDM is automatic.
MacBook Air (Admin) Unknown — verify Not applicable OS must be updated to macOS 26.x before FileVault profile is relevant.

How to Verify UAMDM Status

Run the following on each device to confirm UAMDM approval status:

profiles status -type enrollment

Look for MDM enrollment: Yes (User Approved) in the output. If the response shows Yes without User Approved, the device requires manual approval in System Settings before the FileVault profile will take effect.

Section 5

Compliance Gap Analysis

At the time of this session, no MDM policies of any kind were installed on any macOS device in the fleet. The following table summarizes the compliance posture against each CIS L1 profile for each in-scope device.

Profile Mac mini (26.5) MacBook Air (15.7.5) Auto-remediate
Firewall Failing Failing Safe
FileVault Failing (presumed) Skip — OS outdated Verify UAMDM first
Password Policy Failing Failing Notify users first
Screen Saver & Lock Failing Failing Safe
Login Window & Sharing Failing Failing Safe (verify no active screen share)
Software Update Failing Failing Safe
Recommended Deployment Sequence

Phase 1 (immediate): Deploy Firewall, Screen Saver & Lock, Login Window & Sharing, and Software Update profiles to the Mac mini. These four are safe to deploy with no user impact.


Phase 2 (after user notice): Deploy Password Policy to both Macs after notifying users and confirming admin recovery paths.


Phase 3 (after UAMDM verification): Verify UAMDM status on the Mac mini, then deploy the FileVault profile.


Pre-condition for MacBook Air: Update macOS from 15.7.5 to 26.x before deploying any profiles to this device.

Section 6

Baseline Upgrade: CIS Level 1 → NIST 800-53r5 Moderate

The following analysis documents the rule-level changes required to migrate from the CIS Apple macOS 26.0 Tahoe v1.0.0 Level 1 baseline to the NIST SP 800-53 Rev 5 Moderate baseline, as defined in the mSCP 800-53r5_moderate.yaml file.

~25
Net-new rules to add
~55
Rules carried over from CIS L1
~28
CIS-only rules to remove
10
Rules with ODV value changes

Key Net-New Rules (800-53r5 Moderate Only)

RuleControlsCategoryODV Note
audit_flags_aa_configure
audit_flags_lo_configure
audit_flags_ex_configure
+4 more audit_flags_*
AU-2, AU-12Audit flagsNo ODV — binary on/off
os_ssh_fips_140_ciphersSC-13, SC-8CryptographyMust enumerate FIPS-approved cipher list
os_ssh_fips_140_macsSC-13, SC-8CryptographyMust enumerate FIPS-approved MAC algorithms
os_ssh_server_alive_interval_configureSC-10SSH timeoutRecommended: 900 (15 minutes)
os_ssh_server_alive_count_max_configureSC-10SSH timeoutRecommended: 0
os_implement_cryptographySC-13CryptographyNo ODV — enforces FIPS-validated crypto
os_bonjour_disableCM-7ServicesNo ODV
os_tftpd_disableCM-7ServicesNo ODV
os_efi_integrity_validatedSI-7IntegrityNo ODV — EFI check
audit_failure_halt_system_configureAU-5AuditingNo ODV — halt on audit failure

Rules Requiring ODV Value Changes

RuleCIS L1 Value800-53r5 Moderate ODVImpact
pwpolicy_account_lockout_enforce5 attempts3 attemptsStricter — higher user lockout risk
pwpolicy_max_lifetime_enforce365 days60 daysSignificantly stricter — more frequent password changes
pwpolicy_history_enforce15 passwords5 passwordsLess restrictive
pwpolicy_minimum_length_enforce15 chars14 charsFunctionally equivalent
system_settings_screensaver_timeout_enforce20 min15 minTighter lock timeout
os_sudo_timeout_configure5 min0 (always prompt)Users must enter password for every sudo invocation
system_settings_time_server_configuretime.apple.comOrg-approved NTP (e.g. time.nist.gov)Requires org customization
system_settings_loginwindow_loginwindowtext_enableGeneric bannerAO-approved org-specific bannerLegal review required
os_software_update_deferralN/A (CIS L1)30 days (non-security)New rule — set deferral window
audit_retention_configure7 daysOrg-defined (90+ days for FedRAMP)Must match org retention policy

CIS-Only Rules Not in 800-53r5 Moderate

These rules exist in cis_lvl1.yaml but have no corresponding tag in 800-53r5_moderate.yaml. They can be retained for defense-in-depth but are not required for Moderate compliance. Notable examples include all Safari privacy controls (os_safari_*), Siri and dictation controls (system_settings_siri_disable, os_on_device_dictation_enforce), Apple Intelligence controls (system_settings_external_intelligence_*), and CIS-specific manual checks (supplemental_cis_manual).

Section 7

Manual Effort Comparison

The following table estimates the time a skilled macOS administrator — with working knowledge of the mSCP framework, Apple MDM protocol reference, and the Smplify console — would require to replicate this session's output manually.

Estimated manual time (experienced admin)
2–3 days
Actual session duration
~20 minutes
TaskManual EstimateComplexity
Fleet inventory and risk assessment3–4 hoursHigh
mSCP CIS L1 baseline fetch and interpretation1–2 hoursMedium
Build and tag 6 MDM profiles in Smplify4–6 hoursHigh
UAMDM prerequisite identification30–60 minutesLow
Compliance gap and disruption analysis3–4 hoursHigh
CIS L1 → 800-53r5 Moderate baseline diff with ODV6–8 hoursHigh
Total17–25 hours (2–3 days)

Note: Manual estimate assumes an experienced administrator already familiar with mSCP, Apple MDM payloads, and Smplify. For administrators newer to any of these three areas, the estimate extends to 5–7 days. The baseline diff task (Section 6) is typically scoped as a multi-day engagement for a dedicated compliance consultant.

Section 8

References

Document Information

Generated: May 20, 2026  ·  Baseline: CIS Apple macOS 26.0 Tahoe v1.0.0 Level 1  ·  mSCP Branch: dev_2.0  ·  Platform: macOS 26.0 Tahoe
Status: DEMONSTRATION SESSION — Not for production certification or regulatory audit use.