Transcripts

Installing

Homebrew


brew install --cask doughatcher/tap/transcripts

That taps the repository and installs Transcripts into /Applications. To update later:


brew upgrade --cask transcripts

If you installed with Homebrew, prefer brew upgrade over the app's own updater. Both fetch the same build, but only Homebrew keeps its records straight, and an app that updates itself underneath Homebrew leaves the two disagreeing about what is installed.

To remove it completely, including recordings metadata and logs:


brew uninstall --zap --cask transcripts

--zap also deletes ~/Library/Application Support/Transcripts. Your recordings themselves live in the folder you chose and are never touched.

Direct download

Download Transcripts from transcripts.doughatcher.com, open the disk image, and drag Transcripts to Applications. The disk image is signed and notarized by Apple, the same as the app inside it. Each release is also on GitHub as a zip, for scripts and for anyone who prefers one.

The app checks for updates on launch and can install them itself.

Mac App Store or download

There are two ways to get the Mac app: the Mac App Store, or the direct download and Homebrew. Both are available now. It is the same app, with the same transcription, live transcript, overlay, speaker names, summaries and the other side of calls. But the store only accepts apps that stay inside Apple's sandbox, and a few things cannot:

Settings do not carry over between the two, because the store edition keeps its own. Your recordings do: they are in the folder you chose, so pointing the store edition at that folder brings the whole library back. Speaker names you taught the download stay with the download. Run one edition or the other, not both at once, or both will try to record the same call.

Managed Macs

A work Mac under MDM — Jamf, Intune, Kandji — usually has no admin rights, a read-only /Applications, and a proxy in front of GitHub. Transcripts installs anyway, because it is signed and notarized by Apple and asks for nothing an ordinary user cannot grant. The steps differ only in where it goes.

With Homebrew, the same thing in one line:


brew install --cask doughatcher/tap/transcripts --appdir=~/Applications

For IT

Everything a software catalog (Jamf Self Service, Intune Company Portal, Kandji Self Service) usually asks for:

Bundle IDltd.hatcher.transcripts
Team ID6Q9BX97LMS (Hatcher LLC), signed with Developer ID and notarized
Downloadthe disk image on this site, the same build as a disk image or zip on GitHub releases, or brew install --cask doughatcher/tap/transcripts
Checksumsha256 in appcast.json, which the app's own updater also verifies
Installs to~/Applications by default. No administrator, no helper tools, no kernel or system extensions
RequiresmacOS 14 or later, Apple Silicon or Intel
SourceMIT licensed; every release is tagged

There is nothing to pre-approve. Transcripts asks for two things, both ordinary per-user prompts: the microphone, and system audio recording (the other side of a call). macOS does not let MDM grant either one in advance. A privacy (PPPC) profile can only deny the microphone. So no profile makes the prompts go away, and none is needed for them to work. Screen Recording is not used and needs no policy. Speech recognition runs on the device and is not a separate permission.

Network. The Mac app makes three kinds of outgoing request, none carrying a recording or a transcript:

If a user points it at their own Ollama server, that traffic stays on localhost. Nothing listens for incoming connections, and there are no analytics or telemetry.

Data. Recordings and transcripts go to the folder the user chooses, often iCloud Drive or OneDrive, so your policy on those services applies to them. Settings and history live in ~/Library/Application Support/Transcripts and the log in ~/Library/Logs/Transcripts.log. brew uninstall --zap removes both.

Recording consent is the user's responsibility and is stated at install and in Settings. Users in all-party-consent places can set Transcripts to ask before it records a call.

To check a machine without guessing, run the built-in self-test:


TRANSCRIPTS_SELFCHECK=1 ~/Applications/Transcripts.app/Contents/MacOS/Transcripts

It records two seconds from the microphone and from the system together, and exits 0 when both work, 1 if the microphone flow is broken, 2 if the microphone is authorized but delivering silence, and 3 if the microphone is fine and only system audio is unavailable — the expected answer when Screen Recording is locked.

Use 1.1.0-beta.3 or later. Earlier notarized builds could not reach the microphone at all. Up to 1.1.0-beta.10 the self-test checked the two sources one after the other, and on its own the system-audio check got nothing, so those builds could answer 3 on a Mac where calls recorded both sides perfectly. Trust a recording over that answer on those builds.

Requirements

iPhone and iPad

The mobile app is available on the App Store for iPhone and iPad. It records and transcribes on its own, and shares a folder with the Mac if you have one — see iPhone, iPad and Mac.


Next: Getting started