Plain answers
What runs on my device, and what does it cost me?
Short version: one process, one 491 MB model file downloaded once, jobs that take a few seconds each, and nothing that touches your files, contacts or browsing. Here is the longer version, measured on our own devices.
What gets installed
- On a phone: the Ayni app from Google Play. It bundles the inference engine (llama.cpp) and downloads the model on first run.
- On a Mac or Linux box: one binary,
provider-daemon, in your home folder under~/.ayni, started by a one-line installer. Same engine, same model. - The model: Qwen 2.5 0.5B, 4-bit, one file of 491 MB, verified against a signed manifest before it is used. It is the only model in production today.
When it works
- The phone app serves jobs only while the phone is charging and on Wi-Fi. Unplug it or leave Wi-Fi and it stops taking work.
- The desktop daemon reports its CPU load and thermal state to the coordinator with every heartbeat, and the scheduler ranks busy or hot machines last. It never takes more than a handful of jobs at once.
- A job is one prompt in, one completion out. In production today a job is typically a few hundred tokens and finishes in one to ten seconds on a phone.
Battery, data and heat
- Battery: the phone only serves while plugged in, so the cost is a slightly slower charge during a job, not a drained battery.
- Data: the model download is a one-time 491 MB. Jobs are small: prompt and completion text plus a few hundred bytes of framing, so a busy day is a few megabytes. Wi-Fi only on phones.
- Heat: a job runs the CPU or GPU flat out for a few seconds. The phone reports its thermal state; a hot phone is not sent work until it cools. Sustained throughput is measured at benchmark time and capped there.
- Storage: the model file plus a few megabytes for the app or binary.
What it never does
- Read your files, photos, contacts, messages or browsing. The app requests no such permissions.
- Accept inbound connections. The provider dials out to the coordinator over an encrypted WebSocket and nothing can connect to your device.
- Show ads, track you, or phone anything but the coordinator and the model registry.
- Keep the prompts it serves. They live in memory for the length of the job and are never written to disk or logged; a CI check fails the build if any code path could log one.
How to stop it
- Phone: toggle sharing off in the app, or uninstall. The model file goes with the app.
- Mac or Linux:
~/.ayni/provider-daemonis a normal process; stop it or delete~/.ayni. Nothing else was installed.
Everything above is open source and checkable: the repository, the threat model, and the white paper linked from the home page.