orchestra / docs
Documentation/Reference

Privacy & usage data

Optional anonymous usage sharing, approximate city and country, and every collected event.

On this page Your choice, off by defaultRandom identity and approximate locationEvery event and propertyWhat is never collectedEnvironment controls and local inspection

Random identity and approximate location

A random installation UUID is created only when you opt in. It is never derived from accounts, GitHub, email, hostnames, or paths. Opting in again after opting out creates a new UUID. Events use $process_person_profile: false, so no person profiles are created.

PostHog estimates city and country from the network connection, then discards the IP before storing the event. The location may be inaccurate or reflect a VPN. Only $geoip_city_name, $geoip_country_name, and $geoip_country_code are retained. Coordinates, postal code, region, and timezone are removed. The existing Orchestra project is hosted in PostHog US.

Every event and property

This inventory is generated directly from the app’s allowlist. Unknown events and properties are dropped in Go, including requests from the webview.

EventProperties and allowed values
app_openedversion: release version; os: darwin, linux; arch: amd64, arm64, other; theme_kind: built-in, custom; arc_mode: boolean
project_addedhas_github_repository: boolean
session_startedagent: claude, codex, pi, vibe, opencode, antigravity, grok, terminal; worktree: boolean; from_github_item: boolean
session_endedagent: claude, codex, pi, vibe, opencode, antigravity, grok, terminal; exit_kind: normal, error, killed; duration_bucket: under_1m, 1-5m, 5-30m, 30m+
feature_usedfeature: scratchpad_read, scratchpad_cli, inbox_execute, inbox_auto_delivery, diff_view, command_bar, emoji_picker
github_actionaction: work_on, review, edit_metadata
update_installedfrom_version: release version; to_version: release version
error_showncode: operation_failed, session_start_failed, session_exit_error

Every event also includes its event name, timestamp, and random installation UUID (distinct_id). Go adds fixed transport properties $process_person_profile: false, $geoip_disable: false, and $lib: orchestra. PostHog adds the three city/country properties above. The project token authenticates the batch without identifying a user.

update_installed is sent when quitting replaces the app with an update you chose to install. Session durations are buckets rather than exact times.

What is never collected

Prompts, code, terminal input/output, Scratchpad text, inbox bodies, file names or paths, project/session/repository/branch names, GitHub item titles or numbers, error messages, credentials, and anything typed by the user are never collected. Orchestra does not use autocapture, session replay, or person identification.

Local logs stay on your machine. Analytics never reads them.

Environment controls and local inspection

DO_NOT_TRACK=1, ORCHESTRA_TELEMETRY_DISABLED=1, CI environment variables, and builds without official release configuration disable analytics regardless of the preference. Settings explains why. Contributor builds, make build, and wails dev contain no PostHog token.

ORCHESTRA_TELEMETRY_DEBUG=1 prints validated, consented events to the local Orchestra log instead of sending them. It does not bypass consent or environment controls. Location enrichment happens in PostHog and is absent in local debug output.

The memory-only queue holds at most 256 events, flushes every 60 seconds or on quit, retries at most three times, and then drops failed events. Each event name is limited to 20 events per minute. There is no analytics file on disk.

Browse documentation

Welcome to OrchestraA macOS workspace for your projects, terminals, and coding agents.
InstallationDownload Orchestra from GitHub Releases, or build it from source.
Projects & sessionsOrganize your work around folders, with an isolated worktree and terminal for every session.
Supported agentsUse the agent CLIs you already know, with their own configuration and credentials.
TerminalA real interactive terminal, running your agent or shell in its own folder.
Sidebar & navigationArrange the sidebar, switch projects with Arc Mode, and keep track of activity.
Saved workspace & resumeReturn to your projects and continue a captured agent conversation.
Issues & pull requestsRead and triage repository context, then start an agent session without leaving Orchestra.
Session messagingExchange requests and replies between existing sessions in the same project.
AppearanceChoose a palette for the whole workspace, including your terminals.
Custom themesCreate your own palette in a JSON file and use it beside the built-in themes.
UsageSee subscription limits for your agents and OpenRouter spend by model.
Settings & storageGeneral preferences and where Orchestra keeps workspace metadata and message history.
Privacy & usage dataOptional anonymous usage sharing, approximate city and country, and every collected event.
Keyboard shortcutsThe everyday actions you can reach from the keyboard.
ContributingReport issues, propose changes, and build Orchestra locally.
FAQAnswers to the questions that come up before your first session.
↑↓ Navigate↵ Openesc Close