Rosetta Check MDM Guide

MDM Configuration Guide

Deploy and manage Rosetta Check across your Mac fleet using standard macOS configuration profiles. Available from v1.20.

🔍

Finding Rosetta Check in Apple Business Manager

Searching by name in ABM can be unreliable. Search using the App Store ID id6759349750 instead — this will find it immediately.

How It Works

Rosetta Check reads managed preferences from the com.neiljohn.rosettacheck preference domain using Apple's standard UserDefaults managed configuration mechanism. Deploy a .mobileconfig profile through your MDM solution to centrally control app behaviour.

When a key is set via a configuration profile, it overrides the user's local setting and the corresponding toggle in the app's Settings window is locked with a 🔒 icon. The app uses objectIsForced(forKey:) to detect managed keys — no special entitlements are required.

1. Create Profile

Download the example .mobileconfig and customise the keys you want to manage.

2. Deploy via MDM

Upload to Jamf, Intune, Mosyle, Kandji, or any MDM that supports custom profiles.

3. Verify

Managed settings show a 🔒 lock icon in the app. Users cannot override them.

Example Configuration Profile

Download a complete, working .mobileconfig file with all available keys. Edit it to include only the keys you want to manage — keys omitted from the profile remain under user control.

RosettaCheck-MDM.mobileconfig
Apple Configuration Profile · XML
Download

Important: Replace the PayloadUUID values with unique UUIDs for your organisation before deploying. Generate them with uuidgen in Terminal.

Preference Domain

com.neiljohn.rosettacheck

Managed Keys Reference

Every key supported by Rosetta Check's managed configuration. All keys are optional — include only those you want to control centrally.

Key Type Default Description
backgroundMonitoringEnabled Bool true Run a live Spotlight query in the background to detect new app installations and removals in real time. Disable to prevent any background activity.
notificationsEnabled Bool true Send macOS system notifications for flagged app alerts, app removal alerts, and readiness milestones. Set to false to suppress all notifications.
communityEnabled Bool false Share anonymised Intel app metadata with the community. No personal or device-identifying information is transmitted. Set to false to prevent any data leaving the device.
scanOnLaunch Bool true Automatically scan all installed applications when Rosetta Check launches. Disable to trigger scans manually or via the menu bar only.
launchAtLogin Bool false Register as a login item so Rosetta Check starts automatically at user login. Recommended for enterprise deployments.
autoExportEnabled Bool false Automatically export scan results to a local file after each scan. Essential for fleet-wide compliance reporting — IT tools can collect the export from each machine.
autoExportFormat String "csv" Export format — "csv" or "json". CSV suits spreadsheet analysis; JSON is better for programmatic ingestion.
promptForLaunchAtLogin Bool true Show the first-launch "Launch at Login?" prompt. Set to false to suppress. Use launchAtLogin to control the setting itself.
promptForCommunitySharing Bool true Show community sharing prompts and AI-powered feature UI. Set to false to suppress the community confirmation sheet, first-scan upload prompt, "Get AI Recommendations" card, AI change notification banner, and "Share Results" button.

Recommended Enterprise Configuration

For most enterprise deployments, we recommend the following configuration. This enables silent monitoring and auto-export while suppressing all user prompts and community features.

Managed Keys
<key>launchAtLogin</key>
<true/>
<key>scanOnLaunch</key>
<true/>
<key>backgroundMonitoringEnabled</key>
<true/>
<key>autoExportEnabled</key>
<true/>
<key>autoExportFormat</key>
<string>csv</string>
<key>promptForLaunchAtLogin</key>
<false/>
<key>promptForCommunitySharing</key>
<false/>
<key>communityEnabled</key>
<false/>

Export File Location

The auto-export file is written to the app's sandboxed Application Support directory and overwrites on every scan, so the file always contains the latest results:

~/Library/Containers/com.neiljohn.rosettacheck/Data/Library/Application Support/RosettaCheck/exports/rosetta-check-latest.csv

Or rosetta-check-latest.json if the format is set to JSON. The predictable filename means collection scripts never need to search for the newest file.

CSV Export Fields

Column Description
NameApplication display name
Bundle Identifiere.g. com.example.app
VersionCFBundleShortVersionString
ArchitectureIntel, Universal, Apple Silicon, or Unknown
Needs RosettaYes or No
SizeHuman-readable disk size (e.g. 142 MB)
Last UsedDate the app was last opened
First DetectedDate Rosetta Check first saw the app
App StoreYes if installed from the Mac App Store
Min macOSLSMinimumSystemVersion from the app's Info.plist
Impact Score0–100 score combining recency, size, and distribution source
CategoryApp category from LSApplicationCategoryType
PathFull filesystem path to the .app bundle

Collection Script

Deploy this script via your MDM to retrieve Intel app data from managed Macs. It runs as root, determines the currently logged-in console user, and reads their Rosetta Check export file. The output is written to STDOUT so MDM platforms like Intune, Jamf, and Kandji can capture it directly as a custom attribute or extension attribute.

rosetta-check-inventory.sh
Shell Script · Bash
Download

Deploy via Intune (Devices → macOS → Shell scripts), Jamf (Extension Attributes), or any MDM that supports custom scripts. Run as root.

rosetta-check-inventory.sh
#!/bin/bash
#
# Rosetta Check - Intel App Inventory Script
# Designed to run as root via MDM (Intune, Jamf, Kandji, etc.)
# Outputs Intel app names and versions from the console user's export file.
#

# Determine the currently logged-in console user
console_user=$(/usr/bin/stat -f%Su /dev/console 2>/dev/null)

if [[ -z "$console_user" || "$console_user" == "root" || "$console_user" == "loginwindow" ]]; then
    echo "No console user logged in"
    exit 0
fi

# Resolve the console user's home directory
user_home=$(/usr/bin/dscl . -read "/Users/$console_user" NFSHomeDirectory 2>/dev/null | awk '{print $2}')

if [[ -z "$user_home" ]]; then
    echo "Unable to resolve home directory for $console_user"
    exit 0
fi

# Path to the Rosetta Check auto-export file
export_file="${user_home}/Library/Containers/com.neiljohn.rosettacheck/Data/Library/Application Support/RosettaCheck/exports/rosetta-check-latest.csv"

if [[ ! -f "$export_file" ]]; then
    echo "No Rosetta Check export found"
    exit 0
fi

# Extract Intel app names and versions
intel=$(grep ",Intel," "$export_file" | awk -F',' '{print $1" ("$3")"}')

if [[ -n "$intel" ]]; then
    echo "$intel"
else
    echo "No Intel apps found"
fi

Example output:

foobar2000 (2.6.6)
Uninstall Global Secure Access Client (1.1.25111702)

Rosetta Usage Awareness (macOS 26.4+)

Starting with macOS 26.4, Apple shows a pop-up dialog each time an Intel app is launched, warning the user that Rosetta will be removed. This can be suppressed via an MDM Restrictions policy using the com.apple.applicationaccess payload. See Apple's device management schema for the full specification.

Deploy a Restrictions profile in your MDM with the following key:

MDM Restrictions — com.apple.applicationaccess
<key>allowRosettaUsageAwareness</key>
<false/>

Rosetta Check detects this setting and displays the current status in the Settings window under "Rosetta Transition". The downloadable example profile includes a commented-out section for this restriction.

Verifying Deployment

On a managed Mac, open Rosetta Check → Settings. Managed settings display a 🔒 lock icon and cannot be changed by the user. A "Management" banner appears when any keys are being managed.

You can also verify from Terminal:

bash
# Check if any keys are managed
defaults read com.neiljohn.rosettacheck

# Check a specific key
defaults read com.neiljohn.rosettacheck autoExportEnabled

Requirements

  • macOS 13 (Ventura) or later
  • Apple Silicon Mac
  • Rosetta Check v1.20+ installed from the Mac App Store
  • MDM solution capable of deploying custom configuration profiles

Questions? Contact [email protected]