Text-to-speech tools do not all process text in the same place. Some send text to a remote service for synthesis. TextHalo’s Apple, Kokoro, and Chatterbox engines synthesize speech locally on your Mac.

Understanding the difference between synthesis and downloads helps describe privacy more precisely. A local speech engine does not mean the app never uses the internet; it means the speech is generated on the device instead of by a remote speech API.

Your selected text stays on your Mac for speech synthesis

TextHalo captures the passage you select and sends it to the chosen local speech engine. The selected text is not sent to a cloud speech service by TextHalo. Generated audio is played on your Mac, and completed speech can be kept in the app’s local audio history.

The selected passage is used to produce the audio you asked to hear. TextHalo is built around reading selected text from other Mac apps, rather than uploading a document to a hosted transcription or speech-generation service.

Model downloads are a separate step

Apple system voices are provided by macOS. Kokoro and Chatterbox require model files, which TextHalo downloads when you choose to use those engines. Downloading model files uses the internet; the speech synthesis itself runs locally after setup.

The app also needs an internet connection to fetch application updates. Model files and app updates are separate from the selected text used during local synthesis. If you want to use an AI voice without a network connection, first make sure its model is fully downloaded.

You choose how text is captured

macOS Accessibility permission lets TextHalo read selected text from other apps that expose it. You can also use copy-based capture for apps that need it. Review the Capture settings and choose the method that fits your workflow.

The permission is controlled by macOS. You can review or revoke it in System Settings at any time. Copy-based capture interacts with the clipboard; the app’s Capture settings describe the available behavior and clipboard restoration option.

Local processing describes where speech synthesis runs. It does not mean every part of your Mac is offline: model downloads and app updates need network access. For implementation details, see the project’s privacy notes in the source repository.