Legal
Privacy Policy
Last updated 18 October 2026
OvertChat is open-source software that runs on a server you choose. The short version: we do not operate a hosted chat service, and the server you use is governed by whoever operates it—which may be you. If you use the optional OvertChat Cloud, we also hold a small account record, described below.
What OvertChat is
The mobile app is a thin client. On first launch you enter a server URL—usually one you self-host, but it can be any compatible deployment. Your chats, messages, projects, and uploaded files live on that server, not on our infrastructure. We do not operate a hosted chat backend.
What the app sends to your server
Except for crash reporting and optional push notifications described below, the app communicates with the server URL you configured, over HTTPS or HTTP, in order to:
- sign you in and keep you signed in (a session cookie stored locally on your device),
- send your messages, attachments, voice dictation, and realtime voice audio to your server so it can use the speech and language model providers configured by its administrator,
- load chat history, projects, and settings you have created on that server.
How that server stores, retains, or shares that data is governed by whoever administers it—that is a separate policy from this one. If you self-host, you are that administrator. Local providers can keep processing on infrastructure the administrator controls; hosted providers receive the requests routed to them under their own policies.
What is stored on your device
- The server URL you entered (in device secure storage).
- Your auth session cookie (in device secure storage).
- Your appearance, chat font, and web-search toggle preferences.
- Notification preferences and, if enabled, a push registration identifier and token.
- Cached image previews and temporary copies of files you select, which the operating system may retain in the app cache until cleanup or uninstall.
You can sign out and change the server from inside the app. Uninstalling removes ordinary app data, but iOS may retain secure storage entries in Keychain. Removing the app does not delete your account or conversations from your server; contact its administrator to manage that data.
What we collect
We—the publisher of the app—do not operate a hosted OvertChat backend, and your chats never pass through our servers in readable form. The app and project website do not include usage analytics or advertising SDKs.
We receive limited crash diagnostics through Sentry when crash reporting is configured in the distributed app, and hold an account record if you use OvertChat Cloud, as described next.
OvertChat Cloud
OvertChat Cloud is an optional service that gives your server a public address such as name.overtchat.app. It has two parts: an account site at account.overtchat.com, and a relay that forwards visitors to your server. Using it is subject to our Terms of Service.
When you create an account, we store:
- the name, email address, and profile picture link from your Google account. We do not keep Google's access tokens.
- your sign-in sessions, with the IP address and browser they came from. A session ends when you sign out or after 30 days without use.
- your server's name, a hashed connection credential, and when it was linked, first connected, and last connected.
The relay forwards encrypted connections to your server without decrypting them, so it cannot read pages, chats, passwords, or files. It sees your server's name, visitors' IP addresses (which it passes on to your server), and when connections happen and how much data they carry. It does not log visitors' IP addresses. The relay's code is public at github.com/yoloyash/overtchat-relay, with instructions for checking this yourself.
Your server's address is public. Its HTTPS certificate is issued by Let's Encrypt and, like every public certificate, recorded in public Certificate Transparency logs.
The account site runs on Cloudflare, which keeps short-lived request logs we use for troubleshooting. The relay runs on a server rented from Hetzner. We do not sell or share account data with anyone else.
You can delete your account at any time from account.overtchat.com. Deleting it removes your account and turns off your address. If your server ever connected, we keep its name and your Google account identifier for 7 days so no one else can take over the address straight away, then delete them.
Project website hosting
The project website at overtchat.com is delivered through Cloudflare. When you visit, Cloudflare processes ordinary web request data such as your IP address, browser and device information, requested URL, and request time to deliver and protect the site.
We do not add web analytics, advertising trackers, or analytics cookies to the site. Cloudflare handles request data under its own privacy policy. This website hosting is separate from your chats: visiting the project website does not send your conversations, account credentials, or configured OvertChat server URL to us.
Crash reporting (Sentry)
When the app encounters an unhandled error or crashes, it may send a diagnostic report to Sentry, a third-party error monitoring service, so we can fix bugs. A report may contain:
- the JavaScript error and stack trace,
- device model, OS version, and app version,
- a randomly generated install identifier (not tied to your name or email).
- recent network request metadata, which may include the configured server URL, HTTP method, and status code.
Sentry is initialized with default PII collection disabled. The app does not intentionally attach chat or attachment contents, session cookies, API keys, or other credentials to crash reports. Because reports capture diagnostic context, we do not make an absolute guarantee that user-provided data can never appear in an error message.
Sentry is governed by its own privacy notice and security information. If you would prefer no crash reports leave your device, you can build the app from source without the Sentry DSN configured.
Push notifications
Notifications are optional and off until you enable them. The app registers with Expo Push Service and sends its push token and a registration identifier to your configured server, which associates them with your account to deliver chat-response and agent-idle notifications. Expo handles push registration information to route notifications through Apple Push Notification service on iOS or Firebase Cloud Messaging on Android.
Notification payloads include identifiers used to open the relevant chat or agent session. Message previews are off by default. If you enable previews, a response excerpt or agent-session name is also sent through the push services and may appear on your lock screen. You can disable previews or notifications in the app settings.
Expo states that notification contents are held only as needed for delivery. See its push notification privacy information and privacy policy.
Server version checks
When an administrator opens the account menu, an OvertChat server may request the public release manifest from overtchat.com to determine whether a newer server version is available. The result is cached for 12 hours. The request does not include an instance identifier, account information, server configuration, chat data, or the installed version.
Cloudflare processes ordinary request data such as the server IP address and request time when delivering the manifest. Server operators can disable version checks by running overtchat setup and choosing No for “Automatically check for updates?”. Manually managed deployments can set DISABLE_UPDATE_CHECK=true.
Permissions and why we ask for them
- Microphone—used only after you start dictation or a realtime voice conversation. Dictation is sent to your server for transcription when you stop recording and is deleted from the mobile app cache afterward. During browser realtime voice, audio streams to your server while the session is active; its transcript is saved there as a chat.
- Camera—used only when you choose “Take Photo” to attach an image to a message.
- Photos / Storage—used only when you pick an image or document to attach to a message.
- Foreground Service / Media Playback—used so audio playback (text-to-speech) does not cut off when you switch apps.
None of these permissions transmit data simply by being granted. Data selected through them leaves the device only when you choose an app action that uses it—for example, selecting an attachment uploads it to your server, and stopping dictation sends the recording for transcription. Realtime microphone streaming stops when you mute or end the voice session. Crash diagnostics and optional push notifications are separate data flows, described above.
Children
OvertChat is not directed at children under 13. We do not knowingly collect personal information from children. Crash reporting handles limited technical diagnostics as described above.
Changes to this policy
If we change this policy, we will update the “Last updated” date at the top of this page. The change history is visible on GitHub.
Contact
Questions or concerns? Email support@overtchat.com or open an issue at github.com/yoloyash/overtchat/issues.
OvertChat is open source under the MIT license. Source code is at github.com/yoloyash/overtchat.