Privacy Policy for Echoes
Last updated: September 9, 2026
Introduction
Echoes ("we", "us") helps you search, organize, summarize, and manage your conversations across AI chat platforms (ChatGPT, Claude, Gemini, DeepSeek, Grok, Perplexity, and Google AI Studio). We ship it as two products: a browser extension for Chrome and a desktop app for Windows, macOS and Linux. They share one account and one backend, and they handle a few things differently. This policy covers both and names the product wherever they differ.
This Privacy Policy explains, in plain language, what data Echoes handles, where it is stored, what leaves your device, and who we share it with. Our core design principle is local-first: your conversation content is stored on your own device, and we hold no copy of your chat library.
Three features move conversation content off your device, and the table in Section 1 marks each one. You trigger all three by hand: the Summarize action, the AI Assistant in the browser extension, and highlights in the desktop app. Of those three, only two reach our servers. Summarize sends your conversation to an AI provider you already hold an account with, using your own credentials, and skips us entirely.
1. Summary: What You Should Know First
- Your conversations are stored on your own device. The extension keeps them in your browser's local database (IndexedDB); the desktop app keeps them in a database file in its own folder on your disk. We hold no copy of your chat library, and we do not use it for advertising or model training.
- Echoes reads your conversations using your own logged-in sessions on each AI platform. It calls those platforms directly from your browser using the credentials you are already signed in with. Your conversation data does not pass through Echoes' servers to be fetched.
- Three features move conversation text off your device, and you trigger each one by hand: "Summarize", the "AI Assistant" in the browser extension, and highlights in the desktop app. Each sends only the content that feature needs. Summarize goes to an AI provider on your own credentials rather than to us. See Sections 6 and 6c.
- In the desktop app, the AI Assistant runs on your own computer by default. It downloads a model to your disk and answers there, so your prompts and your conversation titles stay with you. See Section 6b.
- We do not sell your data. We do not use your conversation content for advertising or to train AI models.
- We never collect payment card details. All payments are handled by our payment processors (Gumroad and Stripe).
Every feature, and what we receive
| Feature | Browser extension | Desktop app |
|---|---|---|
| Your conversation text | Stored in your browser. We never receive it. | Stored in a database file on your disk. We never receive it. |
| Loading chats from ChatGPT, Claude, Gemini, Grok and the rest | Your browser asks the platform directly, using the login you already have. We are not in the path. | The app asks the platform directly, using the login you already have. We are not in the path. |
| Your platform logins and cookies | Held in your browser. We never transmit them. | Held in a private login session on your disk. We never transmit them. |
| Search | Runs on your device against a local index. The words you type sync to us so your history follows you. | Runs on your device against a local index. The words you type sync to us so your history follows you. |
| Labels and favorites | We receive the label name and the conversation ID number. No titles, no message text. | We receive the label name and the conversation ID number. No titles, no message text. |
| Projects and folders | Stay on your device. Nothing syncs. | Stay on your device. Nothing syncs. |
| Notes | Not available in the extension. | Saved on your disk with your conversations. Nothing syncs. |
| Highlights | Not available in the extension. | We receive the passage you highlighted, plus about 32 characters either side, so the highlight reaches your other computers. This is conversation text on our servers. |
| Export to JSON, HTML, Markdown or PDF | Built on your device and saved to your downloads. Nothing is uploaded. PDF is desktop only. | Built on your device and saved to your downloads. Nothing is uploaded. |
| Summarize a conversation | The conversation goes to OpenAI on an API key you supply, or to Claude or Gemini on your own login. It never reaches an Echoes server. | The conversation goes to OpenAI on an API key you supply, or to Claude or Gemini on your own login. It never reaches an Echoes server. |
| Echo AI Assistant | Your typed message, your label and project names, and up to 20 matched conversation titles go to our server and on to Google Gemini. Message bodies stay on your device. | Answered by a model running on your own computer, so nothing leaves. If your hardware cannot run one, it falls back to the extension behaviour on the left and tells you so. |
| Your account, settings and usage counts | Stored on our servers: email, account ID, plan, settings, monthly counters. | The same, plus a list of your signed-in machines holding a device ID, the computer name and the operating system. |
| Payment | Gumroad and Stripe handle it. We never see your card details. | Gumroad and Stripe handle it. We never see your card details. |
Three rows send something we can read: the Echo AI Assistant in the extension, desktop highlights, and your account and search terms. Summarize sends your conversation to a provider you already have an account with, under your own credentials, and never to us.
2. Personal Data We Collect
Beyond the local-first and metadata handling described elsewhere in this policy, there are specific moments where you actively provide personal information to us, or where limited technical data is collected automatically.
Personal Data
While using our Service, we may ask you to provide us with certain personally identifiable information that can be used to contact or identify you. The primary example is:
- Email address: collected when you create an Echoes account, sign up for our beta program or waitlist, or contact us for support. We use it to operate your account, send you beta-related communications and any product updates you have requested, and respond to your support enquiries. You can ask us to remove your email at any time (see Section 16).
Usage Data
Usage Data is collected automatically when you use the Service. It may include your browser type and version, the pages of our website you visit, and the time, date, and duration of those visits, along with anonymous feature-usage events within the Extension (for example, that a search or export occurred).
This data is handled as described in Section 10 (Analytics and Error Reporting): it is tied to a random, anonymous identifier, not your name, email, or account ID. Ad personalization is disabled, and your IP address is excluded from our error reports. Echoes is a browser extension and does not operate a mobile app, so we do not collect mobile device identifiers.
3. Data Stored Only on Your Device
The following data stays on your machine, in your browser's local storage for the extension or in the desktop app's own folder on your disk, and we do not receive it:
- Full conversation content : the complete text of messages fetched from the AI platforms you connect, so you can search and browse them offline.
- Conversation summaries : any summaries you generate (see Section 6) are stored locally.
- Search history: your recent search queries (kept locally so you can reuse them).
- Projects and folders that you create in Echoes. These stay on the machine that made them and do not sync.
- Notes (desktop app only) . Notes you write live in the same local database as your conversations and sync nowhere. Deleting the app's folder deletes them, so keep your own copy of anything you cannot lose.
- Downloaded AI models (desktop app only) . The model files for on-device AI sit on your disk. See Section 6b.
- Local caches and preferences: app settings and temporary caches.
You can delete this data at any time by removing conversations from within Echoes, clearing the extension's data, or uninstalling the Extension.
4. How Echoes Reads Your Conversations
To let you search your chats, Echoes retrieves them from each AI platform directly from your browser, using the session you are already logged into on that platform (for example, your existing ChatGPT or Claude login). Echoes does not ask you for the passwords to those platforms, and it does not route this content through Echoes' servers.
Echoes can only access the AI platforms you choose to connect and only while you are signed in to them. You can revoke this access at any time by signing out of the platform or uninstalling the Extension.
5. Data We Store on Our Backend
When you sign in to an Echoes account, a limited set of metadata is synced to our backend (Google Firebase) so your organization carries across devices. With the single exception of desktop highlights, described at the end of this section, none of it is the content of your conversations. It includes:
- Account identifiers : your account's unique ID (Firebase UID) and, for signed-in users, your email address (used to identify your account and subscription).
- Organization metadata : the labels/tags you create, which conversations you have favorited, and which tags are applied to which conversations (referenced by ID, without the conversation text).
- Search history queries : the search terms you have entered (not the conversations they matched).
- Usage counters: monthly counts of how many times you have used features such as search, export, and summarize, so we can enforce plan limits (see Section 9).
- Settings and preferences.
- Your signed-in machines (desktop app only) so you can see and manage them: a device ID, your computer's name, and its operating system.
5a. Highlights (desktop app only)
When you highlight a passage inside a conversation in the desktop app, we store that highlight so it reaches your other computers. A stored highlight contains the text you highlighted, plus roughly 32 characters on either side to anchor it back to the right place in the conversation.
This is the one feature that puts conversation content on our servers. Each highlight is short, and it exists because you selected that text yourself, but we would rather name it here than let "metadata only" cover it. The browser extension has no highlights feature and stores nothing of this kind. If you would rather we held none of it, delete your highlights in the app, or leave the feature unused.
This data is retained while your account is active and is removed when you delete your account (Section 13).
6. AI Features (When Conversation Content Is Processed)
Echoes includes optional AI features. These are the only situations in which your conversation content leaves your device, and they only run when you personally trigger them.
6a. Summarize a Conversation
When you choose "Summarize" on a conversation, Echoes sends the text of that conversation to an AI model to produce a summary. Depending on the platform the conversation belongs to:
- For ChatGPT conversations, the text is sent to OpenAI (model: GPT-4o-mini) using your own OpenAI API key that you configure in settings. OpenAI's handling of that request is governed by OpenAI's terms and privacy policy.
- For Claude and Gemini conversations, Echoes uses your own logged-in session with that provider to generate the summary, then deletes the temporary summary request from that provider afterward.
To keep requests small, long conversations may be trimmed (for example, only the first and last few messages) or split into chunks before summarizing. The resulting summary is stored only on your device.
6b. AI Assistant on your own computer (desktop app)
In the desktop app, the AI Assistant answers on your own machine by default. The app downloads an open-weights model to your disk and runs it there, reachable only from your own computer. Your prompts, your conversation titles and your label names stay with you. Google, our backend and our AI observability provider receive nothing from these queries.
Downloading a model fetches the file from Hugging Face, a third-party model host. That request is a download and carries none of your data.
Two limits are worth stating. If your hardware cannot run a model, or you have not installed one, the app falls back to the cloud path in Section 6c and tells you which mode is answering. And whichever mode answers, the app records a usage count against your monthly allowance, which sends your account identifier and no conversation content.
6c. AI Assistant in the cloud (browser extension, and desktop fallback)
In the browser extension, the AI Assistant runs in the cloud. When you send it a message, the following is transmitted to our backend and then to the AI model:
- The messages you type to the Assistant.
- The names of your labels and projects/folders, so the Assistant can understand which of your labels or projects you are referring to.
- The titles of conversations that match a search the Assistant runs for you, up to 20 at a time, each with its platform, date and message count. The search itself runs on your device; these results go back to the model so it can answer. Titles come from your conversations, so this is conversation-derived text. The messages inside those conversations are not sent.
This data is sent to our backend service (hosted on Vercel), which forwards it to Google's Gemini model (via Vercel AI Gateway) to generate a response. Our backend is pass-through: it does not store your Assistant messages or the AI's responses. The only thing our backend records for this feature is your usage count, to enforce plan limits.
Third-party AI observability (LangSmith): To monitor reliability and debug problems with the AI Assistant, requests to the Assistant are processed through LangSmith, an LLM observability service operated by LangChain, Inc. This tracing may include the messages, responses, and tool actions involved in an Assistant request. LangSmith processes this data on our behalf under its own terms and retention policies.
The AI Assistant can perform in-app actions on your behalf (such as running a search, opening a conversation, toggling a favorite, or resetting filters). These actions execute on your own device. The AI model receives the minimal instruction needed to drive them, such as the search term or a conversation's ID, along with the matched titles described above. The messages inside your conversations are not sent.
We do not use your data to train AI models. The AI providers process your requests to return a result; their own use of the data is governed by their respective policies.
7. Authentication
Echoes uses Google Firebase Authentication to manage accounts. Depending on how you sign in, we may process:
- Your email address and password (password handled by Firebase, never stored by us in readable form), or a magic sign-in link.
- Your account ID (Firebase UID) and subscription/entitlement details (e.g., plan tier and expiry).
- An anonymous account ID if you use Echoes without signing in (used to track free-tier usage limits).
If you choose "remember me," your sign-in credentials may be stored locally on your device for convenience. Authentication state is stored locally in your browser.
8. Payments and Subscriptions
Echoes offers paid plans processed by third-party payment providers:
- Gumroad: for membership/lifetime plans.
- Stripe: for AI add-on plans.
Echoes never receives or stores your credit card or payment details. Those are handled entirely by Gumroad and Stripe under their own privacy policies. We only store the resulting subscription status (for example, plan tier, active/canceled status, and renewal date) so we can grant you the features you paid for.
9. Usage Limits and Quotas
Free plans include monthly limits on certain actions (such as searches, exports, and summaries) and fixed caps on others (such as the number of labels and favorites). To enforce these, Echoes keeps counters of how many times you use each feature. These counters are stored locally and, for signed-in users, synced to our backend. They do not contain your conversation content. If you prefer, quota tracking can be associated with a hashed version of your email rather than your account ID.
10. Analytics and Error Reporting
We use limited, privacy-conscious analytics and error reporting to keep Echoes working reliably. Neither includes your conversation content.
Google Analytics 4 (usage analytics)
- We record anonymous usage events (for example, that a search or export occurred, and roughly how long it took or how many results were returned, grouped into ranges).
- These events use a random, anonymous identifier : not your name, email, or account ID.
- Ad personalization is disabled. Analytics can be turned off remotely and is subject to a kill-switch.
Sentry (error reporting)
- When enabled, Sentry captures error messages and stack traces to help us diagnose crashes and bugs.
- Error reports may include your account ID (UID), your subscription tier, and, if applicable, a Discord handle you have associated for support purposes.
- Error reports do not include your email address, and your IP address is explicitly excluded.
- Error reporting is off by default and is only enabled for specific users (for example, opted-in beta testers), controlled by a remote setting.
11. Browser Permissions and Domains
Echoes requests the following browser permissions, each used for a specific purpose:
- storage: to save your data locally and your preferences.
- cookies: to use your existing logged-in sessions on the AI platforms so it can read your conversations.
- activeTab: to interact with the AI platform page you are currently using.
- notifications: to alert you (for example, when local storage is full).
- alarms: to run periodic background syncs (such as syncing metadata and quotas).
- declarativeNetRequest : to set required request headers when communicating with certain platform APIs.
Echoes operates on and communicates with the following domains: the AI chat platforms you connect (ChatGPT/OpenAI, Claude, Gemini, DeepSeek, Grok, Perplexity, Google AI Studio), our authentication and backend services (Firebase and Vercel), and Google Analytics. Echoes does not inject into or read arbitrary websites. It is limited to the listed platforms and its own service endpoints.
The desktop app
The desktop app needs no browser permissions. It signs you in to each AI platform in its own window, and it keeps each connected account's login in a separate session on your disk so the accounts stay apart. Those logins are used to call the platform directly, exactly as the extension does, and we never transmit them.
Beyond the destinations listed above, the desktop app makes two outbound connections of its own: it checks GitHub for application updates, and it downloads AI model files from Hugging Face when you set up on-device AI. Both are downloads and carry none of your data.
12. Data Sharing
We share data only as necessary to provide the service:
- AI providers (OpenAI, Anthropic/Claude, Google/Gemini): only when you use an AI feature, as described in Section 6.
- Infrastructure and processors : Google Firebase (accounts, metadata sync), Vercel (AI Assistant backend), LangSmith/LangChain (AI observability), Google Analytics (anonymous analytics), and Sentry (error reporting).
- Payment processors : Gumroad and Stripe.
We do not sell your personal data, and we do not share your conversation content for advertising or model-training purposes.
13. Data Retention and Deletion
- On your device: You control this data. Delete conversations within Echoes, then clear the extension's storage or uninstall it. For the desktop app, deleting its folder removes your conversation database, your notes, your saved platform logins and any downloaded AI models.
- On our backend: Account metadata, highlights, device records and quota counters are retained while your account is active and are removed when you delete your account. Soft-deleted items (such as removed tags) are purged after a short cleanup period. We do not set a fixed expiry on active account data.
- Third-party processors: Analytics, error, and AI-observability data are retained according to each provider's retention policies.
Echoes has no self-service delete button yet. To delete your account and everything we hold for it, email us from your account address using the details in Section 16. We will remove your sign-in record, your synced metadata and search history, your highlights, your device list and your usage counters. Ask for written confirmation in the same message and we will send it once the records are gone.
14. Children's Privacy
Echoes is not directed to children under the age of 13 (or the minimum age required in your jurisdiction), and we do not knowingly collect personal information from them.
15. Changes to This Policy
We may update this Privacy Policy from time to time. When we make material changes, we will update the "Last updated" date above and, where appropriate, notify you within the Extension.
16. Contact Us
If you have any questions about this Privacy Policy or your data, please contact us at:
- Email: echoes.support@r2bits.com
- Community: Join our Discord
© 2026 R2Bits LLC. All rights reserved.