SelfControl is a beautifully minimal Mac app: one timer, one blocklist, irreversible until it ends. FocusDragon uses the same PF-firewall foundation and adds what SelfControl leaves out. App blocking. Multiple lock modes. Anti-tamper. Same price: free.
SelfControl is one of the most loved utilities in the Mac software community. It's open source under GPL-3.0, has been around since 2009, and the UI is a model of restraint. If all you need is a timer that blocks websites and won't let you cancel early, SelfControl is still a great choice.
FocusDragon is the right pick if you also need to block apps, want multiple lock types, or want tamper resistance on System Settings and Terminal during a lock.
Both use PF + /etc/hosts + a privileged helper. These are the additional layers.
Process monitor scans running apps every 1.5 seconds and terminates anything on the block list — Slack, Discord, Steam, any game. SelfControl blocks only internet targets, not apps.
Timer, schedule, breakable-with-delay, random-text (200+ chars, clipboard auto-cleared), restart-count, and date lock. SelfControl has a single 1-minute-to-24-hour timer.
Blocks can fire on a recurring schedule (e.g., Mon–Fri 9 AM – 5 PM). SelfControl requires you to manually start every block.
Extensions for Safari, Chrome, Firefox, Brave, Edge, Opera, Vivaldi, and Comet monitor in-browser activity. If the extension stops heartbeating (you try to disable it mid-lock), the browser is force-quit.
While a lock is active, System Settings, Terminal, and Activity Monitor are blocked — so you can't disable the daemon, flush PF rules, or kill processes manually. Uninstall is also blocked during active locks.
A launchd daemon runs as root, auto-restarts on crash, and re-writes /etc/hosts and PF anchors if it detects tampering. SelfControl's helper sets the block and waits for expiry.
Yes. Both are free. SelfControl is open-source under GPL-3.0; FocusDragon is free but not open-source. There's no account or paid tier on either.
At the network layer, yes — both rely on macOS's built-in PF (Packet Filter) firewall, plus /etc/hosts entries, plus a privileged helper. The difference is what's built on top. FocusDragon adds process-level app monitoring, browser extensions with heartbeat, multiple lock modes beyond a single timer, anti-tamper on System Settings/Terminal/Activity Monitor, and a persistent launchd daemon that auto-repairs tampering.
Yes — SelfControl's FAQ explicitly acknowledges this: 'SelfControl will not block websites properly if you're using a VPN. This is not technically feasible.' FocusDragon has the same underlying limitation at the network layer, though the process-killer and browser-extension layers still fire. No free macOS blocker currently blocks a VPN-tunneled connection at the network layer without a paid Apple Developer account and a Network Extension content filter.
Yes — that's the biggest functional difference. SelfControl blocks 'websites, mail servers, or anything else on the Internet' but not desktop apps. FocusDragon's process-killer layer terminates blocked apps every 1.5 seconds, so a native Mac app (Slack, Discord, Steam, a game) on the block list won't launch.
No. SelfControl has exactly one lock mode: a timer from 1 minute to 24 hours. Once started, the block is irreversible until the timer expires. FocusDragon offers six lock modes (timer, schedule, breakable, random-text, restart-count, date) that can be combined.
Yes, though slowly. The GitHub repo had commits as recently as late December 2025. The official release-notes page lists version 4.0.2 without dates. Community support happens on GitHub issues; there's no paid support.