What leaves your Mac
Last updated: July 23, 2026 · Ducduc for Mac v0.1+A dictation app sits between your microphone and every place you write. This page names each boundary: audio, recognized text, cleanup, local recovery, history, and the final paste.
Cleanup sends text, never audio. If you didn’t say it, we don’t write it.
Speech recognition comes first
Ducduc gives microphone audio to Apple’s speech engine and forces on-device recognition. Both paths — the modern on-device engine and the classic fallback — keep recognition on your Mac; the classic engine is not allowed to use Apple’s speech service. On macOS 14–15 that means recognition fails outright if the dictation language isn’t downloaded, instead of quietly going to the cloud. Ducduc’s cleanup service never receives audio.
While you are speaking, Ducduc writes a temporary local audio copy and a rolling raw-text journal so an app crash or forced restart does not erase a long dictation. A normal finish or cancellation deletes the active draft. Interrupted-session audio stays in Application Support on this Mac; startup pruning keeps the five newest recovered recordings.
Mode-by-mode data flow
“Built-in cleanup” means Ducduc’s HTTPS endpoint and its configured AI provider. “BYOK” means the endpoint you chose in Settings. A built-in request also carries a random device ID, an optional Pro license key, and mode/settings needed for quota and routing. It carries no account name or email.
| Mode | Content that can leave | Destination | Stored? |
|---|---|---|---|
| Verbatim | Recognized text and cleanup settings. No audio. | Built-in cleanup, or your selected BYOK endpoint. | No transcript database on Ducduc’s server. Provider terms apply. Final text can remain in local History. |
| Standard | Recognized text; optional dictionary terms, tone hint, and recent text context. No audio. | Built-in cleanup, or your selected BYOK endpoint. | No transcript database on Ducduc’s server. Provider terms apply. Final text can remain in local History. |
| Refine | Recognized text; optional dictionary terms, tone hint, and recent text context. No audio. | Built-in cleanup, or your selected BYOK endpoint. | No transcript database on Ducduc’s server. Provider terms apply. Final text can remain in local History. |
| Translation | Recognized text and requested language/script settings. No audio. | Built-in cleanup, or your selected BYOK endpoint. | No transcript database on Ducduc’s server. Provider terms apply. Translation can remain in local History. |
| AI Command | The spoken command as text. No audio, screen image, or target-app document. | Built-in cleanup or BYOK first; then Ducduc pastes the result into your chosen app. | No transcript database on Ducduc’s server. After paste, the target app handles the text under its own policy. |
| Reply Assistant | Copied message, chosen tone and reply language, after an explicit request and tone choice. No audio. | Built-in AI service or your selected BYOK endpoint; a selected local model stays local. | The source message is not saved in local History. Generated replies can remain there. Library exports contain preferences only and are transferred explicitly. |
BYOK + local Ollama = zero cloud end to end
A remote BYOK provider receives text directly from your Mac and bypasses Ducduc’s server. A local Ollama endpoint keeps cleanup on your Mac. Pair local Ollama with Apple’s on-device recognition path and the entire dictation flow is zero-cloud.
What stays on your Mac
- History and personal dictionary: local app data that you can clear.
- Active recovery draft: rolling raw text plus temporary audio, deleted after a normal completion or cancellation.
- Interrupted recovery audio: local Application Support files, pruned to the five newest on launch.
- Markdown exports and auto-append: files you explicitly choose.
- Clipboard: Ducduc snapshots every pasteboard type, pastes the text, then restores the snapshot unless you copied something new in the meantime.
Failure behavior
Dictation has no session-duration cap. If cleanup is offline, over quota, or unavailable, the raw transcript still lands at your cursor and the failure is labeled. If the app exits abnormally, the next launch offers the last complete raw-text snapshot for recovery.
Documented differences
- Session length Typeless documents a 9-minute limit per dictation. Ducduc sets no session-duration cap.
- Monthly price Typeless lists Pro at $30 when billed monthly. Ducduc’s current price is shown on the home page.
- Account and offline fallback Ducduc has no account system. Offline, it still produces the raw Apple transcript; cloud cleanup waits for connectivity.
- Paste integrity Ducduc snapshots and restores the clipboard, and refuses to overwrite a newer clipboard change made by you.
Questions and corrections
Ask on GitHub support. If this page ever disagrees with the app, treat that as a product bug and report it.