Skip to content
Yappy Download
Language: en

Your texts do not travel.

Last updated: November 4, 2026. Controller: José Luis Saorín Ferrer, Tenerife (Spain).

What this is

This is the privacy policy for Yappy: the iPhone, iPad, Android, Mac, Windows and Linux app, with its widgets and extensions. It's short because there's not much to say. Yappy has no accounts, doesn't ask for your name or email, and what you give it to read doesn't leave your device. What does touch the network are four specific things, and here are all four, one by one.

No account, no name, no texts

Yappy has no sign-up and no login. It does not collect your name, email, contacts, location or any advertising identifier. The articles, PDFs, EPUBs, documents, voice notes and texts you share with the app are turned into speech inside your device: synthesis, transcription and page clean-up happen locally and are never sent to any server of ours or of third parties. There is no cloud sync either: your library, your progress and your audiobooks live on your device and disappear if you uninstall the app.

Touches the network (1): the model downloads

To speak, Yappy needs its voice model, and it downloads it once: about 200 MB on the phone, about 398 MB on the computer. It comes from modelos.yappy.joseluissaorin.com, a Cloudflare R2 store. On iPhone and iPad it usually arrives with the app itself: the system fetches it from that store with Background Assets, and from nowhere else. If it didn't arrive that way, the app downloads it on launch — on its own if you're on wifi, otherwise when you ask it to. On Android the download starts by itself the first time you open the app; on the computer, when you ask for it.

If our store is down, the app tries the public copy of the model on Hugging Face (huggingface.co, which serves the files from its own distribution network). Only then, and only for the files that didn't arrive from our store.

On the phone, the first run includes the parrot's voice recorded in Spanish and English; in the other 29 languages, those recordings are downloaded from the same store when the app starts in your language, or when you pick one.

Turning voice notes and other audio into text needs a second model, the ear — the transcription model (Parakeet, about 670 MB). That one downloads only when you ask, and it comes from Hugging Face (huggingface.co). The OCR, on the other hand, ships inside the app and downloads nothing.

In all these downloads, the server sees your IP address and which files you ask for, as with any download; no identifier of yours travels with them, nor anything you read. We keep no log that identifies you on our store. After that, the voice and the transcription work in airplane mode forever.

Touches the network (2): the links you share

If you share a link or a video, your device visits that address to fetch the text or the transcript, just as your browser would. The visit comes from your device, not from a Yappy server, and the site receives what any browser would send it: your IP address and your device type. No history is kept anywhere outside your device.

Third-party services. A few links are fetched through public third-party services. Hacker News threads are requested from the Algolia API (hn.algolia.com), which receives the thread number. Long X articles (not regular posts, which are fetched from X itself) are requested from api.fxtwitter.com, a public service independent of X, which receives the post number. And on mobile, if a link fails and you tap the “From the archive” button, Yappy asks the Internet Archive's Wayback Machine (web.archive.org) for the saved copy, and it receives the full address of the link. As with any request, these services also see your IP.

The invisible browser. On iPhone, iPad and Android, if the direct download doesn't get the article (the site refuses it, a cookie notice is in the way, or the text only appears once the page runs its JavaScript), Yappy opens the page in an invisible browser on the device itself (WKWebView on iOS, WebView on Android) and, if a cookie notice pops up, accepts it for you to reach the text. Once it accepts, as in any browser, the site can set its cookies, including advertising ones. Those cookies stay inside Yappy, separate from your browser's. On iPhone and iPad they live only in memory and vanish when the app is closed. On Android, Yappy clears the site's cookies as soon as the page finishes loading; if the attempt fails, or the page jumps to another domain, some may remain stored in the app until you delete its data or uninstall it.

Paywalled articles. Yappy does not sneak past paywalls. If you have a newspaper subscription, on mobile you can sign in once from Yappy: the newspaper's own page opens, you enter your username and password there, and Yappy never reads or stores them. The session stays on your device alone, and from then on the invisible browser opens that site's articles with it (cookies accepted there are stored with the session). You can delete sessions whenever you like in Settings, under “Subscriptions logged in”.

Scientific articles. If an article with a DOI is paywalled at the publisher, Yappy asks Unpaywall, a free service from OurResearch, whether a legal open-access copy exists, for instance in a university repository. If it does, Yappy reads that copy and, on mobile, tells you where it came from. Unpaywall receives only the article's DOI and a contact address its API requires — Yappy's, not yours; like any request, it also sees your IP. Your device downloads the copy afterwards, like any other link.

Touches the network (3): the anonymous statistics

This is worth saying plainly: there is analytics, only in the mobile app, and it ships turned on. You can switch it off any time in Settings, under “Anonymous statistics”. What gets sent is the name of an event from a fixed list (that the app was opened, which step of the first-run walkthrough is showing, which screen is tapped, whether a reading finishes) plus a few technical details, also from a fixed list: what kind of thing you added, how long it took to prepare, how much of it got listened to, whether it failed and with which error code, whether the invisible browser was needed or a cookie notice had to be accepted, and whether you were on wifi or mobile data. Each event also carries a random install identifier, the device model, the OS version, the language and the app version. Never your name, your email, the text you're reading, a document's title, a link or an advertising identifier. Nothing goes to Google Analytics, or Firebase, or any analytics company: it goes to a Cloudflare Worker and a D1 database belonging to the author himself, and it exists to show which parts of the app get used and which are dead weight. On the desktop there are no statistics of any kind.

Touches the network (4): purchases

Yappy Parlanchín is bought inside the mobile app: on iPhone and iPad, through Apple's App Store; on Android, through Google Play. There is a monthly subscription, a yearly one and a lifetime purchase, and Apple or Google handle the charge: Yappy never sees your payment details. To check whether your subscription is active, the app uses RevenueCat, a subscription manager, which receives an anonymous install identifier and the store receipt; it does not receive your name or your email. RevenueCat runs every time you open the app, whether you buy anything or not, to find out what the store offers and whether you already have a subscription. Apple and Google describe their own data in their privacy policies: Apple's and Google's. There is nothing to buy on the computer.

The bridge: from your iPhone to your computer, and back

If you pair Yappy with your Mac or PC, the documents you send for conversion travel over a direct, end-to-end encrypted connection between your two devices, using the iroh library over QUIC. To find each other they may rely on relay servers, which only see encrypted traffic they cannot read. Yappy has no intermediate servers that store anything, because Yappy has no servers.

Children and permissions

Yappy is not directed at children under 13, and it collects no personal data from anyone, whatever their age. The permissions the system asks for are used only for that action, at that moment: the clipboard when pasting, the camera when scanning the bridge QR code, the microphone on the desktop for dictation. None of them is used in the background.

Your rights, and who to write to

Since we store no personal data, there is nothing to export or delete on our servers: everything Yappy knows about you lives on your device and disappears when you uninstall it. If you would rather we did not even receive the anonymous statistics, you can switch them off inside the app. For any question, write to [email protected] or open an issue on GitHub. The code is open, under the MIT licence: everything above can be checked by reading it.