Privacy

Privacy Policy

Ohiyo is built around a simple promise: the hosted server should not be able to read your private messages. This policy explains what the official hosted service at ohiyo.gg, app.ohiyo.gg, and ohiyo-server-production.up.railway.app handles. If you self-host Ohiyo, your host controls its own data practices.

For a more technical, honest boundary of what Ohiyo protects and what metadata remains, read the public privacy threat model.

What we collect

What we cannot read by design

Ohiyo offers end-to-end encryption for DMs and group chats, turned on per conversation. For those conversations the hosted server stores and relays ciphertext and does not receive the plaintext. Server channels, polls, and conversations where encryption is off are stored on the server in readable form. Some metadata remains necessary to operate the product, such as usernames, server/channel membership, timestamps, routing information, file records, and moderation/admin state.

How we use data

We do not run advertising, sell personal data, or add third-party analytics trackers to the landing page.

Backups and retention

The hosted production database and uploads are stored on Railway infrastructure. A copy of the database (not the uploads) is kept in Cloudflare R2 storage and updated every ten seconds, so the service can be restored if the server's storage is lost. The copy holds what the database holds, in the same form: messages in end-to-end encrypted conversations stay ciphertext. Something changed or removed from the live service can stay in that copy for up to three days. Ephemeral logs and staged import files may be retained only as needed for operations, safety, debugging, or legal requirements.

Optional paid hosting

Where paid Instant Servers are enabled, Stripe handles checkout, payment details, invoices and the billing portal under its own privacy policy. Ohiyo sends Stripe account and instance identifiers, not message content or encryption keys. Ohiyo stores Stripe customer, subscription and checkout identifiers, plan status and billing timestamps; it does not receive full card details. Managed community machines use Fly infrastructure where configured; paid hosting is not available on every deployment.

Deleting a hosted server or account first closes pending checkouts and cancels subscriptions. If payment or hosting services fail, deletion stops and can be retried; cancellations or server removals already completed are not rolled back. Billing records and processed event identifiers remain after account deletion to handle late payment events and operational or legal obligations. Stripe customer and invoice records are not erased by deleting an Ohiyo account; contact us about billing-data retention. Exported server databases and uploads may include readable server-channel content and unencrypted files, not just ciphertext.

Your choices

Links to other sites

A YouTube link or a link to a post on X in a chat shows a play button. The player is only loaded when you press it, and then your browser loads the video or post directly from YouTube or X, under their own policies. In chats that are not end-to-end encrypted, Ohiyo also shows link previews: the Ohiyo server reads the linked page's title and description, and your browser loads the preview picture (for a YouTube link, the video's picture) from the site it lives on. End-to-end encrypted chats show no previews, so nothing is fetched there until you press play or follow a link.

The GIF picker searches KLIPY, when GIF search is switched on for the service you use. Your search goes from the Ohiyo server to KLIPY, so KLIPY doesn't get your IP address or any id of yours with it. The GIF previews in the picker, and GIFs people send, load from KLIPY's servers in your browser, like any picture linked in a chat, so KLIPY sees your IP address then. Encrypted chats offer no GIF picker.

Third-party providers

Ohiyo currently relies on these providers. Railway hosts the app, the server, the database and uploads. Cloudflare stores the copy of the database described under Backups and retention, and provides the relay for calls that can't connect directly. GitHub hosts this website, the source code and the desktop releases. Porkbun provides the domain name. Their processing is governed by their own terms and policies.

One thing in the app reaches Google: when you join a call, it asks Google's public STUN servers how your device can be reached. Google sees your IP address, not your messages or your call. The app's typefaces ship with the app, so opening Ohiyo doesn't contact Google Fonts. Calls connect directly between the people in them whenever they can, so the people you call can usually see your IP address too.

Some networks don't allow a direct connection. Then Ohiyo can pass the call through a relay run by Cloudflare. Cloudflare sees the IP addresses of the people in the call and carries its sound and video, which stay encrypted between them, so Cloudflare can't hear or see the call.

Changes

We may update this policy as the service moves from launch to broader availability. Material changes will be reflected on this page.