The short version
The Shuo app requires no account, sends no telemetry, behavioral analytics, or crash reports to Shuo, and contains no ads. Local and OpenAI-compatible transcription are stable; Gemini, ElevenLabs, and Alibaba Qwen are optional experimental cloud providers. With local transcription selected and cloud AI disabled, audio, text, corrections, and personal vocabulary do not leave this Mac. Data needed for the current task is sent only when you choose a cloud provider or enable a cloud AI feature; project source and paths are never uploaded.
Data stored on this Mac
- App settings and extension configuration.
- Transcript history, including raw, processed, and final text plus provider, model, language, time, outcome, and performance metadata.
- Separate metrics data; metrics exports exclude transcript text.
- Recordings linked to retained History items stay on this Mac until you delete those items. Downloaded local models and Shuo-generated recovery reports also stay local; recovery reports are never uploaded automatically.
- Preferred terms, project bookmarks, local project-vocabulary indexes, and text pairs created by explicit corrections.
OpenAI-compatible, Gemini, ElevenLabs, and Alibaba Cloud API keys are stored separately in macOS Keychain and excluded from settings export. Deleting a History item deletes its recording but does not rewrite or reduce cumulative metrics.
To avoid data loss during storage corruption, Shuo may preserve local recovery copies of damaged files. These copies are never loaded or uploaded automatically. Deleting one History item does not rewrite an older recovery copy that cannot be parsed safely; manage such copies from the local data folder under About → Uninstall & Data.
Project Vocabulary
Project Vocabulary is off by default. After you link a folder, Shuo builds a bounded, read-only local index from names, manifests, path components, source symbols, and documentation. Dependencies, build output, hidden files, likely secret files, and symbolic links are skipped. Each linked project retains only its 60 highest-priority candidate terms.
Source content, the full index, and local paths are never uploaded. Each transcription has a total vocabulary budget of at most 60 terms and 900 characters, shared by built-in terms, Preferred Terms, eligible correction-learned terms, project terms, and preset terms. With a cloud transcription provider that supports hints, only the final selected spelling hints within that budget may accompany the audio.
Corrections and personalization
When you edit in the Floating Bar or quick draft and then confirm, Copy, Replace, save History, or complete a voice edit, Shuo stores the complete before/after text locally and links it to the corresponding History and recording when possible, whether Correction Learning is on or off. A normal Copy with no change creates no record.
Learning from Manual Corrections is off by default. When enabled, Shuo derives token-level A → B patterns only on this Mac from explicit edits and retained History, and displays them in descending frequency. Every pattern remains off by default; only an individually enabled pattern can proceed to the selected learning method's gate. The learning methods are mutually exclusive: Replacement or Cloud AI. Cloud AI requires at least 2 observations, at least 75% confidence, and a lead of at least 2 observations over the runner-up; once eligible, it sends only B (the corrected wording) as a transcription hint and never rewrites locally. Replacement requires at least 3 distinct trusted sessions, 100% confidence, and no alternative or reverse conflict; once eligible, it replaces only on this Mac and does not send that correction-learned term to cloud AI. Short lowercase Latin words, pure numbers, and matches without safe word boundaries are not replaced automatically; CJK text is replaced only when the system tokenizer confirms a complete word range.
With Cloud AI selected and cloud transcription in use, only individually enabled and eligible B values (corrected wording) may be sent as bounded, provider-supported spelling hints. With Replacement selected, neither A nor B derived by correction learning is sent for that feature. In either method, Shuo does not send complete History or the correction dataset, and per-pattern choices stay only on this Mac. Clear Learning Data resets those choices and sets a learning cutoff so earlier evidence is no longer used; it does not delete History or recordings. Any future personal-model training or dataset upload still requires a separate explicit action.
When data leaves the Mac
- OpenAI-compatible transcription: the API key, configured account-scope headers, current audio, model/language settings, and enabled context, Preferred Terms, and project spelling hints go to the configured endpoint. Individually enabled, eligible corrected wording may accompany them only when correction learning is set to Cloud AI.
- OpenAI-compatible model discovery: Shuo queries that endpoint's
/modelsusing the same authentication. - Google Gemini transcription: the Gemini API key, current audio, selected model/language settings, and enabled context, Preferred Terms, and project spelling hints go to Google through the Gemini API. Individually enabled, eligible corrected wording may accompany them only when correction learning is set to Cloud AI. Optional transcript retouch, voice edit, and AI emoji resolution reuse the same API key and model, sending Google only the needed text and instruction—not the recording again.
- ElevenLabs Scribe v2 transcription: the ElevenLabs API key, current audio, model/language settings, and selected Preferred Terms and project terms go to ElevenLabs. Individually enabled, eligible corrected wording may accompany them only when correction learning is set to Cloud AI. ElevenLabs lists keyterm prompting as a billed add-on.
- Alibaba Qwen3-ASR-Flash transcription: the Model Studio API key, current audio, and language setting go to the fixed Beijing-region endpoint. The current adapter does not send History, project paths, or vocabulary hints.
- Optional LLM features: when enabled, transcript text and the relevant instructions may go to the configured OpenAI-compatible endpoint. With Gemini selected, those features use Gemini and send only the needed text and instruction.
- Updates and downloads: checking for updates or downloading the app/models makes ordinary network requests to the update feed, GitHub, or model host.
Those third parties process requests under their own policies. Shuo does not upload historical recordings to a cloud provider for training.
Website, feedback, and deletion
The website uses Umami Cloud to count anonymous pageviews, referrers, browser, operating system, device type, approximate country, and clicks on DMG/ZIP downloads and the support link. Umami uses no cookies or cross-site tracking and derives an anonymous session hash from the IP address, user agent, and this website ID. The site sends no names, email addresses, entered content, or custom user identity. Query strings and page hashes are excluded, Do Not Track is respected, and session replay and heatmaps are not used.
GitHub feedback sends only what you choose to submit. Default diagnostics do not attach transcripts, audio, API keys, or model files.
Deleting the app alone preserves user data for reinstall. For a complete removal, while Shuo is still open, turn off Launch at Login, back up anything needed, and remove Keychain API keys from About → Uninstall & Data. Then quit and delete Shuo.app, delete the Application Support folder shown there, and run defaults delete dev.shuotian.Shuo to clear preferences. Delete any externally selected model folder separately. Revoke Microphone and Accessibility in System Settings.
Questions
Report security vulnerabilities through GitHub Private Vulnerability Reporting. For ordinary privacy questions, contact contact@bo-rista.com or use a public issue without private content. Never submit API keys, private transcripts, or recordings.