Privacy
Last updated 21 October 2026
Operator is built to act for you on your own phone. We don't want your mail, messages, calendar or photos, and we don't keep them. During the beta, when Operator needs a model to answer you, your request passes through our server on its way to OpenAI and is not stored there. We're working toward Operator running fully on your phone, with nothing sent to or stored by us. This page covers what this website collects, what the app does with your information, your Operator account, the anonymous usage analytics the app sends, problem reports, and the requests beta testers choose to share.
This website
If you sign up for the beta, we receive the email address and answers you enter (your phone type, screen time, how you use your phone, which AI tools you use, and any agent products you use or problems you had with them), along with the IP address and browser details (user agent) your browser sends with it. We use the IP address to limit abuse of the form. The entry is stored in a Google Sheet through Google Apps Script. We use your email only to contact you about Operator, and your answers only to plan the beta. We remove them if you ask.
The site is hosted on Vercel and loads its fonts from Google Fonts. Like any web host, they receive your IP address and ordinary request details when you visit. We don't use analytics, advertising or tracking cookies on this site.
The Operator app
Operator runs on your iPhone. It can only reach the apps and accounts you turn on, and you can turn any of them off at any time.
- Your accounts. Sign-ins for connected accounts, such as Google or Slack, are stored in your iPhone's Keychain. We never receive them.
- Your accounts' contents. Operator reads your connected accounts directly from your iPhone, for example straight from Google or Slack, not through us.
- The model, during the beta. In the beta, Operator's answers come from OpenAI's models. To answer a request, the app sends it, together with whatever Operator read to handle it (such as the emails it searched), to our server, which passes it on to OpenAI and streams the answer back. Our server does not store your requests, Operator's answers or anything Operator read; its logs hold only counts, sizes, times and costs. We ask OpenAI not to store requests either. Under OpenAI's privacy policy and API terms, OpenAI does not use them to train its models, and may keep them for up to 30 days to watch for abuse. OpenAI receives a scrambled identifier for your account, never your name or email.
- Web search, during the beta. When Operator searches the web for you, OpenAI runs the search.
- Dictation, during the beta. When you dictate while signed in, your iPhone sends the audio straight to Deepgram, our speech service, and gets the words back. The audio does not pass through our server. We ask Deepgram to leave your audio out of its model improvement program, so under its terms it keeps the audio only as long as it needs to make the words, and does not use it to train its models. If Deepgram cannot be reached, your iPhone makes the words itself.
- What stays on the phone. Your conversation with Operator and its record of what it did are stored on your iPhone.
- WhatsApp. WhatsApp has no official way to connect an app like Operator, so connecting it links Operator to your WhatsApp account as an extra linked device, the way WhatsApp's own computer apps link. Your WhatsApp messages are then kept on your iPhone for Operator to read. WhatsApp's terms do not allow unofficial linked devices, and WhatsApp can restrict or ban accounts that use them; the app asks you to accept that risk before linking. You can unlink Operator at any time in WhatsApp under Linked Devices.
Your Operator account
You sign in to Operator with Google. Operator receives your name, email address and Google account ID from that sign-in, and nothing else from it; access to Gmail, Calendar or Drive is asked for separately, only if you connect them.
Our server keeps:
- The list of email addresses invited to the beta, so it can let you in.
- A sign-in record for your account, so a sign-in can be ended.
- Counts of your requests and what they cost us, so each tester stays within a daily limit. These are kept for a few days; totals for everyone are kept for the month.
- Short request logs with a scrambled account identifier, request sizes, times and costs. No content, names or email addresses.
Your sign-in on the phone is kept in its Keychain. We remove your account from the beta list and delete its records if you ask.
Anonymous usage analytics
The app records what happens when you use it, such as which features ran and whether they worked, so we can find what is broken. It never records the words you type, Operator's replies, or anything Operator reads. This is on by default. You can turn it off with Share anonymous usage on the app's Apps page. Turning it off stops recording, deletes the events stored on your phone, and discards the install ID described below.
Events are stored on your phone first, then sent to PostHog, our analytics provider, at its EU servers (eu.i.posthog.com). They are sent as anonymous events: PostHog is told not to build a profile of you and not to look up your location. Like any server, PostHog sees the IP address an upload comes from.
Sent with every event
- The event's name, below
- A random install ID made on your phone. It is not your Apple ID, email, phone number or a device identifier, and it is replaced if you turn analytics off and on again.
- A random session ID, which changes after 30 minutes without activity
- The time of the event and its order among your events
- The app version, the iOS version (such as 27.0), the iPhone model, and whether it is a beta or App Store build
- Your phone's region setting (a country, such as US), instead of a location looked up from your IP address
- Your answer to "How did you hear about Operator?", if you gave one
- Which version of Operator's instructions and which model answered, and whether the app runs in Apple's Simulator
The events
-
app_openedWhen you open the app or come back to it. Nothing else.
-
session_startedWhen a new session begins. Nothing else.
-
message_sentWhen you send Operator a message. The text is read on your phone to work out the first two items, and is not sent.
length_bucket: roughly how long the message was: empty, short (up to 40 characters), medium (up to 200), long (up to 1,000) or very longuser_label: whether it looks like a new request, a correction ("no, I meant…") or a retry ("try again")seconds_since_reply: how long after Operator's last reply you sent it
-
turn_finishedWhen Operator finishes handling a message.
outcome: replied, failed, stopped, joined an earlier reply, paused, or could not be savedduration_ms: how long it tookstep_countandfailed_step_count: how many actions it ran, and how many failedreply_length_bucket: roughly how long the reply was, in the same sizes as abovein_foreground: whether the app was on screen
-
action_finishedWhen Operator runs an action on your phone, such as searching mail or checking your calendar.
command: which action, from the app's fixed list (for examplecalendar.events), or "other"operation: for connected accounts, which operation from the app's fixed list (for examplegmailMessages), or "other"outcome: "ok", or the app's error code (for examplePERMISSION_DENIED)duration_ms: how long it tookresult_count: how many items came backlimit: how many results were asked forrecipient_count: for a message, how many recipients, not who they werebody_length_bucket: for a message, roughly how long it was, in the same sizes as abovebody_looks_placeholder: whether a message was left as a template, like "[your message here]"start_day_offset: for a date range, how many days from today it starts, not the date itself
-
onboarding_completedandpermissions_changedWhen you finish first-run setup, and whenever you change what Operator may use.
read_granted_countandwrite_granted_count: how many apps Operator may read and act in, as counts onlyread_only: whether Read-only is on
-
app_backgroundedWhen you leave the app.
turn_in_flight: whether Operator was still working on a reply
Analytics never includes what you typed or dictated, Operator's replies, names, phone numbers, email addresses, message recipients, dates, search terms, or the content of anything Operator reads.
Problem reports
Report a problem on the Apps page builds a report you send yourself, through the share sheet. It holds the app version and the most recent recorded events, as listed above, without the install and session IDs, so a report can't be linked to your analytics history. If you switch on Include this conversation, it also holds the last 40 messages of your chat, word for word. That is off unless you turn it on. You choose where the report goes, such as by email, so we see whatever sender details that carries. We use reports only to fix the problem you reported, and we delete yours if you ask.
Beta testing: sharing your requests
This applies only to beta testing, in TestFlight builds of the app. App Store builds do not collect it, and installing an App Store build deletes anything a beta build had kept.
Real requests show us how people actually ask for things, which is something we can't make up. Beta testers can turn on Help improve Operator on the app's Apps page. It is off by default and stays off unless you turn it on. When it is on, the app keeps a copy of each request you make, on your phone.
Kept
- What you type or dictate to Operator, as text, after names, phone numbers, addresses, links, emails and long numbers are replaced on your phone
- Where the request fell in the conversation: a random id and a turn number
- Which apps you had allowed at the time
- Which tools ran, whether they worked, how many items they returned and how long they took
- Whether a reply came and how long it took, and whether you stopped it, asked again or corrected it
- The app version and the date
Never kept
- Anything Operator read: mail, messages, events, contacts, photos, files, notes
- Operator's replies
- What a tool was asked to search for or send
- Your Apple ID, email, phone number, device identifiers or location
- Audio from dictation
Nothing leaves your phone unless you share it
The app never uploads these requests. Under Shared requests you can read each one exactly as it would be sent, delete any or all of them, and share a file with us yourself, for example by AirDrop or email. Redaction can miss things, such as a nickname, so please read the list before you share. Requests on your phone are deleted after 365 days, and turning the setting off stops new ones from being kept.
What we do with requests you share
- We use them only to test and improve the models behind Operator: to measure how well models handle real requests, and to build training examples for our own models.
- We check every file again for anything identifying and set aside any request that still contains an email address, phone number or long number.
- To build training examples, we pair redacted requests with made-up data, such as invented contacts, messages and calendars, and may use AI model providers to write example replies. Only the redacted request text is sent. Nothing you did not share is sent.
- Shared files are kept in private storage and never published. They are deleted 365 days after we receive them. If you ask, we delete yours sooner.
Beta request sharing is only for 18-year-olds and over. If you are under 18, please leave it off.
Where this is heading
We're working toward Operator running fully on your phone: its own model on your device, so your requests, Operator's replies and anything it reads for you never leave your phone, and we store none of it. During the beta, Operator's answers come from OpenAI, as described above, and we collect requests only from testers who choose to share them, to build that model. Request sharing is a beta-testing tool and is not part of the released app. We will update this page before any of this changes.
What we don't do
- We don't sell your information or use it for advertising.
- We don't store the contents of your connected accounts or your conversation. During the beta, they pass through our server only on their way to OpenAI to answer you. The only way any of your conversation is kept by us is a problem report you choose to send with the conversation included.
- We don't receive any requests from beta testers who leave request sharing off. They send only the anonymous usage analytics above, and only if those are left on.
Changes and contact
If we change what we collect, we will update this page and its date. For beta request sharing, the app also turns the setting off whenever the format of what it keeps changes, so you decide again.
To ask a question or to have your beta sign-up or shared requests deleted, contact us at tryoperator123@gmail.com.