How Glean works

A plain-English breakdown of what Glean does, what it installs on your Mac, where your data lives, and what it costs.

What it does

Glean turns saved Facebook Ad Library pages into a searchable swipe-file gallery and produces detailed storyboards of competitor ad creative — frame-by-frame breakdowns of every video with voiceover transcripts, on-screen text, scene descriptions, and ad-structure analysis (Hook → Problem → Solution → CTA, AIDA, PAS).

Image ads get OCR plus the same structure analysis. Everything is exported as self-contained HTML you can share by email or Slack.

It's a native macOS app. There's no website to log into — you run Glean locally and it talks directly to Claude (for analysis) and to Facebook (to pull videos). No data passes through a Glean server because there isn't one.

What gets installed on your Mac

Glean uses a handful of well-known open-source tools under the hood. The one-time setup script (install-dependencies.command) installs them for you. Here's what each one does and where it lives.

Homebrew /opt/homebrew/

The standard macOS package manager — a tool that installs other developer tools. You probably have it if you've ever followed a "how to install X on Mac" tutorial. If not, Glean's setup script installs it for you. brew.sh

Python 3 /opt/homebrew/bin/python3

The programming language Glean's pipeline runs on. macOS used to ship Python 3 by default; modern macOS doesn't, so the setup script installs a current version via Homebrew. About 30 MB.

ffmpeg /opt/homebrew/bin/ffmpeg

Video processing tool used by virtually every video-editing app you've ever heard of. Glean uses it to extract individual frames from each downloaded ad so they can be analyzed by Claude. ffmpeg.org

yt-dlp /opt/homebrew/bin/yt-dlp

Downloads videos from Facebook, YouTube, and most other social platforms. Glean uses it to download the videos from each saved Ad Library page. Reads your Chrome cookies so Facebook recognizes the request as a real browser session — see "Privacy" below for why this is safe. github.com/yt-dlp/yt-dlp

Whisper ~/Library/Python/3.14/.../whisper

OpenAI's speech-to-text model. Glean uses it to transcribe each ad video's voiceover. Runs entirely on your Mac — no internet required after install, no per-usage cost. Bundled as a Python package; the model files cache in ~/.cache/whisper/. github.com/openai/whisper

Anthropic SDK ~/Library/Python/3.14/.../anthropic

The Python library Glean uses to talk to Claude. Sends each video frame to Claude for scene description, on-screen text extraction, and ad-structure analysis. Uses your Anthropic API key — Glean never sees your key or your usage. docs.anthropic.com

Pillow ~/Library/Python/3.14/.../PIL

Python's standard image library. Glean uses it to compare consecutive video frames and skip near-duplicates — so an ad with 20 visually-similar seconds only sends one frame to Claude instead of 20. Saves you money and makes sure you don't end up with a clutter of repeating screenshots — pure magic.

pywebview ~/Library/Python/3.14/.../webview

Lets Glean show its UI in a native macOS window (using the same WebKit engine Safari runs on) instead of opening a tab in your default browser. This is what makes Glean feel like a real Mac app instead of a website.

Nothing here is exotic or Glean-specific — these are the standard tools used by thousands of macOS developers and creators. The setup script does nothing more than what you'd type yourself if you were following a tutorial.

Where your data lives

Everything Glean generates stays in one folder on your Mac. Nothing transits a Glean server.

The root data folder:

~/Library/Application Support/Glean/

You can open it in Finder with Cmd+Shift+G and pasting that path.

What's inside

SubfolderWhat's in it
screenshots/The Ad Library pages you imported (HTML files + matching _files/ folders of thumbnails)
outputs/Parsed ad data (JSON) — what powers the in-app gallery
videos/Downloaded video files (mp4)
frames/Individual frames extracted from each video, plus the cached AI analysis
image_analysis/Cached analysis for image ads
reports/Generated storyboard HTML files — yours to keep, share, or archive
archive/Past research rounds, when you use Glean's Archive button
state/Your Glean settings (frame interval, etc.)

Uninstalling Glean (dragging the .app to Trash) does NOT touch this folder. To wipe everything, delete the folder manually.

Privacy & security

Glean is a local-first tool. Here's exactly what does and doesn't leave your Mac.

Your competitive research never goes through a Glean server. There isn't one. The app talks directly to Claude (for AI analysis) and to Facebook (to pull video files). Glean ships no telemetry, no analytics, no event tracking. The developer never sees what brands you study, what you analyze, or what your storyboards say. The only signals are standard CDN access logs (a once-a-day version check) and Gumroad's license-verification logs — both passive infrastructure logs with no app activity in them.

What's sent over the internet, and to whom

Where your secrets are stored

Your Anthropic API key and your Glean license key are stored in macOS Keychain — the same encrypted store macOS uses for your saved Wi-Fi passwords, browser saved logins, and certificates. They're not in a plain config file; they're encrypted with your login password.

Why does Glean need access to Chrome's cookies? Facebook serves ad videos differently to logged-in users than to scrapers. yt-dlp passes Chrome's cookies (which include your Facebook session) so Facebook trusts the request. macOS pops up a system dialog the first time, asking your permission. Cookies are read directly on your Mac — they're never sent to Glean, Anthropic, or any other service.

What you can verify yourself

What it costs to run

Glean is a one-time purchase. Ongoing usage is whatever you spend on Anthropic — bring your own API key.

WhatCostTo whom
Glean licenseOne-time purchaseGlean (via Gumroad)
Video ad analysis~$0.02 per adAnthropic (your API key)
Image ad analysis~$0.01 per adAnthropic (your API key)
Whisper transcription$0 — runs locally
Video downloads$0

Glean shows a live cost estimate before each batch — so you know roughly what an analyze run will cost before you click.

Why bring-your-own-key? It keeps Glean cheap (no markup on AI costs), keeps your spend transparent (you see it directly in your Anthropic dashboard), and means you can cap or revoke access at any time. Most "ad intelligence" SaaS tools charge $100-300/month for less detailed analysis — Glean is a one-time purchase, so you avoid the recurring bill entirely.

Frequently asked questions

Will Glean work without internet?

Partly. Importing pages, building the gallery, viewing storyboards, and Whisper transcription all work offline. Analyzing new ads (Claude calls) and downloading videos (Facebook) need internet.

Does Glean's developer see what I'm doing?

No. There is no Glean server. The only "phone home" is the once-per-day version check, which is a plain HTTP GET on a JSON file — no identifier, no usage data.

If Glean's developer disappears, will the app keep working?

Yes. It's code running on your Mac. The only Glean-controlled URL it touches is the version check, and that failing silently doesn't affect the app.

Can I use Glean on multiple Macs?

Yes. One license, unlimited installs on machines you own. Your data is per-machine (it lives in ~/Library/Application Support/Glean/ on each one).

Does Glean offer refunds?

No — all sales are final. Glean delivers immediately on purchase, and one session is enough to extract every competitor storyboard you'd want, so a refund window would effectively be a free trial. If you hit a real technical issue (license can't activate, app won't launch, an install dependency conflict), email support — we'll work with you to fix it.

Does Glean transcribe ads in languages other than English?

Whisper auto-detects language by default, but Glean is currently configured to force English for transcription stability. Non-English ads will have empty or partial transcripts. We're considering making this configurable in a future release.

Why is Facebook video download legal/OK to do?

The Ad Library is Meta's own public transparency tool — anyone can view it without a login. Glean downloads what's already publicly visible. We're not bypassing any login, scraping non-public content, or violating any rate limits. yt-dlp is widely used and openly maintained on GitHub.

Will my Anthropic key ever leave my Mac?

Only when Glean calls Anthropic with it — going directly from your Mac to Anthropic's servers over HTTPS. It's never sent to Glean, never logged anywhere by Glean, never visible in any UI.