Rift is an open-source network firewall for Apple silicon Macs. It shows which apps connect where, draws each connection's likely route across the world's undersea cables, and lets you allow or block apps and sites.
Early release. Signed live-filtering, clean-install, fault, and soak testing are not complete. Don't treat Rift as an independently verified firewall.
- Modes: Ask Me, Allow and Watch, Block Unless Allowed, and Pause Rules.
- Rules for apps and sites, organized with profiles, groups, and local blocklists.
- Connection alerts in Ask Me mode, so you decide when an app connects somewhere new.
- Map of connections over undersea cables, with a timeline and a searchable connection table. Routes are estimates.
- Menu-bar panel with the current mode and recent apps.
riftctl, a command-line client inside the app atRift.app/Contents/Helpers/riftctl.- Automatic updates, signed and notarized.
- Apple silicon Mac
- macOS 15 or later
- Download the
.zipfrom the latest release and open it. - Move Rift to the Applications folder and open it from there. macOS only runs Rift's filter from the Applications folder.
- Approve the system extension and network filter when macOS asks.
Rift checks GitHub for updates once a day. Turn this off in Settings › General.
- Rift doesn't collect packet contents or full URLs, has no analytics, and doesn't upload diagnostics.
- Connection history stays in memory unless you turn on saved history.
- The map finds each connection's country in a table bundled with the app. Apple Maps loads map imagery but gets no connection details from Rift.
- The daily update check sends nothing about your connections, rules, or Mac.
Read the privacy notice for details.
If Rift has no valid policy, it allows connections instead of blocking them. Read runtime limitations and recovery before you rely on it, and to remove it cleanly.
Requires Xcode 26.6 or later.
./Scripts/test-nonfiltering.shThis runs the package tests and builds an unsigned Release copy. An unsigned copy runs the interface but can't filter. The content filter needs an Apple Developer Program team with the Network Extension and System Extension capabilities; see the build and signing guide. The repository contains no signing identities, profiles, or credentials.
Run ./Scripts/release-local-audit.sh before you open a pull request.
- Changelog
- Privacy notice
- Threat model
- Runtime limitations and recovery
- Build and signing
- Third-party notices, SBOM, and reproducibility notes
Read the contribution guide. Report vulnerabilities privately as described in the security policy.
