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.
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
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.
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
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
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
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
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.
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
| Subfolder | What'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.
What's sent over the internet, and to whom
- Each video frame → Anthropic (Claude API). When you run Analyze, each kept frame is sent to Anthropic's API for scene description and text extraction. This uses your Anthropic key — Glean never sees the key, your usage, or the responses. Anthropic's data-handling policies apply.
- Video download requests → Facebook. yt-dlp fetches the actual MP4 from Facebook's CDN, using your Chrome cookies so Facebook treats the request like a normal browser visit. Facebook sees the same thing it sees when you visit the Ad Library page yourself.
-
Daily version check →
getglean.ai/version.json. Once per day, Glean fetches a tiny JSON file to see if a newer version is out. The request is a plain GET — no user identifier, no usage data, no IP logging beyond standard CDN access logs. - License verification → Gumroad. Your license key is verified against Gumroad's API once when you enter it. After that, Glean trusts the stored key and doesn't re-verify on every launch.
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.
What you can verify yourself
- Open Activity Monitor while Glean is running. You'll see
python3,ffmpeg, andyt-dlpprocesses — nothing surprising. - Check your Anthropic dashboard at console.anthropic.com. You'll see API calls when Glean analyzes ads — proving the spend is yours and going through your account.
- Look at the data folder at
~/Library/Application Support/Glean/. Everything Glean generates is there in plain files you can inspect.
What it costs to run
Glean is a one-time purchase. Ongoing usage is whatever you spend on Anthropic — bring your own API key.
| What | Cost | To whom |
|---|---|---|
| Glean license | One-time purchase | Glean (via Gumroad) |
| Video ad analysis | ~$0.02 per ad | Anthropic (your API key) |
| Image ad analysis | ~$0.01 per ad | Anthropic (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.