Get started

Frequently asked questions

Does macfor modify the source?

No. Files are opened read-only and copied byte-for-byte. The source filesystem is never written to. SHA-256 is computed in-flight and stored in hashes.json for re-verification.

What macOS versions are supported?

macOS 10.15 (Catalina) and newer for the collection host. Per-plugin minimums are enumerated on the compatibility page — many plugins accept older sources when collecting from a disk image.

Will macfor decrypt Keychain entries / Chrome cookies / Signal?

No, by design. macfor collects encrypted blobs as opaque values and records the parameters needed for offline decryption. Decryption is the analyst's call — and is best done in a controlled environment with the right authority.

Can I run it against a FileVault-encrypted volume?

Yes — once the volume is unlocked and mounted. Pass the mount point via --source image:/Volumes/Macintosh\ HD. macfor does not handle FileVault unlock itself; use Apple tooling (diskutil, fdesetup) or your acquisition platform.

Why a single-binary collector instead of a plugin loader?

Forensic reproducibility. A statically linked, signed binary is trivially auditable: one hash, one provenance, one runtime. Plugins are compiled in, not loaded at runtime — every collection produces the same plugin set as the last one with the same binary.

Can I add a plugin?

Yes. The plugin interface is minimal — Info(), Detect(), Collect() — and a per-plugin artifacts.yaml manifest declares the paths. See the Safari plugin as the reference implementation.

How do I integrate with my SIEM / case-management?

The evidence container is a deterministic ZIP. The parsed JSONL records under records/ are the easiest ingestion path (Splunk, OpenSearch, DuckDB, Polars). The macfor-analyze platform consumes the same container directly.

Does it work on Apple silicon?

Yes. Universal binaries ship with every tagged release. The underlying SQLite engine (modernc.org/sqlite) is pure Go, so collection runs CGO-free on both arm64 and x86_64. The Pro binary additionally compiles SQLCipher (CGO) for Signal Desktop.