Legal

Privacy Policy

Last updated 19 August 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 sell or 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. Website analytics stay off until you accept them. 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 the Untrivial-ai project. 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.
  • useao.dev — 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 sent as anonymous PostHog events — no person profiles are created and the app never calls identify(). 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 account, email, or name. Approximate country is derived by PostHog from the connection's IP address; AO itself never sends location data.

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

useao.dev is a static site and runs no advertising. It uses PostHog analytics cookies to understand site usage and improve the experience, but analytics collection is disabled by default until you select Accept. Selecting opt-out keeps collection disabled. The choice is stored in your browser's local storage, no PostHog person profile is created, and session recording is disabled on the marketing site.

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.
  • Names or account information. The only email address or company role we collect is information you voluntarily submit through an optional waitlist.
  • Precise location data.
  • Anything used for advertising, ad targeting, or cross-app tracking.

We do not sell, rent, or share personal data with third parties for their own purposes.

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).

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 ~/.ao removes 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.

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.

In practice, nearly all data AO touches is already in your own hands: delete the app, delete ~/.ao, and it is gone. For the 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 we hold other data about you, contact us privately at [email protected] and we will act on the request. We do not sell or share personal information as those terms are defined under US state privacy laws.

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:

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.