Last updated: 23 September 2026
Voice Compiler is a personal project run by an individual, not a company product. This page explains what data the app handles and why, in plain terms.
Voice Compiler is operated by an individual, Thomas Farfeleder, as a personal project. Contact: [email protected].
Every library belongs to an account on the server, identified by an internal id. An account has one or more ways to sign in, or none at all while it is a guest:
You can link Google and a password to the same account in Settings → Login methods, and remove either as long as the other remains. When a guest signs in with a Google account that already has a library, the guest's articles and audio can be moved into it; the guest account is then deleted.
A signed session cookie (vc_session, http-only, valid for 30 days and
renewed while you use the app) keeps the web app signed in. If your browser does not keep that
cookie for this site, the web app keeps the same session as a token in this browser's
localStorage instead. The Android app keeps its token in the Android Keystore. After a
Google sign-in, your email address travels inside the session so the app can show which account
you are using. You can end every active session from Settings → Account &
security → Sign out everywhere.
To slow down password guessing, the server counts sign-in and recovery attempts per username and per network address, and new accounts per network address. These counters live only in the server's memory; they are not written to disk and disappear when the server restarts.
Content you save — as a guest too — is stored on the operator's self-managed, EU-hosted VPS and isolated to your account:
When you generate narration with a cloud provider, the text of the article is sent to whichever text-to-speech provider you have chosen and configured (for example ElevenLabs or Google Cloud Text-to-Speech) so it can synthesize the audio. That provider's own privacy policy and terms apply to that processing. Voice Compiler does not send your text to any provider you have not selected and configured credentials for.
Two ways of listening send your text to no one: Piper, when the operator has enabled it, synthesizes on this server, so the text never leaves it. Device Read aloud hands the text to your own device's speech engine instead of to Voice Compiler's server — note that some browsers and Android engines implement their built-in voices as an online service of their vendor, which is outside this app's control.
Your data is not sold or shared with anyone beyond the text-to-speech provider you explicitly choose to generate audio. There is no analytics, tracking, or advertising in the app.
Earlier versions could keep a library only in this browser (IndexedDB) instead of on the server. That mode no longer exists; guest accounts replace it. If this browser still holds such a library, nothing in it is uploaded until you choose Move into this account in Settings. The browser copy stays until you choose Remove local copies, which is offered once every article has been moved. A JSON backup exported from that mode can be restored into an account with Import library.
The web app also keeps small UI values in localStorage:
An article shared to the app while you are signed out waits in this tab's
sessionStorage until you sign in, and is removed from there as soon as it is
opened.
None of this is used for tracking, and nothing is shared with third parties from local storage.
You do not need to contact the operator to remove stored content. Inside the app you can delete individual narration outputs, all audio for selected articles, or the articles themselves. Deleted articles can be permanently removed through the recycle bin. Provider keys can be cleared in Settings, and a password or Google login can be removed there while another one remains. A guest account is deleted with everything in it after 30 days without a visit (the default period). Beyond the account record and the account-scoped content described above, nothing about you is stored.
There is currently no in-app "delete my whole account" button: listening statistics and the usage log are not individually deletable in the app. Email the operator at the address above to have your account and everything stored under it removed, and it will be deleted.
This is a small, evolving personal project, so this policy may change as the app changes. Material changes will be reflected on this page.