id: os_on_device_dictation_enforce
title: Enforce On Device Dictation
discussion: |
  The system _MUST_ be configured for on device dictation.

  By enforcing on device dictation this will mitigate the risk of unwanted data being sent to Apple.
references:
  nist:
    cce:
      macos_27:
        - CCE-XXXXX-X
      macos_26:
        - CCE-95247-3
      macos_15:
        - CCE-94245-8
      macos_14:
        - CCE-92841-6
      ios_27:
        - CCE-XXXXX-X
      ios_26:
        - CCE-95672-2
      ios_18:
        - CCE-94452-0
      ios_17:
        - CCE-93436-4
      visionos_26:
        - CCE-95585-6
      visionos_27:
        - CCE-XXXXX-X
    800-53r5:
      - AC-20
      - CM-7
      - CM-7(1)
      - SC-7(10)
    800-171r3:
      - 03.01.20
      - 03.04.06
  disa:
    cci:
      - CCI-000381
    srg:
      - SRG-OS-000095-GPOS-00049
    disa_stig:
      macos_26:
        - APPL-26-002220
      macos_15:
        - APPL-15-002220
      macos_14:
        - APPL-14-002220
      ios_26:
        - AIOS-26-014400
      ios_18:
        - AIOS-18-014400
      ios_17:
        - AIOS-17-014400
      visionos_26:
        - AVOS-26-014400
    cmmc:
      - AC.L1-3.1.20
      - CM.L2-3.4.6
      - CM.L2-3.4.7
  bzk:
    bio:
      - 8.12
  hhs:
    hicp:
      - 2.L.A
      - 4.L.A
      - 4.L.B
  cis:
    benchmark:
      macos_26:
        - 2.18.1 (level 1)
      macos_15:
        - 2.18.1 (level 1)
      macos_14:
        - 2.18.1 (level 1)
    controls_v8:
      - 4.1
      - 4.8
  bsi:
    indigo:
      ios_26:
        - ANNEX K
      ios_18:
        - ANNEX K
      ios_17:
        - ANNEX K
platforms:
  macOS:
    '27.0': {}
    '26.0':
      benchmarks:
        - name: cis_lvl1
        - name: cis_lvl2
        - name: disa_stig
          severity: medium
        - name: nlmapgov_plus
    '15.0':
      benchmarks:
        - name: cis_lvl1
        - name: cis_lvl2
        - name: disa_stig
          severity: medium
        - name: nlmapgov_plus
    enforcement_info:
      check:
        shell: |-
          /usr/bin/osascript -l JavaScript << EOS
          $.NSUserDefaults.alloc.initWithSuiteName('com.apple.applicationaccess')\
          .objectForKey('forceOnDeviceOnlyDictation').js
          EOS
        result:
          string: 'true'
    introduced: '14.0'
  iOS:
    '27.0': {}
    '26.0':
      supervised: false
      benchmarks:
        - name: ios_stig
          severity: medium
        - name: indigo_base
          severity: medium
        - name: indigo_high
          severity: medium
        - name: nlmapgov_plus
    '18.0':
      supervised: false
      benchmarks:
        - name: ios_stig
          severity: medium
        - name: indigo_base
          severity: medium
        - name: indigo_high
          severity: medium
    '17.0':
      supervised: false
      benchmarks:
        - name: ios_stig
          severity: medium
        - name: indigo_base
          severity: medium
        - name: indigo_high
          severity: medium
    introduced: '14.5'
  visionOS:
    '27.0':
      supervised: false    
    '26.0':
      supervised: false
      benchmarks:
        - name: visionos_stig
          severity: medium
    introduced: '2.0'
tags:
  - arm64
  - 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
  - cmmc_lvl3
mobileconfig_info:
  - PayloadType: com.apple.applicationaccess
    PayloadContent:
      - forceOnDeviceOnlyDictation: true
ddm_info:
  declarationtype: com.apple.configuration.intelligence.settings
  ddm_key: ForceOnDeviceOnlyTranslation
  ddm_value: true
