grannygranny

Guide · Browser extension

The extension. The part that reads the page.

granny blocks the obvious at the network layer with no extension at all. The extension is what judges content: a movie on YouTube, an endless feed, a LinkedIn scroll. One folder, two toggles, five minutes.

Chrome, Brave, Edge, Arc

  1. 1.

    In the granny menu choose Install browser extension… then Open browser settings. granny copies the extension to ~/Applications/granny-extension and reveals it in Finder.

  2. 2.

    Open chrome://extensions. Developer mode is off by default - it is the switch in the top-right corner.

    chrome://extensions with Developer mode off
    Developer mode starts off
  3. 3.

    Turn on Developer mode.

    chrome://extensions with Developer mode on and the Load unpacked button visible
    Developer mode on
  4. 4.

    Click Load unpacked and pick ~/Applications/granny-extension.

    The folder picker with granny-extension selected
    Pick the granny-extension folder
  5. 5.

    granny appears in the list, switched on. Every navigation goes through granny; work first, play after.

    The extensions list showing granny loaded and enabled
    Loaded and on
  6. 6.

    Open the extensions menu - the puzzle piece next to the address bar. granny is there; pin it if you want the face on your toolbar.

  7. 7.

    Open a YouTube video. The warning offers Close the tab (red), Continue (yellow), Don’t warn for this domain (green - silence that site for the rest of the day), and a small back arrow. Shorts stay a hard block.

    The granny warning on a YouTube video with Close the tab, Continue and Go back
    A movie on YouTube gets the negotiable warning

Safari

Safari cannot sideload extensions - Apple’s rule, not granny’s. The Safari build needs the source app signed with your Apple Development team (a free Apple ID is enough).

  1. 1.

    Run scripts/install-extension.sh from the source checkout; it builds the Safari app signed with your team and installs it.

  2. 2.

    Run granny for Safari once, then open Safari > Settings > Extensions and tick granny.

    Safari Settings, Extensions pane, with granny ticked
    Safari > Settings > Extensions
  3. 3.

    When Safari asks for website access, choose Always Allow on Every Website. It lives later in Settings > Websites > granny: For other websites, Allow.

    The For other websites dropdown set to Allow in Safari's Websites settings
    For other websites: Allow
  4. 4.

    Open a YouTube video: the same warning, the same choices.

    The granny warning on a YouTube video in Safari
    The warning, in Safari

What the extension adds

Content verdicts
A movie or vlog on YouTube gets a negotiable warning - Close the tab, Continue, or Don’t warn for this domain (silence that site until the day is over). Feeds get the same. Shorts stay a hard block.
Without it
Facebook, Instagram and TikTok die at /etc/hosts; the tab janitor closes YouTube Shorts and the curated red-flag list; entertainment apps are closed on launch. No content-aware overlays.
Pairing
The extension finds the app on loopback and fetches its token. Nothing to paste.
Privacy
Verdicts are cached on your Mac. Classifier calls happen only if you configured keys.

Not on the Chrome Web Store or the App Store yet. This is the pilot path: when the extension ships on the stores, both browsers will be one click.

Check it works. And when it does not.

No warning on a video
Reload the extension (chrome://extensions -> granny -> Reload). A task’s allowed surfaces can legitimately open a site - check the task list first.
The warning never leaves
The granny app must be running. Without it the extension fails closed on the hard list only.
Safari lists no granny
Safari loads signed extensions only. Build from source and run the app once, then look again in Safari > Settings > Extensions.
After a granny update
Use the menu again: it copies the fresh extension to ~/Applications/granny-extension. Then Reload in chrome://extensions.