Record and transcribe live.
Captures your mic, and your system audio if you want it. whisper.cpp writes the transcript as you talk.
Local-first meeting notes for macOS
Records your meetings, writes up the notes, and keeps everything on your Mac. No cloud, no account.

The pact
whisper.cpp runs right on your Mac. Your audio doesn't get uploaded anywhere, not even to transcribe it.
Pick Anthropic, a local Ollama model, or Apple Intelligence. Your API key lives in your Keychain, not on a server we run.
No analytics. No telemetry. No account. The only network calls are the ones you ask for.
Capabilities
Captures your mic, and your system audio if you want it. whisper.cpp writes the transcript as you talk.
Click play on a clip, type the name, save. The next time that person joins a call, Perchnote recognizes their voice.
Hit Enhance. The transcript becomes a real document with sections, action items, assignees, deadlines, and tags.
Search one meeting or your whole archive. The answers come from your transcripts, not the web.
Sync with Google, Microsoft, or any ICS feed. Share notes to Slack through a webhook you set up.
Stack
shell Tauri 2 + Rust // small native binary, not Electrontranscribe whisper.cpp // runs locally, audio stays on your Macai Anthropic · Ollama · Apple Intelligence // pick whichever you wantstore SQLite + macOS Keychain // local file, local secretseditor TipTap 2 // with custom blocks for AI output
Security
keychain.secrets
Auth tokens live in the macOS Keychain. They never touch the database.
csp.hard
The production Content Security Policy blocks unsafe-eval and unsafe-inline scripts.
no.shell.plugin
The web frontend can't spawn processes or open random URLs.
ssrf.guard
Every outbound fetch resolves DNS itself and rejects private, loopback, and cloud-metadata IPs.
path.traversal.safe
File IDs are validated as UUIDs before they touch the filesystem. Paths stay inside the app's data folder.
prompt.injection.fenced
Transcripts get fenced before going to the model. A system preamble tells it to treat fenced content as data, not commands.
Read the source. File issues. Star it if you like it.
Star Perchnote on GitHub★Built for macOS · Open source · Source on GitHub