Why granny
When you were little, she kept you.
Sweets and games - after the homework.
You grew up. The deal didn’t.
macOS 14+ · native Swift · AGPL-3.0
She asks what you are doing today, blocks the entertainment while the list is open, and unlocks the fun only when it is done.
Free and open source · No account · Bring your own keys

Why granny
When you were little, she kept you.
Sweets and games - after the homework.
You grew up. The deal didn’t.
rules, classifier, model
hosts, extension, janitor, killer
entertainment apps, closed
known red flags, no network
OpenRouter, Laya, Jev - optional
read it, change it
Every navigation is judged by content, cached per URL, and written to the decision log.
01 · The day cycle
02 · Content-aware
Same domain, different page. granny reads the page.
allowedA full YouTube video
blockedYouTube Shorts
allowedFocus music on YouTube
negotiableA movie on YouTube (extension)
allowedA tutorial
negotiableA vlog (extension)
Tasks carry their own allowed surfaces, so work can open a blocked site. A doubtful page is asked about, not shut.
03 · The engine

Current supported browsers
More are on the way.
04 · No pretending
05 · BYOK
~/.config/granny/config.json, mode 600. The helper owns /etc/hosts and nothing else.Optional tiers
Pasted once in Settings, checked live, stored locally.
06 · Install
Homebrew
brew tap happyvoxel/tapbrew install --cask grannyNot notarised yet - right-click Open once if macOS hesitates.
Then, honestly
Free. No licence, no trial. Sponsor if she earns it.
07 · Blog
08 · Questions
Or one line
brew install --cask happyvoxel/tap/grannymacOS 14+, Apple silicon or Intel. She is waiting.