Security model

How Mountee avoids kernel extensions, keeps macOS at Full Security, and limits the blast radius of NTFS writes.

Mountee is designed to add NTFS write access without asking you to weaken macOS. The security model is deliberately conservative: the app does less, and it fails closed when it cannot do something safely.

No kernel extension

Mountee’s file system code runs in a sandboxed FSKit extension in user space. It is not a kernel extension (kext), so there is:

  • No third-party kext to approve.
  • No Reduced Security setting.
  • No SIP change.
  • No Recovery Mode step.
  • No reboot to install.

The app and extension are Developer ID signed and notarized by the project’s release pipeline. The FSKit entitlements are restricted, which is why ad-hoc or profile-less builds cannot enable the extension.

No macFUSE

The ntfs-3g engine is built as a static library and compiled into the app. The FUSE driver, mount helper, and mtab support are disabled at build time. There is no separate macFUSE install, no kernel driver from a second vendor, and no Homebrew dependency at runtime.

The pinned upstream version is ntfs-3g 2026.9.28, verified by SHA-256 and documented in the repository’s third-party notices. Build modifications are published as patches.

Safety gates

  • Read-only by default. Read/write is an explicit per-volume action.
  • Dirty and hibernated volumes are never read/write. This includes volumes left locked by Windows Fast Startup.
  • No destructive volume operations. Mountee never formats, repairs, or erases a volume, even if asked.
  • Metadata protection. NTFS metadata files (mft_no < 16) can never be unlinked.
  • No false success. Unsupported operations return ENOTSUP instead of pretending to succeed.

These gates target the classic NTFS corruption cases. They are not a substitute for backups.

What is not guaranteed

Mountee is a young 0.2.0 release. The project is honest about the gaps:

  • fsync delivery is not independently verified end to end. Writes use the resource’s direct I/O path and the volume syncs on unmount, but crash consistency under power loss has not been fault-injection tested.
  • POSIX permissions are not mapped from NTFS security descriptors. Ownership is ignored (noowners).
  • Symlinks, hard links, and extended attributes/resource forks are unsupported.
  • The code has not been presented as independently audited. It is open source so that it can be reviewed.

Treat read/write access on valuable disks like any new driver: keep backups and test with non-critical data first.

Verify a release

Check the download hash:

shasum -a 256 ~/Downloads/MacNTFS-0.2.0.dmg

The published value for 0.2.0 is on the download page.

Check the app signature:

codesign --verify --strict /Applications/MacNTFS.app
codesign -dv --verbose=2 /Applications/MacNTFS.app

Read the source and release pipeline:

Reporting a vulnerability

Open an issue in the GitHub repository to ask for a private reporting channel. Do not publish exploit details in a public issue. Include the macOS version, app version, and a minimal reproduction once a private channel is available.