id: os_privacy_setup_prompt_disable
title: Disable Privacy Setup Services During Setup Assistant
discussion: |
  The prompt for Privacy Setup services during Setup Assistant _MUST_ be disabled.

  Organizations _MUST_ apply organization-wide configuration settings. The macOS Privacy Setup services prompt guides new users through enabling their own specific privacy settings; this is not essential and, therefore, _MUST_ be disabled to prevent against the risk of individuals electing privacy settings with the potential to override organization-wide settings.
references:
  nist:
    cce:
      macos_27:
        - CCE-XXXXX-X
      macos_26:
        - CCE-95267-1
      macos_15:
        - CCE-94264-9
      macos_14:
        - CCE-92860-6
    800-53r5:
      - CM-7
      - CM-7(1)
    800-171r3:
      - 03.04.06
  disa:
    cci:
      - CCI-000381
    srg:
      - SRG-OS-000095-GPOS-00049
    disa_stig:
      macos_26:
        - APPL-26-002036
      macos_15:
        - APPL-15-002036
      macos_14:
        - APPL-14-002036
    cmmc:
      - CM.L2-3.4.6
      - CM.L2-3.4.7
  hhs:
    hicp:
      - 2.L.A
  cis:
    controls_v8:
      - 4.1
      - 4.8
platforms:
  macOS:
    '27.0': {}
    '26.0':
      benchmarks:
        - name: disa_stig
          severity: medium
    '15.0':
      benchmarks:
        - name: disa_stig
          severity: medium
      mobileconfig_info:
        - PayloadType: com.apple.SetupAssistant.managed
          PayloadContent:
            - SkipPrivacySetup: true
      enforcement_info:
        check:
          shell: |-
            /usr/bin/osascript -l JavaScript << EOS
            $.NSUserDefaults.alloc.initWithSuiteName('com.apple.SetupAssistant.managed')\
            .objectForKey('SkipPrivacySetup').js
            EOS
          result:
            string: 'true'
    enforcement_info:
      check:
        shell: |-
          /usr/bin/osascript -l JavaScript 2>/dev/null << EOS
          $.NSUserDefaults.alloc.initWithSuiteName('com.apple.SetupAssistant.managed')\
          .objectForKey('SkipSetupItems').containsObject("Privacy")
          EOS
        result:
          string: 'true'
    introduced: '15.0'
tags:
  - 800-171
  - cisv8
  - cnssi-1253_low
  - cnssi-1253_high
  - cmmc_lvl2
  - cnssi-1253_moderate
  - hicp_lp
mobileconfig_info:
  - PayloadType: com.apple.SetupAssistant.managed
    PayloadContent:
      - SkipSetupItems:
          - Privacy
