A free, open-source parental control app for Mac. Block adult content, harmful websites, and keep your family safe online — no subscription required.
macOS 12 Monterey or later · Apple Silicon & Intel · Free forever · .zip app bundle
Two independent layers of protection work together to block harmful content before it reaches your screen.
Blocks harmful domains at the system level via /etc/hosts. Works for every app and browser on your Mac, even offline.
A local HTTPS proxy inspects URLs and keywords in real time. Works in every browser — Chrome, Firefox, Safari, Brave — including incognito and private browsing modes.
Lock settings and the uninstall process behind a password. Changing any filter requires authentication.
Timed lock from 30 minutes up to 8 hours. Once active, the protection cannot be disabled until the timer expires — even by you.
Require a 1–48 hour waiting period before protection can be turned off. Prevents impulsive bypassing in moments of weakness.
Store a partner's email address inside the app. Their presence raises the cost of bypassing — accountability without surveillance.
Add your own domains to the blocklist or whitelist specific sites that the built-in filter would otherwise block.
A background agent re-locks binaries and re-enables the proxy every 10 seconds. Cannot be defeated by force-quitting the app.
Individually switch off adult content, explicit image search, YouTube, and Safe Search enforcement on Google, Bing, and DuckDuckGo.
All filtering runs on your machine. No URLs, history, or stats ever leave your device. No telemetry, no accounts, no internet required to function.
A native macOS dashboard — clean, fast, and always in control.
No technical knowledge required.
Download the zip, unzip it, and drag K9 Web Protection.app to your Applications folder. On first launch, macOS may show a Gatekeeper warning — go to System Settings → Privacy & Security → Allow Anyway.
Open K9 Web Protection, go to Settings, and change the password. The default is k9.khaleel.eu — update it immediately so only you can disable protection.
Click "Enable Protection" on the dashboard. Both layers activate instantly — all browsers are now filtered.
K9 runs silently in the background, survives restarts, and watches over itself. Set it and forget it.
Everything you need to know about K9 Web Protection.
127.0.0.1:8080 — a localhost connection — adding under 1ms of overhead. In everyday browsing the difference is imperceptible.No ads, no subscriptions, no data collection. Just protection.
K9 Web Protection started as a personal project and grew into a free, open-source app I'm happy to share with the community. It's built entirely in Go with a native macOS UI — no subscriptions, no data collection, no compromises. If it's helped you or your family stay safe online, consider supporting the work.