# OSGKeyboard **Speak it. It's typed.** Voice input for iPhone, iPad, and Mac. Speak in any app — polished text lands at your cursor.      [Website](https://hkgood.github.io/OSGKeyboard/) · [中文 README](./README.md) · [Privacy Policy](https://hkgood.github.io/OSGKeyboard/privacy/)
--- ## Why OSGKeyboard - **Works everywhere** — Messages, Notes, Notion, Cursor, Mail, WeChat — wherever you type - **Speak, don't edit** — tap (iOS) or hold Option (Mac); AI adds punctuation and structure for you - **On-device by default** — local recognition on iOS; optional local models on Mac. Cloud upload only when you opt in - **Bring your own LLM** — built-in polish out of the box, or plug in DeepSeek, OpenAI, Anthropic, OpenRouter, and more - **Mac global dictation** — menu-bar app, bottom overlay with live feedback, inserts into the frontmost app --- ## Three steps 1. **Install & authorize** — add the iOS keyboard with Full Access; grant mic + Accessibility on Mac 2. **Pick an engine** — local ASR + built-in polish (zero config), or your own API keys 3. **Start talking** — switch to OSGKeyboard, or hold Option on Mac --- ## Platforms | | iOS / iPadOS | macOS | |---|:---:|:---:| | Keyboard / global hotkey | ✅ | ✅ hold Option | | Local speech recognition | ✅ SpeechAnalyzer | ✅ SenseVoice / Qwen3 | | AI polish | ✅ | ✅ | | Post-polish translation | ✅ | ✅ | | Personal dictionary | ✅ iCloud sync | ✅ | | Dictation history | ✅ | ✅ | | Live UI | ✅ Dynamic Island | ✅ floating pill | --- ## Privacy Speech is transcribed on-device by default. Polish sends **text only** — the transcript and a small amount of nearby cursor text for continuity, never raw audio. Cursor context is not logged or saved to voice history, and secure fields are never captured. See the [Privacy Policy](https://hkgood.github.io/OSGKeyboard/privacy/). --- ## Get the app **App Store (recommended)**