Is my audio really private?
Yes. Audio is captured by the Chrome extension, streamed over WebSocket to a backend running on localhost, and transcribed by Whisper on your machine. It is never uploaded. The only external call — and only if you opt in — is a Claude API request with the transcript text when you click Summarize.
Which meeting apps are supported?
Any browser tab that plays audio. Google Meet, Zoom Web, Microsoft Teams Web, Discord, Around, Whereby, as well as recorded talks, podcasts, or training videos. Native Zoom/Teams desktop apps are not supported — use the web client.
Do I need a GPU?
No. The default `base` Whisper model runs fine on CPU for most voices. Larger models (`small`, `medium`, `large`) benefit from CUDA, but `base` is surprisingly accurate and what most people run.
Why self-host at all?
Hosted transcription services are convenient, but they require uploading audio to a vendor's servers and trusting their data-handling policies. For internal meetings, customer calls under NDA, or any conversation where privacy matters, self-hosting removes the upload entirely. You set it up once and own the stack.
Can I host the backend on a separate machine?
Yes. The backend is a FastAPI + WebSocket server. Run it on a home server, a VM, a Raspberry Pi, or anywhere you can reach over the network. Set the extension's target URL accordingly.
What about speaker diarization?
Not yet. It's on the roadmap. Current captions stream with a single speaker label per chunk. If you need 'who said what', follow the repo — it's the next major feature.
Does it work offline?
Transcription, yes — Whisper runs locally. Summarization requires the Claude API, which needs internet. You can disable summaries entirely and use ghostmeet as a pure offline captioner.