← Journal   /  

What actually leaves your phone

Everyone in this category says "private". Here is the complete list of network calls our apps make, why the list is short, and how you can check it yourself without trusting us.

An aircraft wing above cloud, the view from a seat with no signal

“Private” is the cheapest word in software. Every AI app claims it, including the ones that send your conversation to a datacentre and promise not to look. So here is a list instead of an adjective.

The complete list

Our apps make exactly two kinds of network request, and you start both of them.

1. Downloading a model you chose. A file request to huggingface.co. It carries what any download carries — the address of the file, and your IP as the address to send it back to. Nothing about you or your prompts is in it, because none of that is part of a file request.

2. Fetching a web page you typed the address of (Offline Notebook only). You add a URL as a source; the app fetches that page and indexes it locally.

That is the list. Not “the list of things we collect” — the list of times the apps open a socket at all.

Why the list is short

There is no server. Not “we don’t log”, not “we delete after 30 days” — there is no account system, no backend, no analytics endpoint, and no crash reporter. Your conversations cannot leak from our infrastructure the way they leak from everyone else’s, because there is no infrastructure holding them.

The models run on the phone’s own processor and neural accelerator. A reply is computed a few centimetres from where you typed the question.

The parts most privacy pages skip

Speech. Voice input uses Android’s on-device recogniser only. If a device has no offline recogniser available, the feature refuses to run rather than quietly falling back to the network one — which is the default behaviour of the API, and which would have made the privacy claim false on those devices. Text-to-speech follows the same rule.

Backups. Conversations, documents, memories and generated images are excluded from Android cloud backup. Otherwise “it never leaves your phone” would be true right up until the nightly sync uploaded it to a Google server.

This website. No cookies, no analytics, no fonts or scripts from anyone else’s domain. The animation on the front page is a WebGL scene bundled into this site rather than pulled from a CDN — a CDN would hand a third party a log of every visitor, which is precisely the thing we are claiming not to do. The site’s build fails if a third-party src, a tracker name or a sendBeacon call appears in the output.

The one honest caveat: our web host keeps standard server logs, as every host does. We add nothing to them and we do not read them for analytics.

How to check without trusting us

This is the part that matters, because a privacy claim you cannot verify is a marketing claim.

  • Put the phone in airplane mode. Then use the app. Chat, translate, ask a document a question, generate an image. Everything except downloading a new model keeps working. An app that quietly needed a server would stop.
  • Watch the traffic. Point a proxy at the device, or use Android’s per-app data usage. After the model download completes, the number stops moving.
  • Read the permissions. The store builds request internet, network state, notifications, a foreground service for downloads, and — in two apps — the microphone. No location, no contacts, no calendar. Those tools exist in the codebase behind build flags and are compiled out of the shipping build.

What we will not do

We will not add analytics later “just for crashes”. If the apps ever need to send anything new, it will be announced, off by default, and described here before it ships — and this page’s date will change.

The full statement, with the permission table, is the privacy policy.


Next
We got the same licence wrong twice
Read