Privacy Policy
Last updated 24 September 2026
The short version. Agent Orchestrator runs on your own machine. No account is required, and no hosted AO service stores your work. We never see your source code, prompts, agent output, terminal contents, repository names, or file paths, and we never do not rent data to anyone. The desktop app sends anonymous, redacted usage telemetry so we can tell whether releases are stable; you can turn it off. Optional website analytics stay off until you accept the Analytics category. For US visitors, the website uses RB2B to match site activity with company or professional contact information for sales outreach. If you voluntarily join a waitlist or send us a testimonial, we process the details you submit only for the purpose described on that form. The mobile app sends no telemetry at all and talks only to the server you point it at.
What this policy covers
Agent Orchestrator ("AO") is open-source software published by Untrivial, Inc., doing business as Orchestrator.inc. This policy applies to:
- AO Mobile — the companion app for iOS and Android that connects to an AO daemon you run yourself.
- The AO desktop app and CLI — the local orchestrator that supervises coding agents in git worktrees on your computer.
- orchestrator.inc — this website and the documentation hosted on it.
AO is not a hosted service. There is no AO account system and no AO server that stores your work. Everything AO orchestrates — repositories, worktrees, sessions, terminals, agent output — lives on hardware you control.
The AI coding agents you run inside AO (Claude Code, Codex, Cursor, and others) are separate third-party tools with their own privacy policies. AO launches them locally; it does not intercept, store, or forward what they send to their own providers.
AO Mobile (iOS and Android)
AO Mobile lets you monitor and control an AO daemon that you run yourself, over your local network or a private network such as Tailscale. The app has no backend of its own; it talks only to the server you configure.
Data the app handles
- Server connection details. The host or address and port of your AO server, plus the connection password. The address and port are stored in the app's local storage; the password is stored in the device's secure keychain (iOS Keychain / Android Keystore). Both are sent only to the server you configure, in order to connect.
- Camera (QR pairing). With your permission, the camera is used solely to scan the pairing QR code shown by your server. No photos or video are stored, uploaded, or retained.
- Push notification token. To deliver notifications — for example when an agent is waiting for your input — the app requests a push token from the platform and registers it with your own server, so your server can notify you. The token is not sent anywhere else.
- Device model and OS version. Read on-device to request a valid push token and to render the interface correctly. Not transmitted to us.
- Agent and project data. Sessions, pull-request state, and terminal output are fetched from your own server for display. That data lives on your server; the app displays it and sends it nowhere else.
How notifications work
When your server sends you a notification, it is relayed by the Expo Push Service to Apple Push Notification service (APNs) on iOS or Firebase Cloud Messaging (FCM) on Android, which deliver it to your device. The payload contains only what is needed to display and open the notification — a short title and body, and identifiers such as a session or pull-request reference. No passwords, tokens, or secrets are included. These platform services process the message only to deliver it, under their own privacy policies.
AO Mobile contains no analytics, advertising, or tracking SDKs, and collects no usage telemetry whatsoever. Nothing in the app is used for tracking across apps or websites owned by other companies.
Desktop app and CLI
The desktop app and CLI run entirely on your machine. All application state — projects, worktrees, sessions, terminal history, settings — is written under ~/.ao on your own disk and is never uploaded to us.
To understand reliability and which features are actually used, the desktop app sends anonymous, sanitized usage events to PostHog. Specifically:
- App activation (capped to one event per six-hour UTC slot per install and channel), screen or route views grouped into coarse surface names, and coarse UI actions such as creating a task or starting a session.
- Operational events from the local daemon: command invocation, session spawn and failure, waiting-for-input transitions, HTTP 5xx errors, and crashes.
- Crash and exception reports, reduced to an error name and a coarse context label.
- AO version, operating system platform, and build mode.
Before anything leaves your machine:
- Absolute file paths (
/Users/…,/home/…,C:\…) are replaced with[redacted-local-path]. - Local URLs (
file://,localhost,127.0.0.1) are replaced with[redacted-local-url]. - Project and session identifiers are one-way hashed (SHA-256) and never sent in plain text.
- Daemon events pass through a strict allowlist, so only known-safe fields are ever exported.
Events are otherwise anonymous PostHog events. A random install identifier generated on first run and stored at ~/.ao/data/telemetry_install_id is used to deduplicate counts. It is not linked to any email or name. Approximate location (country, and where available region and city) is derived by PostHog from the connection's IP address when each event is received, and AO leaves this enabled so it can understand which areas AO is used in. This applies to all installs, is used only in aggregate, and is not tied to your GitHub handle. AO itself never resolves or sends precise location and does not store your IP address. There is no separate switch for it; turning telemetry off stops it with everything else.
One exception: AO sends the GitHub username signed in to its GitHub integration on session-start events, both as an event property and as a PostHog person property, so we can see which developers are most active. AO only sends a personal (human) account, never an organization or a bot token, and sends nothing if no GitHub token is available. The handle is part of product telemetry and has no separate switch: turning telemetry off stops it, because the session-start event that carries it is then never sent. Anything already stored in PostHog from earlier events is not deleted retroactively.
The desktop app does not currently send PostHog session recordings. Session recording is disabled by default; if a time-boxed investigation enables it, local paths, local URLs, and network request names are masked before transmission. It would cover the AO interface only — never other applications, never your desktop, and never keystroke content.
Turning telemetry off. Set AO_TELEMETRY_EVENTS=off and AO_TELEMETRY_REMOTE=off in the daemon's environment to stop daemon events. Because AO is open source, you can also build it yourself with an empty VITE_AO_POSTHOG_KEY, which removes transmission entirely. See docs/telemetry.md for the full, source-level detail.
If you connect a GitHub account for pull-request and CI awareness, AO uses your existing local GitHub credentials to talk to GitHub directly from your machine. Those credentials stay on your machine and are never transmitted to us.
This website
orchestrator.inc is a static site and displays no third-party ads. Optional analytics stays off until you make a choice. The Analytics category uses PostHog to understand site usage and improve the experience. No PostHog person profile is created and session recording is disabled on the marketing site. Your Analytics choice, the consent-policy version, and the time of your decision are stored in your browser's local storage. The US-only RB2B integration described below is not controlled by this choice. It loads when our hosting provider confirms a US request.
For US visitors, RB2B's first-party cookies and related signals may associate pages you view with information already held by RB2B or its partners. A match may provide company information or US professional contact information such as a name, work email, job title, company, and LinkedIn profile. AO may use a match for sales outreach. Signals may include page URL and activity, referrer, campaign parameters, browser and device characteristics, IP address, and cookie or visitor identifiers. International company identification remains disabled, and the integration does not load for requests outside the US.
RB2B documents first-party cookies prefixed with _reb2b. These include _reb2buid for a persistent visitor identifier, _reb2butk for a long-term token,_reb2bgeo for coarse location, and _reb2bref for referral context, plus short-lived session and resolution cookies. RB2B currently documents lifetimes of up to 360 days for the visitor identifier, one year for the token, 20 days for coarse location, and 15 days for referral context.
Use Cookie Settings in the footer to review or withdraw your Analytics choice at any time. Withdrawal stops future collection. It does not automatically erase information collected before withdrawal. To opt out of RB2B visitor identification, use the Retention.com opt-out.
Optional waitlists and testimonial submissions are separate from analytics. When you submit one, the details requested by that form are sent to the relevant submission endpoint and stored solely to manage that request. Waitlist forms may also send their requested details to PostHog even if you opted out of site analytics; submitting a form does not enable analytics for later browsing. Testimonial submissions include the testimonial, your public LinkedIn profile URL, and any optional public X post URL. We use those details to review and, with the permission granted on the form, publish your testimonial with public attribution on the AO website. Fonts are self-hosted. Other services involved when you browse are:
- GitHub. Your browser requests the public repository's star count and latest release from the GitHub API, which means GitHub sees the request.
- Mux. The product demo is played through an embedded Mux video player, which loads only when the page containing it is viewed.
Our hosting provider may keep standard server logs (IP address, user agent, requested URL) for security and abuse prevention, as any web server does. We do not use those logs to build profiles.
Data we do not collect
- Your source code, diffs, commits, or repository contents.
- Your prompts, agent conversations, or agent output.
- Terminal contents, command history, or environment variables.
- File paths, project names, branch names, or repository names.
- API keys, tokens, passwords, or any other credential.
- Product source code or local project information is never used for website visitor identification. For US visitors, the website may receive company or US professional contact information from RB2B.
- Precise GPS or device location data.
We do not rent personal data. Service providers process data only for the purposes described in this policy.
Third-party services
AO relies on a small number of services, each only to make a specific feature work:
- PostHog — product analytics for the desktop app, CLI, and website, plus storage of voluntarily submitted waitlist details (privacy policy).
- Expo Push Service — relays mobile push notifications (privacy policy).
- Apple Push Notification service — delivers notifications on iOS (privacy policy).
- Firebase Cloud Messaging (Google) — delivers notifications on Android (privacy policy).
- GitHub — hosts the source code, releases, and this website (privacy statement).
- Mux — serves the demo video on this site (privacy policy).
- RB2B may provide US website visitor and company identification for sales outreach after a US location check (privacy policy). You can use the Retention.com opt-out.
Storage and security
On desktop, all AO state is stored under ~/.ao on your own machine, protected by your operating system's file permissions. On mobile, configuration is stored in app-local storage and the connection password is held in the platform secure keychain rather than in plaintext.
AO Mobile connects over the address and transport (HTTP or HTTPS) you configure. The optional LAN listener that serves the mobile app binds to your network only while you explicitly enable it, and always requires the connection password. Because the server is one you run, you are responsible for securing that machine and the network it is reachable over. We recommend a private network such as Tailscale rather than exposing the daemon to the public internet.
No system is perfectly secure, but because AO holds no central store of your data, there is no AO-side database of user content that could be breached.
Data retention and deletion
- On your devices. Data stays until you delete it. Uninstalling the mobile app, or clearing its data, removes stored settings and the keychain entry and invalidates the push token registered with your server. Deleting
~/.aoremoves all desktop state. - Local daemon telemetry. Retained in a local SQLite database for 30 days, then discarded.
- Anonymous analytics. Retained by PostHog under their standard retention schedule. Because these events carry no identifier tied to you personally, we generally cannot link them back to an individual.
- Waitlist details. Retained in PostHog while needed to notify you about the relevant release or AO Cloud access, then deleted. You may request earlier deletion using the private contact address below.
- Testimonial submissions. Retained while they are reviewed or displayed on the AO website, including the supplied public LinkedIn and optional X post URLs. You may request deletion using the private contact address below.
- RB2B-derived leads. AO retains matched profiles and exported leads for 90 days. Opting out stops future collection but does not by itself erase earlier records. You may request access or deletion using the contact address below.
Your rights
Depending on where you live, you may have rights to access, correct, export, or delete personal data about you, and to object to certain processing — for example under the GDPR or the CCPA/CPRA.
Product data remains in your own hands: delete the app, delete ~/.ao, and it is gone. For anonymous telemetry, the most direct way to exercise control is to turn it off using the settings described above. If you submitted a waitlist email, or believe AO holds an RB2B-derived profile or other data about you, contact us privately at [email protected] to request access, correction, or deletion. You may also use the Retention.com opt-out. Whether RB2B processing constitutes a sale or sharing under a particular US state law depends on that law and the final vendor configuration; the opt-out and contact methods remain available.
Children
AO is a developer tool intended for professional and hobbyist software developers. It is not directed to children under 13, and we do not knowingly collect personal information from children.
Changes to this policy
We may update this policy as AO evolves. Material changes will be reflected here with a new "last updated" date, and the history of every revision is public in the project's git repository.
Contact
Send privacy requests or information you do not want to make public to [email protected]. General questions and corrections can also use these public channels:
- Open a GitHub issue — the fastest route, and the one we monitor.
- Join the Discord — for questions that are not a bug report.
Agent Orchestrator is open-source software released under Apache 2.0 and provided as-is. If this policy and the source code ever disagree, the source code is the truth — and you are welcome to read it.