Reference

Compatibility

Which macOS versions, architectures, and source types are supported — at the binary level and per plugin.

Collection host

  • macOS 12 (Monterey) and newer. This is the minimum for binaries built with Go 1.25. To collect evidence from an older system, collect from its disk image on a supported host with --image, or mount it and use --from.
  • arm64 and x86_64. Community releases ship a universal binary; Pro is built for each architecture.

Source types

  • Live system. Default. Reads through normal filesystem APIs; respects TCC.
  • Disk image file (v0.2.0+). Pass a DMG, raw, or E01 image with --image. macfor attaches it read-only, reads the System and Data volumes as one filesystem, and detaches it afterwards. E01 needs ewfmount (libewf) and macFUSE. See the CLI reference.
  • Mounted disk image or directory tree. Mount the image read-only, then pass its root with --from /Volumes/.... The same plugins run against it.
  • Sparse / encrypted images. Mount via hdiutil or DiskArbitration, then point macfor at the mount point.

Permissions

The collection process reads files using its own credentials. To reach paths protected by TCC (~/Library/Mail, ~/Library/Messages, ~/Library/Safari, the TCC database itself, …), grant Full Disk Accessto either the terminal you invoke macfor from. Running as root doesn't bypass TCC; only Full Disk Access does. macfor warns before a live collection if it doesn't have it.

macfor doesn't decrypt Chrome passwords or cookies, or Keychain entries: they're collected as opaque values or metadata, and decryption is the analyst's decision. The one exception is Pro's Signal plugin, which opens Signal Desktop's SQLCipher database to parse messages.

Per-plugin minimum macOS

The earliest macOS version each plugin's artifacts are documented for, taken from its manifest. It describes the source being collected, not the collection host, and macfor doesn't enforce it.

PluginPlugin IDModuleMinimum macOS
Apple Mailmail.applepromacOS 10.12+
Apple Notesnotes.applepromacOS 10.15+
Arc Browserbrowser.arcpromacOS 10.15+
Bluetooth Devicesdevices.bluetoothpromacOS 10.15+
Calendar & Reminderspim.calendarpromacOS 10.12+
ChatGPTai.chatgptpromacOS 12.0+
Claude Codeai.claudecodepromacOS 12.0+
Claude Desktopai.claudedesktoppromacOS 12.0+
Contacts (AddressBook)contacts.addressbookpromacOS 10.12+
CoreAnalyticssystem.coreanalyticspromacOS 10.13+
Discordapp.discordpromacOS 10.13+
Dropboxcloudstorage.dropboxpromacOS 10.12+
Evernoteproductivity.evernotepromacOS 10.15+
Facebook Messenger Desktopmessaging.fbmessengerpromacOS 10.15+
FaceTimefacetime.applepromacOS 10.13+
Firefox Browserbrowser.firefoxpromacOS 10.12+
FSEvents Journalfilesystem.fseventspromacOS 10.5+
Google Chrome Browserbrowser.chromepromacOS 10.12+
iTerm2devtools.iterm2promacOS 10.15+
Keychain Metadatasystem.keychainpromacOS 10.15+
Messages (iMessage/SMS/RCS)messages.applepromacOS 10.12+
Pattern of Lifesystem.patternoflifepromacOS 10.15+
Persistence Mechanismssystem.persistencepromacOS 10.15+
Quarantine Eventssystem.quarantinepromacOS 10.5+
Quick Look Thumbnailssystem.quicklookpromacOS 10.15+
Safari Browserbrowser.safaricommunitymacOS 10.12+
Screen Timesystem.screentimepromacOS 10.15+
Shell Historyshell.historycommunitymacOS 10.12+
Signal Desktopmessaging.signalpromacOS 10.15+
Slack Desktopcommunication.slackpromacOS 10.13+
Spotlight Metadatasystem.spotlightpromacOS 10.15+
TCC Databasesystem.tccpromacOS 10.14+
Telegram Desktopmessaging.telegrampromacOS 10.13+
Unified Logssystem.unifiedlogspromacOS 10.15+
User Accountssystem.userscommunitymacOS 10.12+
WhatsApp Desktopmessaging.whatsapppromacOS 10.15+
WiFi Known Networksnetwork.wifipromacOS 10.15+