Privacy
Privacy Policy
Effective 2 November 2026. This policy covers the Open Desktop Agent desktop app, the Chrome bridge extension, the phone relay and this website.
The short version
- Open Desktop Agent is local-first. Tasks, chats, settings, snapshots and logs are stored on your computer.
- It sends data only to services you configure or use: a model provider, Google Drive when you connect it, MCP connectors, and a phone-relay Worker if you enable phone dispatch.
- The Chrome extension reads and controls only tabs you put in its visible Agent tabs group. It sends page data to the local app over Chrome native messaging, not to us.
- There is no analytics, advertising, tracking pixel or crash-reporting service. The optional “telemetry” setting is a local-only crash-sharing preference; no remote sink exists in the app.
- We do not sell, rent or share personal data for advertising or profiling.
Scope and roles
This policy applies to the Open Desktop Agent application, the Chrome bridge extension, the optional Cloudflare Worker used for phone dispatch, and this policy website. “We” and “the maintainers” mean the Open Desktop Agent project maintainers. “You” means the person using the software.
The app is open source. You can inspect the code at github.com/beniaminp/desktop-agent. If you self-host the relay or use your own model endpoint, that operator’s privacy practices also apply.
Data the desktop app handles
| Data | Why | Where it lives |
|---|---|---|
| Folders, files, git state and task workspaces you connect | To read, edit, run commands and show changes for a task | Your disk; shadow-git snapshots under the app’s data folder |
| Chats, tasks, prompts, tool output, attachments and artifacts | To run tasks and keep your history | Local SQLite database, task folders and the app data folder |
| Model and provider credentials, OAuth tokens | To authenticate the providers and connectors you add |
OS secret store (Keychain, Credential Manager or Secret Service) encrypted with Electron
safeStorage
|
| Built-in browser profile, cookies and imported sign-ins | To browse and use sites you already signed in to | Local Electron profile partition |
| Chrome Agent tabs: URL, title, page content, screenshots and actions | To carry out tasks in your own Chrome profile | Sent by the extension to the local app; not stored in the audit log beyond action metadata |
| Desktop and Android control: screenshots, accessibility trees and input events | To operate the apps and devices you ask the agent to use | Processed locally and returned to the task; not uploaded by us |
| Settings, usage counts and cost estimates | To show your configuration, usage and context meter | Local database and local storage |
| Logs and diagnostics | To troubleshoot; diagnostics are exported only when you ask | Local rotating logs; secrets are redacted |
Sensitive information
The app is designed to ask before risky actions, but it can process sensitive content if you give it a task that involves it. The app does not read password-field values; the Chrome bridge withholds them and gates password, payment and other sensitive controls behind explicit approval. Typing into a password field can still be approved by the user, so avoid giving the agent credentials or access to accounts and files you do not want a model provider to see.
What leaves your device
The app does not operate a general telemetry server. Data leaves your computer only in the following cases, and only as needed for the feature you use:
| Recipient | Data | When |
|---|---|---|
| Your configured model provider or model gateway (for example an OpenAI-compatible endpoint, OpenCode Go, or a local model server) | Prompts, conversation context, relevant files, attachments, page snapshots and tool results needed for the task | When you run a task. Their privacy policy and retention apply. A local model server keeps the data on your network. |
| Google Drive | Artifacts you explicitly save and the folder the app creates; OAuth authorization data |
Only after you connect Google Drive and click save. The app requests the
drive.file scope.
|
| Your phone-relay Cloudflare Worker and Durable Object | Task summaries, approval actions, approval metadata and folder labels; device keys are stored as hashes | Only if you enable Phone dispatch and pair a phone. Disable or unpair to stop it. |
| MCP connectors and OAuth providers you add | Tool arguments and results needed by that connector; OAuth tokens | Only when a task uses that connector or you sign in. |
| The release/update host | App version, platform and architecture as part of an update check | When the app checks for updates or downloads one. |
| Cloudflare Pages (this website) | Standard HTTP request metadata such as IP address, user agent and requested URL, retained under Cloudflare’s policies for security and delivery | When you visit this site. |
We do not receive a copy of your tasks, files, prompts, page content, credentials or logs. If you send us a diagnostics export or a screenshot in a support request, you are choosing to share that material with the maintainers.
Chrome bridge extension
The extension is a bridge, not a browsing-history collector. It is restricted to tabs in the visible Agent tabs group. The full extension policy, including the permissions table and the exact data flow, is at Chrome bridge privacy.
- It reads only Agent tabs: URLs, titles, accessibility/DOM data and screenshots.
- It sends that data to the local Open Desktop Agent app over Chrome native messaging.
- It has no host permissions, content scripts or remote endpoints, and makes no HTTP requests.
- If a task uses a model provider, the local app may include the page data in the task context sent to that provider.
- Uninstalling the extension deletes its local storage. Disconnecting in the popup or revoking pairing stops control immediately.
This website
This site is a static site hosted on Cloudflare Pages. It has no cookies, analytics, advertising, forms or client-side scripts of its own. Cloudflare processes standard request metadata to deliver the site and protect it from abuse, as described in Cloudflare’s privacy policy. The site links to GitHub; visiting GitHub is subject to GitHub’s policies.
Retention
- App data, tasks, chats and snapshots stay until you delete them or remove the app data folder.
- Logs rotate at 5 MB; the main log keeps four files and the host agent log keeps five.
- Pending Chrome approvals expire after about 120 seconds; the extension keeps only local UI state and a random profile id.
- The phone relay keeps at most 200 summary events per room, and only while the Durable Object exists.
- Diagnostics exports are written only when you click export and stay wherever you save them.
- Cloudflare Pages request logs are retained under Cloudflare’s standard policies.
Deletion
See Delete your data for the exact steps for the app, extension, relay, Google Drive and logs. Uninstalling the app does not automatically delete every file it created in your folders or your cloud accounts.
Security
The app uses OS secret storage for credentials, a strict Content Security Policy, a sender-guarded IPC bridge, a folder broker, gated browser and desktop actions, and a pinned Chrome extension id with a local Unix-socket token. No system is perfectly secure. Report vulnerabilities privately through the security page.
Your rights
Depending on where you live, you may have rights to access, correct, delete, restrict or object to the processing of personal data, and to data portability. Because the app is local-first, most data is under your direct control and can be exported or deleted in the app or on disk. For data you have sent to a model provider, Google or another connector, contact that provider. For questions about this policy or a request that involves the maintainers, use the contact route below. We do not sell personal data or use it for targeted advertising.
Children
Open Desktop Agent is a developer and productivity tool, not a service directed to children. We do not knowingly collect personal data from children. Do not use the app to process a child’s data without appropriate consent.
Changes
We may update this policy when the software changes. The effective date at the top will change, and material changes will be noted in the release notes. The current version is always at this URL.
Contact
For privacy questions, open a non-sensitive issue at github.com/beniaminp/desktop-agent/issues or contact the maintainer through github.com/beniaminp. Do not post credentials, private keys, personal data or vulnerability details in a public issue; say that you need a private channel and we will arrange one. Security reports should use the security process.