Local-only meeting transcription for Mac. No cloud. No bots.
Mac app, v0.3.4. Download and start a 14-day free trial.
A few months ago I was on a sensitive client call. Midway through, a Fireflies bot joined. Nobody invited it. Someone's integration had auto-enabled it.
That call had attorney-client privileged information on it. It ended up on Fireflies' servers, processed by their AI, stored indefinitely. Nothing I could do about it after the fact.
I went looking for a local alternative and found nothing. The entire market is cloud-first: Otter, Fireflies, Grain, tl;dv, Fathom. Every one of them uploads your audio to their servers. Otter's privacy policy explicitly permits training their AI models on your meeting data. Others share with third parties.
So I built MeetingVault.
How it works
MeetingVault captures your system audio and microphone, transcribes locally on your Mac using Apple's on-device speech recognition, and gives you a transcript. The audio never touches disk. It's held in memory during transcription, then zeroed and released. The transcript stays on your machine in a local SQLite database.
No bot joins your call. No integration to configure. It works with Zoom, Google Meet, Teams, or any Mac app that produces audio. Audio capture uses ScreenCaptureKit in audio-only mode. It cannot see your screen.
The technical details
Transcription runs on-device using Apple's Speech framework (SpeechAnalyzer) on Apple Silicon. It works in near-real-time, transcribing your meeting in roughly 30-second background chunks as it runs and finishing the final chunk moments after you hit Stop. There's no model size to choose — the on-device speech model is part of macOS and downloads once from Apple.
Built in Swift and SwiftUI. No Electron, no web view. Native macOS from top to bottom. Requires macOS 26+.
Notes live in a local SQLite database. Search, tagging, and export (Markdown, JSON, SRT, Obsidian) are built in. The data model is deliberately simple so you can inspect it yourself.
What I'm not doing
No cloud sync (yet). No mobile app. No "AI summaries" that phone home. No freemium-to-enterprise funnel. This is an indie Mac app, not a platform play.
I will eventually offer optional iCloud sync for people who want transcripts across Macs. It will be opt-in and encrypted. Your call content will never touch my servers.
What happens to your audio
The audio buffer lives in memory during transcription. When transcription finishes, it's zeroed and released. Audio is never written to disk. The only artifact is the text transcript in your local SQLite database.
If you delete the app, your data is gone. I have no copy. I don't collect telemetry during transcription. Your meeting content never leaves your Mac — no analytics, no tracking. If you subscribe, Paddle (the payment processor) and my license server hold your email and subscription status, and the updates form on the site collects your email if you submit it. None of it ever includes your meeting content.
Why it's a subscription
Honest answer: ongoing development. There are no server costs for transcription because it runs entirely on your Mac. The subscription funds continued work on the app: model updates, new features, macOS compatibility as Apple changes things. One-time pricing doesn't work economically for a solo developer maintaining a native app long-term.
Founding members lock in $9/month for the life of their subscription. Standard pricing after the founding 500 will be $19/month.
Who this is for
Lawyers, therapists, consultants, and healthcare workers have a real problem with cloud recorders. You can't put a privileged conversation through Otter. You can't run a HIPAA-covered call through Fireflies. The standard tools are non-starters for those use cases.
MeetingVault works for those cases because the data never leaves your machine. You're the only custodian. And it's for anyone who just doesn't want their meetings on someone else's servers.
What's coming: give Claude access to your meetings
We're building an MCP server for MeetingVault. When it ships, Claude Desktop users will be able to ask Claude about any meeting they've transcribed. "What did we decide in last Tuesday's planning call?" "Pull every commitment I made in Q1 that we haven't shipped." "Summarize the last three client calls before I write this proposal."
The MCP server runs locally. It reads from the same SQLite database MeetingVault writes to. Your meeting content never leaves your machine. Read more about how the integration works.
Try it today or lock in the founding rate
Download the current build and run it on your Mac. 14-day free trial, no account needed. Founding rate: $9/month, locked for the life of your subscription.
Apple Silicon required. Apple's on-device speech model downloads once on first use.
Not ready to install? Get occasional product updates:
Questions? I'm happy to answer. Reach me at sully@getmeetingvault.com.