id: system_settings_find_my_disable
title: Disable Find My Service
discussion: |
  The Find My service _MUST_ be disabled.

  A device management solution _MUST_ be used to carry out remote locking and wiping instead of Apple's Find My service.

  Apple's Find My service uses a personal AppleID for authentication. Organizations should rely on MDM solutions, which have much more secure authentication requirements, to perform remote lock and remote wipe.
references:
  nist:
    cce:
      macos_27:
        - CCE-XXXX-X
      macos_26:
        - CCE-95368-7
      macos_15:
        - CCE-94361-3
      macos_14:
        - CCE-92958-8
    800-53r5:
      - AC-20
      - CM-7
      - CM-7(1)
    800-171r3:
      - 03.01.20
      - 03.04.06
  disa:
    cci:
      - CCI-000381
    srg:
      - SRG-OS-000095-GPOS-00049
    disa_stig:
      macos_26:
        - APPL-26-002180
      macos_15:
        - APPL-15-002180
      macos_14:
        - APPL-14-002180
    cmmc:
      - AC.L1-3.1.20
      - CM.L2-3.4.6
      - CM.L2-3.4.7
  bzk:
    bio:
      - 7.10.02
      - 7.1
  hhs:
    hicp:
      - 2.L.A
      - 2.L.B
      - 4.L.A
      - 5.L.A
  cis:
    controls_v8:
      - 4.1
      - 4.8
      - 15.3
platforms:
  macOS:
    '27.0': {}
    '26.0':
      benchmarks:
        - name: disa_stig
          severity: medium
        - name: nlmapgov_plus
        - name: nlmapgov_base
    '15.0':
      benchmarks:
        - name: disa_stig
          severity: medium
        - name: nlmapgov_plus
        - name: nlmapgov_base
    enforcement_info:
      check:
        shell: |-
          /usr/bin/osascript -l JavaScript << EOS
          function run() {
            let pref1 = ObjC.unwrap($.NSUserDefaults.alloc.initWithSuiteName('com.apple.applicationaccess')\
          .objectForKey('allowFindMyDevice'))
            let pref2 = ObjC.unwrap($.NSUserDefaults.alloc.initWithSuiteName('com.apple.applicationaccess')\
          .objectForKey('allowFindMyFriends'))
            let pref3 = ObjC.unwrap($.NSUserDefaults.alloc.initWithSuiteName('com.apple.icloud.managed')\
          .objectForKey('DisableFMMiCloudSetting'))
            if ( pref1 == false && pref2 == false && pref3 == true ) {
              return("true")
            } else {
              return("false")
            }
          }
          EOS
        result:
          string: 'true'
    introduced: '-1'
tags:
  - 800-53r5_low
  - 800-53r5_moderate
  - 800-53r5_high
  - 800-171
  - cisv8
  - cnssi-1253_low
  - cnssi-1253_high
  - cmmc_lvl2
  - cmmc_lvl1
  - cnssi-1253_moderate
  - hicp_lp
mobileconfig_info:
  - PayloadType: com.apple.applicationaccess
    PayloadContent:
      - allowFindMyDevice: false
      - allowFindMyFriends: false
  - PayloadType: com.apple.icloud.managed
    PayloadContent:
      - DisableFMMiCloudSetting: true
