This website
This website is a set of static pages with no accounts or forms. It uses Google Analytics to measure visits and which pages people use. Your browser loads Google's measurement script and sends information about your visit to Google Analytics, including the page viewed and browser and device details. Google Analytics uses first-party cookies to distinguish visitors and sessions. You can read more about this in Google's description of Analytics data collection.
Like any website, the server that delivers these pages receives the information included in every web request, such as your IP address, the page requested, and your browser’s user agent. The hosting service may keep this in access logs under its own terms.
The desktop app
OpenOrc stores its settings, conversation history, tasks, execution events, and project memory on your computer. Project files and Git worktrees stay in their own folders. OpenOrc has no account of its own and sends no usage analytics.
When an agent runs, its provider receives your request and the context the agent works with, which can include conversation history, project files, and tool output. Providers handle this under their own terms and your account settings. The agent command-line tools you install also connect to their own services and keep their own local transcripts, under their own terms.
To name a conversation, OpenOrc sends the first 1,500 characters of your first request and of the reply to a small model from the conversation’s own agent. You can choose another provider for titles, or turn them off, in settings.
When you ask OpenOrc to explain a code file, it sends the file’s path and text to the same kind of small model, from the conversation’s agent or the provider you chose for titles, and keeps the explanation on your computer. Turning titles off also turns explanations off.
Memory is off until you turn it on. While it is on, OpenOrc summarizes finished runs to find what is worth remembering, and adds saved memories to later requests, whichever agent runs them. By default the agent that did the work also summarizes it. OpenCode cannot summarize yet, so its runs are skipped. You can instead choose one provider, or your Anthropic API key, to summarize every eligible run, including OpenCode’s. Replies to task comments are never summarized.
Memory search uses a 91 MB embedding model that runs on your computer. OpenOrc downloads it from Hugging Face the first time memory needs it: when it saves a memory, searches, or indexes saved memories at startup. Each file is checked against a fixed SHA-256 checksum. Nothing is downloaded while memory is off.
Installed releases ask GitHub Releases for updates shortly after launch and every six hours. These checks send no identifier for your installation, and you can turn them off in settings. Downloading and installing an update always requires your action.
On the same schedule, OpenOrc checks whether the agent command-line tools you installed have newer versions. It asks registry.npmjs.org, formulae.brew.sh for tools installed with Homebrew, or downloads.claude.ai for Claude Code installed with its own installer, without cookies or credentials. These checks are on by default, and you can turn them off in settings. Installing an agent update always waits for you.
Before creating a worktree from a named branch, OpenOrc runs your own Git to fetch that branch from the repository’s origin remote. The built-in Preview browser loads the pages you or an agent open, and keeps their cookies and site data in OpenOrc’s application data. Words you type in its address bar that are not an address are sent to Google as a search. If you turn on support for iOS simulators and Android emulators, OpenOrc installs its helper tools from npm with your own npm. The network page lists every connection the app makes.
Cloud threads and the cloud brain are optional, and run on a Vercel or Agent37 account that you connect. For each cloud thread, OpenOrc sends a sandbox on that account the thread’s code, the agent’s session, and the sign-in the agent needs there. If you set up the cloud brain, OpenOrc also sends it the projects you choose, their memory, your open tasks, the conversations you move to it, and the sign-ins you give it. That service keeps this information under its own terms and your account settings, and bills you for its use. OpenOrc stores your cloud tokens and keys encrypted on your computer. It copies an agent’s API key from your computer only after you approve the copy, and never copies your Claude Code or ChatGPT sign-in.
The iPhone app
The iPhone app works with the desktop app on your own Mac. It has no account and no OpenOrc server behind it.
The app connects to the Macs you pair it with. Phone access is off until you turn it on in the desktop app’s settings. To pair, you scan the code your Mac shows or paste its link. The phone then connects straight to your Mac: over your local network when both are on it, or over your tailnet if you use Tailscale. Each connection is encrypted end to end with the Noise protocol and AES-GCM, using keys created on the phone and the Mac, so your router, Tailscale, and anyone else on the network cannot read or change what passes between them. While phone access is on, your Mac listens for phones on its network connections and accepts only the phones paired with it.
If you set up a cloud brain and pair the phone with it, the phone also connects to the brain on your own Vercel or Agent37 account, over the internet, encrypted end to end in the same way. On Vercel, the phone may first ask a small function in your Vercel team to wake the brain.
Everything the app shows comes from your Mac, or from your cloud brain for the threads it holds: your projects, threads, changes, and the Preview. What you send from the phone, including the photos you attach, is saved and run on your Mac like anything you do there, so the desktop app section above applies to it. Your agent’s provider receives a request you send from the phone just as it would from the desktop.
For each Mac it pairs with, the phone keeps a private key in the iOS Keychain. The key stays on that iPhone: it does not sync through iCloud Keychain and is not restored to another phone. In its own storage the phone also keeps each Mac’s name, network addresses, and public key; your settings; your drafts of messages, commit messages, and pull requests; and copies of your project and thread lists and of the images in your threads, so the app can show them before your Mac answers.
Your Mac keeps a record of each paired phone: the name iOS reports for it, its public key, when it was paired, and when it last connected. If you turn on notifications, the Mac also keeps the phone’s push token and your choice of alerts and sound. These records stay with the rest of OpenOrc’s data on your Mac.
Notifications are optional and off until you allow them. iOS then gives the app a push token, which the phone sends only to the Macs it is paired with. To alert you, your Mac seals the notification’s text with a key that only your Mac and your phone share, using AES-GCM, and sends it to Apple’s Push Notification service for delivery. Apple sees the push token, when the alert was sent, the words “New activity on your Mac”, or “New activity in the cloud” from a cloud brain, and the sealed text. The phone unseals the text on the device, so Apple cannot read the thread name or what the alert says.
The app uses the camera to scan the pairing code and to take photos you choose to attach. It reaches your photo library only through the iOS photo picker, which gives it just the photos you pick. It uses the local network to reach your Mac. It never uses the microphone, your location, or your contacts. Photos you attach are resized on the phone and saved on your Mac, where your agent can read them.
Besides your Macs, the app makes two kinds of connection of its own. When it cannot reach your Mac while the phone is off Wi-Fi, it asks www.apple.com for the page Apple keeps for checking whether a device is online, so the app can tell you why your Mac is out of reach. That request carries nothing about you or your Mac. When a reply in a thread shows an image from the web, the phone loads that image from the site that hosts it, which sees your phone’s IP address, as it would in a browser. Links you open from a thread open in a Safari view. Visualizations that agents make run in a sandbox that cannot reach the internet.
OpenOrc collects nothing from the iPhone app. The app has no analytics, advertising, tracking, or crash reporting of its own, and it does not follow you across other apps or websites. Apart from the images described above, nothing from the app reaches anyone but your Macs, your cloud brain, and Apple.
Apple runs the App Store, TestFlight, and the push service under its own terms. If you test a build through TestFlight, Apple shares the information TestFlight describes with the developer, such as your name and email address, crash logs, and the feedback you send. If you choose to share analytics with app developers in your iPhone’s settings, Apple may also pass along crash reports for the app.
If you connect Slack
The optional Slack integration connects an activated Slack thread to a desktop conversation. Messages, participant and channel identifiers, progress updates, replies, and permission decisions pass between Slack and your computer. If you use a shared relay, the computer hosting it also routes these messages. Slack and your workspace administrator control the records kept in Slack. You can disconnect Slack in settings.
Each request you send from an activated Slack thread reaches your provider with the thread’s earlier messages, including other participants’ messages and the images attached to them. OpenOrc also saves those messages in the desktop conversation.
Storage and removal
Local records stay in OpenOrc’s application data until you remove them. The exception is the provider log in logs/provider, a copy of the agents’ raw output kept for troubleshooting: OpenOrc deletes its files after 14 days, or sooner once the folder passes 512 MB. Removing a local conversation does not remove copies held by providers, Slack, backups, or your project files. Uninstalling the app may leave its data folder in place.
Deleting a cloud thread deletes its sandbox. Removing the cloud brain in settings deletes it from your cloud account, with its disk, its sandboxes, and the conversations on it. Disconnecting a cloud account in settings removes the token or key from your computer, and leaves what runs on that account in place.
OpenOrc removes common secret formats, such as API keys, access tokens, passwords set in code or configuration, and credentials in URLs, from the records it keeps: execution events and their search index, run results and errors, the audit log, memories, summaries, and the provider log. It cannot recognize every sensitive value. Text that OpenOrc passes to an agent later, such as plans and task comments, is stored as written, and so are your unsent drafts.
On the iPhone, removing a Mac deletes the phone’s key for it and the lists and images kept for it. Deleting the app removes its storage, though iOS can keep Keychain entries after an app is deleted. Removing a phone in the desktop app’s settings deletes its record and push token from your Mac, and any key the phone still holds stops working.
Questions
Ask a privacy question or report a concern by opening an issue in the OpenOrc GitHub repository. Issues are public, so do not include personal or confidential information. You can also email eliasdavidceriola@gmail.com. Requests about information held by a model provider, Slack, Apple, or another connected service should go to that service. The support page lists other ways to get help.
Changes to this policy
This page changes when the website or one of the apps changes how it handles information. The date above shows the latest revision.