Rocky — privacy policy

Last updated: 2 October 2026

Rocky is a personal assistant app built by one person for their own household. It is distributed only through Google Play internal testing and is not offered to the public.

Who runs it

Rocky has no company behind it and no shared servers. The app talks to a server the user runs themselves, on their own computer at home. There is no Rocky account, no sign-up, and no hosted backend operated by anyone else.

How the phone reaches that server

The phone reaches the home server over the public internet through a Cloudflare Tunnel, with Cloudflare Access in front of it and a device token as a second lock. Nothing is exposed to the internet without both.

Being straightforward about what that means: a tunnel terminates TLS at Cloudflare's edge, so the connection is encrypted from the phone to Cloudflare and again from Cloudflare to the home server, but Cloudflare is technically able to see the traffic in between. It is not end-to-end encrypted. This was a deliberate trade for a connection that works reliably on mobile data.

What the app collects

Nothing is collected by the developer. The app sends no analytics, no crash reporting, no advertising identifiers and no usage data anywhere. There are no third-party SDKs for tracking or ads.

What the app handles — and where it goes:

DataWhyWhere it goes
What the user types or says to Rocky To answer and to act on it The user's own server; kept in a database file on their own machine
Photos the user sends Rocky So Rocky can read what is in them (a delivery note, a bill, a recipe) The user's own server, where the picture is read and then deleted. Only a record the user keeps (a recipe's own photo) is stored
Microphone audio The voice screen and voice memos turn speech into text Normally streamed from the app directly to ElevenLabs (see below), which turns it into text; a recorded voice memo goes there from the user's own server. When ElevenLabs is not in use (no key, or the month's allowance used up), speech is turned into text on the user's own server (Whisper) or by the device's own speech recognition, and nothing leaves the house. Audio is never stored by Rocky
Rocky's spoken answers So answers can be read out loud in a natural voice The words to be spoken are sent from the user's own server to ElevenLabs, which returns the audio; a phrase said before is played from a copy on the user's own server. When ElevenLabs is not in use, the device's own voice speaks and nothing leaves the phone
Notifications Reminders and check-ins the user asked for Sent by the user's own server to their own phone
Bank transactions and balances, when the user connects their own bank accounts To answer questions about money, keep track of bills and subscriptions, and tell the user about what they asked to be told about Read through Enable Banking (see below) and kept on the user's own server. Only ever read: nothing can be paid or moved. Full account numbers are shown on the user's own screen only
Household data the user enters (shopping lists, pantry, recipes, notes, reminders) The features themselves The user's own server only

Where data leaves the house

The app itself contacts nothing but the user's own server - and, while the microphone is listening through ElevenLabs, ElevenLabs directly, on the single-use pass described above. Android's speech recognition and text-to-speech, used when ElevenLabs is not, are provided by the device and governed by the device maker's and Google's own policies.

Google account access

If the user connects their Google Calendar, Rocky asks for permission to read their calendar and to create, move and delete events. It never asks for whole-calendar management. Calendar changes are always proposed first and only carried out after the user says yes. The access token is stored on the user's own server and nowhere else, and access can be withdrawn at any time from the user's Google account permissions. Gmail, when connected, is read-only and uses an app password the user creates themselves.

Bank access

Connecting a bank is optional and read-only. The key that identifies the user's own Enable Banking application and the bank sessions are files on the user's own server, readable by that account only, and are never stored in the database or its backups. Each account is visible only to the person who connected it, unless they share that one account with someone else in their household. Access ends on its own after at most 180 days; it can be ended earlier in the bank's own app or website.

Permissions

Keeping and deleting data

All data lives on the user's own server and phone, plus the nightly backup described above. Deleting the app removes its local copy; deleting the database file and the backups on the user's own accounts removes the rest. There is nothing held by the developer to request or delete, because nothing is held by the developer.

Children

Rocky is not intended for children and is not distributed publicly.

Changes

If this policy changes, the updated version replaces this page.

Contact

Questions about this policy: the developer, via the email address on the Play listing.