Ghost Pepper

July 16, 2026 · View on GitHub

Ghost Pepper

Ghost Pepper

100% private on-device voice models for speech-to-text and meeting transcription on macOS. No cloud APIs, no data leaves your machine.

Download for Mac

macOS 14.0+ · Apple Silicon (M1+) · Free & open source

GitHub stars   License: MIT   100% Local   50+ Languages

Features

  • Hold Control to talk — release to transcribe and paste into any text field
  • Meeting transcription — record calls with notes, transcript, and AI-generated summaries saved as markdown
  • Runs entirely on your Mac — models run locally via Apple Silicon, nothing is sent anywhere
  • Smart cleanup — local LLM removes filler words and handles self-corrections
  • Menu bar app — lives in your menu bar, no dock icon, launches at login
  • Customizable — edit the cleanup prompt, pick your mic, toggle features on/off

How it works

Ghost Pepper uses open-source models that run entirely on your Mac. Models download automatically and are cached locally.

Speech models

ModelSizeBest for
Whisper tiny.en~75 MBFastest, English only
Whisper small.en (default)~466 MBBest accuracy, English only
Whisper small (multilingual)~466 MBMulti-language support
Parakeet v3 (25 languages)~1.4 GBMulti-language via FluidAudio
Qwen3-ASR 0.6B int8 (50+ languages)~900 MBHighest multilingual quality, macOS 15+ required

Cleanup models

ModelSizeSpeed
Qwen 3.5 0.8B (default)~535 MBVery fast (~1-2s)
Qwen 3.5 2B~1.3 GBFast (~4-5s)
Qwen 3.5 4B~2.8 GBFull quality (~5-7s)

Speech models powered by WhisperKit. Cleanup models powered by LLM.swift. All models served by Hugging Face.

Getting started

Download the app:

  1. Download GhostPepper.dmg
  2. Open the DMG, drag Ghost Pepper to Applications
  3. Grant Microphone and Accessibility permissions when prompted
  4. Hold Control and speak

"Apple could not verify" warning? On macOS Sequoia, you may see a Gatekeeper warning the first time you open the app. Go to System Settings > Privacy & Security, scroll down, and click Open Anyway next to the Ghost Pepper message. Click Confirm in the popup. You only need to do this once.

Build from source:

  1. Clone the repo
  2. Open GhostPepper.xcodeproj in Xcode
  3. Build and run (Cmd+R)

Permissions

PermissionWhy
MicrophoneRecord your voice
AccessibilityGlobal hotkey and paste via simulated keystrokes

Privacy audit

Every core feature runs 100% on your Mac — verified by AI code review. No trust required, just point Claude at the repo and ask.

FeatureStatusWhat was checked
Speech-to-text:white_check_mark: LocalWhisperKit/FluidAudio inference, no audio sent anywhere
Text cleanup:white_check_mark: LocalQwen LLM runs on-device via LLM.swift
Audio recording:white_check_mark: LocalAVAudioEngine + ScreenCaptureKit, no streaming
Meeting transcription & storage:white_check_mark: LocalChunked transcription, markdown files on disk
Summary generation:white_check_mark: LocalLocal LLM summarization, no cloud API
OCR & screen capture:white_check_mark: LocalApple Vision framework, on-device
File storage:white_check_mark: LocalMarkdown to local filesystem, no cloud sync
Analytics & telemetry:white_check_mark: LocalLocal-only usage counters (UserDefaults) power the in-app Usage report panel. No Firebase, Mixpanel, Sentry, or any tracking SDK.

Optional cloud features (disabled by default, require your own API keys): Zo AI chat, Trello integration, Granola meeting import. Model downloads are one-time from Hugging Face.

Verify it yourself: run cat PRIVACY_AUDIT.md in Claude Code and ask it to review the codebase against the audit prompt. The full audit includes the exact prompt and detailed file-level results.

Good to know

  • Launch at login is enabled by default on first run. You can toggle it off in Settings.
  • Everything stays local — transcription history and recordings are stored on your Mac only. Nothing is sent to the cloud. You can clear history anytime in Settings.

Acknowledgments

Built with WhisperKit, LLM.swift, Hugging Face, and Sparkle.

License

MIT

Why "Ghost Pepper"?

All models run locally, no private data leaves your computer. And it's spicy to offer something for free that other apps have raised $80M to build.

Enterprise / managed devices

Ghost Pepper requires Accessibility permission, which normally needs admin access to grant. On managed devices, IT admins can pre-approve this via an MDM profile (Jamf, Kandji, Mosaic, etc.) using a Privacy Preferences Policy Control (PPPC) payload:

FieldValue
Bundle IDUse the signed app's bundle identifier
Team IDUse the signing team's Apple Developer team ID
PermissionAccessibility (com.apple.security.accessibility)

Questions or deployment issues: open an issue or use your team's internal support channel.