Privacy — what we collect, and why it is nothing
“We don't collect telemetry, and the software doesn't use the internet for anything except what you pressed a button to do.” — the entire policy, if you are in a hurry
There is no analytics SDK, no crash reporter, no “usage statistics” toggle that defaults to on, and no daily heartbeat. We do not collect anonymised data either — the word “anonymised” is doing an enormous amount of work in most policies and we would rather not need it.
- ×No usage analytics. We do not know which features you use, how often you open the app, or whether you use it at all.
- ×No crash or diagnostic uploads. If it crashes, we find out because you tell us, in your own words, if you feel like it.
- ×No device or advertising identifiers. Nothing is fingerprinted, hashed, salted or “pseudonymised”.
- ×No third-party SDKs doing it on our behalf. The most common way an app leaks is a library its authors never audited.
Software you have installed should work whether or not there is a network, and should be silent on it unless you asked for something that obviously needs it. Ours goes online in three situations, all of them started by you:
| You download a model | You choose it in Settings; it is fetched from its publisher (for TTS Runner, Hugging Face). Not started automatically, not pre-fetched. |
|---|---|
| You share a link to be read | The app fetches that page, because you asked it to read that page. Nothing else is requested. |
| You turn on local hosting | The app serves an API on your own network, to your own devices. It is off by default and connects to nothing of ours. |
Outside of those, the radio stays idle. No update checks, no config pulls, no ping to see if you are still alive. Put the phone in aeroplane mode and everything you have already installed still works.
The pattern we refuse: an app asks for contacts, location or “all files”, offers no reason, and quietly stops working if you say no. Every permission we ask for is listed with the feature that needs it, in plain words. Deny any of them and that one feature stops — the rest of the app carries on.
- ✓Asked, with a reason: microphone (only while you are recording a reference clip), internet (the three cases above), notifications (the progress notice Android requires for a running job), and access to the specific folder you point us at for saved audio and backups.
- ×Never asked for: contacts, location, call log, SMS, camera, calendar, nearby devices, accessibility services, or unrestricted access to all your files.
- ✓Nothing runs in the background you did not start. A foreground service exists only while a job you started is generating, and it shows a notification the whole time.
For TTS Runner specifically: the text you want read and the voice recordings you clone from are processed entirely on the phone, by an engine running in the app. No text is uploaded. No audio is uploaded. This is not a promise about how we handle your data on our servers — it is the stronger claim that there are no servers, so there is nothing to handle.
- ×No cookies. Not even “essential” ones.
- ×No JavaScript. There is no script on this site to run, which rules out an entire category of tracking.
- ×No analytics and no embedded third parties. No fonts, no widgets, no pixels, no CDN. Every byte of this page comes from this domain.
- ✓Hosted on GitHub Pages. Being honest about the one thing outside our control: GitHub serves these files and, like any web host, sees the request. We have no access to those logs and no analytics layered on top. Follow a link to GitHub or Hugging Face and you are on their site under their policy.
If we ever change this
We won't add telemetry. If that ever changed, it would be stated on this page in the same plain words, not buried in a diff — and the old version would still be sitting in the site's git history for you to compare against. That is the accountability we can actually offer.