Does VoiceScroll Send Your Voice to a Server?
Any app that listens while you talk is worth asking one question about: where does that audio actually go? For a teleprompter, the microphone is on for the whole take, not just a few seconds, so the answer matters more than it does for a quick voice command.
The short version
On iPhone and iPad, VoiceScroll's speech recognition never leaves your device. Not sometimes, not as a fallback: the app forces on-device processing and has no code path that sends your audio to a server. On Android, VoiceScroll never selects a server-based recognizer either. If your device can only recognize the language you picked by sending the audio away, the app tells you that language can't be used there instead of quietly doing it.
What "on-device" actually means
Speech recognition can run two ways. Cloud recognition streams your audio to a server, which does the transcription and sends text back. On-device recognition runs the model locally: your voice never has to leave the phone in order to be understood. The tradeoff is usually accuracy and language coverage, cloud models tend to be bigger, but for a teleprompter that's already reading a script you wrote, on-device is normally accurate enough, and it doesn't depend on your connection at the venue.
iPhone and iPad: on-device only, no exceptions
On iOS, VoiceScroll's recognition request is configured to require on-device processing. That's not a preference the app can silently override if the network happens to be available, it's a hard requirement set on the request itself. If a language doesn't have an on-device model on your device, the app tells you it needs to be downloaded rather than quietly switching to a server. This applies to both of VoiceScroll's recognition engines, the classic one and the newer one introduced with iOS 26.
Android: on-device only, and the one limit worth stating
Android's speech APIs work differently from iOS's. Android does offer a strictly on-device recognition API, but restricting VoiceScroll to that one alone would rule out devices that do recognize speech offline through a different provider, so the app keeps the wider set of recognition services and refuses everything that isn't offline. Providers that only work online are dropped from the candidate list entirely, both in the first pick and in the mid-session failover chain, and every request is pinned to prefer offline. If a language is only served remotely on your phone, the app blocks Start and opens the voice settings sheet explaining why, rather than switching to a server to make it work.
An earlier release had a real gap, and it's worth stating plainly. The app preferred on-device recognition but did not refuse the remote path: when the leading offline recognizer died mid-session, on a start timeout or a no-transcription watchdog or an unsupported-language error, the failover chain could land on an online provider, rebuild the request with the offline flag turned off, and hand the rest of that take to Google's speech service with nothing on screen to say so. That was fixed in version 1.10.1, released in July 2026. Online providers are now rejected everywhere the app picks a recognizer, so the failover chain has nowhere to fall to.
And here is the limit worth stating: because VoiceScroll uses that wider set rather than the strict API alone, the offline preference it pins on every request is a hint those recognition services can ignore, not a platform guarantee. Excluding online providers and pinning that flag is the strongest lever the app has on Android. It is an app-level guarantee, not the categorical promise iOS can make.
What about the script itself?
Separately from audio, your script text isn't collected or uploaded either. Scripts are stored locally on your device, and VoiceScroll doesn't require an account to use, so there's no server-side profile your scripts could be attached to. If you record video, the same applies: video and audio are written to a file on your device, not streamed anywhere.
How to check this for any app, not just VoiceScroll
This isn't specific to teleprompters, it's worth checking for any app that listens to you regularly:
- Look for the words "on-device" specifically in the privacy policy or app description. "We take your privacy seriously" without a technical claim usually means nothing.
- Check whether the app works with the network turned off. If it does, that's a strong sign recognition is actually local.
- Watch what an app does when it can't recognize locally. Refusing the language and saying so, or disclosing a fallback while it happens, are both defensible. Switching to a server without telling you is not.
Bottom line
On iPhone and iPad, your voice stays on the device, full stop. On Android, VoiceScroll never selects a server-based recognizer and refuses languages your device can only handle remotely, though on Android that is an app-level guarantee rather than a platform-level one. Either way, your scripts aren't collected, and there's no account tying any of it back to you.
Ready to try it?
Frequently Asked Questions
Does VoiceScroll send my voice to a server?
On iPhone and iPad, no, never; the app requires on-device recognition and has no path to a server. On Android, VoiceScroll never selects a server-based recognizer either: if your device can only handle the language you chose remotely, the app tells you that language can't be used there instead of switching to a server.
Does VoiceScroll collect or upload my scripts?
No. Scripts are stored locally on your device, and the app doesn't require an account, so there's no server-side profile they'd be attached to.
I heard an older version sometimes used Google's servers without saying so. Is that still true?
That was a real bug. The app preferred on-device recognition but didn't refuse the remote path, so if the offline recognizer failed partway through a session, failover could hand the rest of it to Google's speech service with nothing on screen. It was fixed in version 1.10.1, released in July 2026: online providers are now excluded everywhere the app picks a recognizer, so there is nowhere left for a session to fall back to.
Is on-device recognition on Android as strong a guarantee as on iPhone?
Not quite, and the difference is worth being precise about. On iOS the on-device requirement is set on the recognition request itself and enforced by the system. On Android, recognition runs through separate recognition services, so VoiceScroll excludes online-only providers and pins every request to prefer offline, but that preference is a hint those services can ignore. It is the strongest lever the app has, not a platform-level promise.
Try VoiceScroll for free
Voice-powered teleprompter that scrolls as you speak.