Bring your own OpenAI or Anthropic key and Hovor calls that provider directly — no subscription needed for cloud compute, no intermediary server, and your key never leaves your device's Keychain.
BYOK ("bring your own key") means you paste your own API key from OpenAI, Anthropic, Deepgram, or ElevenLabs into Hovor's Settings, and Hovor uses that key to call the provider directly instead of relaying the request through Hovor's own server. You pay the provider per token or per minute of audio; on Hovor's side, BYOK is included with an active Pro subscription, or available via a one-time BYOK Unlock fee if you'd rather not subscribe.
This is different from Hovor's default cloud mode, where transcription and formatting run on Hovor's server using Hovor's own OpenAI account, billed through the Pro subscription. BYOK swaps who holds the account and who pays the provider — the architecture of "type into Hovor, get formatted text back" stays the same.
Every BYOK key is written to the iOS/macOS Keychain by KeychainStore, under the service identifier app.hovor.byok, with the accessibility flag kSecAttrAccessibleWhenUnlockedThisDeviceOnly. That means the key never syncs through iCloud Keychain, is unreadable while the device is locked, and does not survive a backup restored onto different hardware — not a policy promise, but how the storage call is configured.
This logic lives entirely in HovorKit/Sources/HovorKit/Workflows/KeychainStore.swift, the single file responsible for every BYOK key on both platforms.
On the network side, each BYOK backend builds its HTTPS request straight to the provider. OpenAISTTBackend posts to api.openai.com/v1/audio/transcriptions, DeepgramSTTBackend to api.deepgram.com/v1/listen, ElevenLabsSTTBackend to api.elevenlabs.io/v1/speech-to-text, OpenAIToneBackend and AnthropicToneBackend to api.openai.com/v1/chat/completions and api.anthropic.com/v1/messages respectively — each call built and sent from HovorKit's own URLSession, with no hop through any Hovor-controlled host.
BYOK covers two distinct roles: speech-to-text (turning your voice into raw text) and formatting/translation (cleaning up grammar, punctuation, and tone, or translating into another language). Not every provider does both — the table below is the full built-in catalog, not a marketing simplification.
| Provider | Role | Models available with your key | Key required |
|---|---|---|---|
| OpenAI | Speech-to-text | GPT-4o mini Transcribe, GPT-4o Transcribe, Whisper API, GPT Realtime Whisper | Yes |
| OpenAI | Format / translate | GPT-5 mini, GPT-5, GPT-4o, GPT-4o-mini | Yes |
| Anthropic | Format / translate | Claude Sonnet 4.6, Claude Haiku 4.5 | Yes |
| Deepgram | Speech-to-text | Nova-3 (General), Nova-3 Multilingual | Yes |
| ElevenLabs | Speech-to-text | Scribe v2 | Yes |
| Custom OpenAI-compatible endpoint | Format / translate | Any model your endpoint (Ollama, LM Studio, vLLM, etc.) serves | Optional |
Anthropic is BYOK-only in Hovor: there is no Hovor-hosted Claude option, so a Claude-formatted transcript always runs on your own key. OpenAI, by contrast, is available both through Hovor's cloud (billed via Pro) and via BYOK (billed via your own OpenAI account) — you choose per workflow which one is active. Google/Gemini formatting is not currently wired up on either path.
Hovor's CustomEndpointToneBackend talks to any OpenAI-compatible chat-completions endpoint you point it at — a self-hosted Ollama or LM Studio instance on your LAN, or a hosted OpenAI-compatible provider. The endpoint's API key field is optional by design: many local model servers run without authentication, and Hovor's ProviderCapability lookup marks the provider as requiresKey: false so a keyless endpoint isn't silently routed back to Hovor's cloud.
Only HTTPS endpoints with a valid host are accepted: CustomEndpointURL.validateHTTPS rejects http:// URLs outright, so an API key can never be sent in cleartext by mistake.
Hovor tests a newly entered key against the real provider before you rely on it in a workflow. BYOKConnectionTester sends a minimal, intentionally malformed request to the provider's actual endpoint — for OpenAI, a multipart POST to the audio-transcriptions endpoint with no file attached — and reads the returned error to tell a valid-but-malformed request apart from an invalid or under-scoped key.
This same code path is independent proof that BYOK talks to the provider directly, not through Hovor's server: the test only succeeds because the request actually reaches OpenAI, Anthropic, Deepgram, or ElevenLabs.
Failure handling depends on your plan, not just on the error. ByokFallbackToneBackend wraps your BYOK backend with an optional silent fallback to Hovor's own cloud formatting — but that fallback only fires if you are an active Pro subscriber at the moment of the call, checked live rather than cached at startup. Free, Local-only, and BYOK-only users never get it; they see the error surfaced directly instead.
This gate exists specifically so users who chose BYOK to avoid a subscription are never quietly billed against Hovor's own account, since they haven't paid for that server compute.
Using your own key is included with an active Pro subscription. If you don't want a subscription, BYOK Unlock is a one-time, family-shareable in-app purchase priced at $24.99 / 999 UAH, sold through the App Store on iOS and macOS and through Monobank on the web, that grants BYOK permanently instead. It is billed once, not monthly or yearly, and stacks with Hovor's other purchases rather than replacing them.
| Purchase | Price | What it unlocks |
|---|---|---|
| Pro subscription | $11.99/mo or $89.99/yr | Unlimited words on Hovor's own cloud, 5 devices |
| Local Unlock | $49.99 / 1,999 UAH (one-time) | Unlimited on-device transcription, unlimited replacements/snippets/workflows |
| BYOK Unlock | $24.99 / 999 UAH (one-time) | Use your own OpenAI/Anthropic/Deepgram/ElevenLabs/custom-endpoint key, forever, without a subscription (already included with Pro) |
| Local + BYOK Bundle | $69.99 / 2,799 UAH (one-time) | Both of the above, ~$5 cheaper than buying separately |
The free tier (2,000 words/week on Hovor's cloud) does not require any of the above and works without a key. Pro subscribers already have BYOK included; BYOK Unlock is for users who want a specific provider/model routed through their own key without adding a recurring subscription.
BYOK is implemented inside HovorKit, the Swift package shared by Hovor's iOS and macOS clients, so it works identically on both today — the same KeychainStore, the same provider backends, the same connection tester. It is not currently available on the Windows client, which is still being rebuilt on Tauri. If you need BYOK today, iPhone or Mac is the only supported path.
BYOK ("bring your own key") means you supply your own API key from a provider such as OpenAI or Anthropic, and the app calls that provider directly with your key instead of routing your requests through the app maker's own server and billing. In Hovor, BYOK keys are entered in Settings, stored in the device Keychain, and used to call the provider's API directly from your Mac or iPhone. You pay the provider per use instead of paying Hovor a subscription for cloud compute.
No. Hovor's BYOK backends — OpenAISTTBackend, OpenAIToneBackend, AnthropicToneBackend, DeepgramSTTBackend, ElevenLabsSTTBackend, and CustomEndpointToneBackend — build an HTTPS request to the provider's own endpoint (for example api.openai.com/v1/audio/transcriptions or api.anthropic.com/v1/messages) directly from HovorKit and send it with URLSession. Hovor's server is never in that request path. The key itself is written to the device Keychain under the service identifier app.hovor.byok with kSecAttrAccessibleWhenUnlockedThisDeviceOnly, so it is also never synced to iCloud Keychain or included in a backup restored to a different device.
For speech-to-text (BYOK): OpenAI (gpt-4o-mini-transcribe, gpt-4o-transcribe, whisper-1, gpt-realtime-whisper), Deepgram (Nova-3, Nova-3 Multilingual), and ElevenLabs (Scribe v2). For text formatting and translation (BYOK): OpenAI (GPT-5 mini, GPT-5, GPT-4o, GPT-4o-mini) and Anthropic (Claude Sonnet 4.6, Claude Haiku 4.5). You can also point Hovor at any OpenAI-compatible custom endpoint — including a local server such as Ollama or LM Studio — with an optional API key, since many local endpoints run without authentication on a LAN.
Not necessarily. BYOK is included with an active Pro subscription. If you'd rather not subscribe, a standalone one-time BYOK Unlock ($24.99 / 999 UAH, family-shareable, sold through the App Store on iOS and macOS and through Monobank on the web) grants it permanently instead. BYOK Unlock is a separate purchase from Local Unlock ($49.99 / 1,999 UAH, for on-device models); buying both together as the Bundle costs $69.99 (2,799 UAH), saving roughly $5 versus buying them separately.
It depends on your subscription tier and your workflow's auto-fallback setting. Hovor's ByokFallbackToneBackend only falls back to Hovor's own cloud formatting silently if you are an active Pro subscriber; BYOK-only, Local-only, and Free users never get a silent fallback to Hovor Cloud, since they have not paid for that server compute. In every case Hovor surfaces an error so you know the request failed rather than showing a wrong or stale result.
Not yet. BYOK is implemented in HovorKit, the shared Swift package used by Hovor's iOS and macOS apps, so it is available on both of those platforms today. Hovor's Windows client, built with Rust and React (Tauri), is still in active development. BYOK isn't simply a toggle waiting to be flipped there: the current implementation stores keys in Apple's Keychain framework, which doesn't exist outside iOS and macOS, so Windows needs its own secure key storage design before BYOK can ship.
Download Hovor for Mac or iPhone. BYOK is included with Pro, or add BYOK Unlock once ($24.99 / 999 UAH) without a subscription, and dictate through your own OpenAI, Anthropic, Deepgram, or ElevenLabs key — your key stays in your device's Keychain, always.
Get Hovor