Open Hearts — Privacy

What Open Hearts does with what you give it, in plain words.

Last updated 1 November 2026

The short version

Who we are

This policy describes what Open Hearts does with data. It is not part of the terms, and it covers what they cover; "we" are who they say. The code is public, so everything on this page can be checked against what the app actually does.

On your device

The app keeps these on the device you play on — in the browser's storage for play.openhearts.game, or in the app's own storage on a phone:

To remove all of it, clear the data of play.openhearts.game in your browser (and of openhearts.game, where a browser that played before the game moved to play.openhearts.game keeps its earlier copy), or delete the app. That also removes your key, so the device comes back as a new player, until a backup code or your sign-in brings it into your account again.

Playing alone

A game against the bots is played entirely on your device. Nothing about it is sent anywhere.

The phone apps do what the game on the web does when it starts: they ask our service for the game's current settings, which says nothing about you, and make the licence check below. Live play in them works as described below. They do not use New Relic or Google's font servers. After a game you win, they may ask the App Store or Google Play to show its own prompt to rate the app, at most once every four months. Whether it shows is up to the store, and what you choose in it goes to the store, under its own privacy policy; the app is told neither.

Opening the game on the web

Live play

What everyone can see

A live game is played through our relay, relay.openhearts.game, a server that passes messages between apps and keeps each live table's moves in order. It is open: anyone who asks it for a room, a table or the results can read what it carries there, and some of it is kept. In live play:

A friends' table is private in one sense only: strangers cannot sit down at it. What it publishes is as public as any other table.

Where it goes

Only to our relay, which runs on Cloudflare. Every message is signed by the device that sent it, so anyone who keeps a copy can show it is genuine; we cannot delete a copy someone else made.

What only your table sees

The cards are dealt between the seats at the table so that each player's hand can be read by that player alone. Our server plays every bot's seat, so it knows the bots' cards: at a table of one player and three bots, those are every card but the player's, so it could work out the player's hand from them, and we do not. Opening a player's hand takes our server's half of what opens it and another player's half together; our server's half alone is nothing. The hand of a player who leaves mid-hand is opened for the rest of that hand, so that the table can finish. Every move goes through our relay.

Your device connects only to our relay, so the other devices at your table never learn your IP address — not the other players, and not our server that plays the bots. Cloudflare, which runs the relay, sees your IP address, as any server you connect to does.

If nobody else is waiting and you choose to wait for a person, our service emails us that someone is waiting: the pool, the time, and the first few characters of your device's key and of your subscription — never your name or email address. One of us may come and play.

If you report a player, our service emails us your report: what you chose and wrote, the table, the name and picture you saw, your account's number and theirs, and the first few characters of your device's key. The player isn't told. We keep a report for as long as we need it to deal with it, and our service notes for a day that you sent it, so that the same report reaches us once.

Subscribing

Live play is a subscription. On the web it is bought from Link (Sold through Link, LLC), Stripe's affiliate, on Stripe's own page: it asks for your email address, your card and your billing address, which the tax where you live is worked out from, under Stripe's privacy policy.

Subscribing makes an account: a random number, not your name or email. We give Stripe your device's public key so the payment can be matched to it. In return our service keeps a short record: which account the subscription pays for, which device keys are in the account and when each was added, which one is in use now, and the dates the subscription runs to. It also keeps your account's profile — the name, icon, colour and picture you chose — so that every device in the account shows the same ones, and a change on one reaches the others. In Stripe we can see your email address, name, billing address, card brand, the last four digits of your card, and your payments and the tax on them.

That means we could connect a subscriber's email address with their account, and so with the names and results its devices have published. We do not publish that connection, and we use it only to run your subscription.

If you add another device to your account, our service keeps a record of the one-use code you made and which devices made and used it. Any device in the account can see the others' keys, which one is in use, and remove them. Your account plays on one device at a time: opening the game on one makes it the one in use, and the device before it stops playing live until you take it back.

An account also has five backup codes, kept by our service with the account and shown on its devices, with a note of which have been used. If you subscribed on the web, we write to the address you paid with in these cases only: when you subscribe, with what you bought, how it renews, how to cancel, and the codes; with the codes again, whenever a device in the account asks for them; before a change of price applies to your subscription; and when the terms or this policy change in a way that matters to subscribers, to tell you what changed. To do that we read the address from Stripe at that moment and hand it to Cloudflare, which sends the email for us; we do not keep the address, only a note of which changes your subscription was told of, and when. Link also writes to you itself about your payments, such as receipts and a reminder before each renewal, under Stripe's privacy policy.

If you sign in with Apple or Google, we keep a scrambled form of the number they give for your sign-in — not your name or email — linked to your account, so that signing in the same way on another device brings it into the account. Your device keeps only which of the two you used. Apple or Google does the signing in, under its own privacy policy; on the web, its sign-in code is fetched only while a sign-in button is on the screen.

When a subscription is bought, our service emails us which store it was bought in, the first few characters of it, and the dates it runs to, so that we can keep an eye on the service while it is small — never your name or email address.

Telling us what's broken

The menu has a "Tell us what's broken" page. Nothing on it is sent until you press Send, and everything that would be sent is shown on the page first: what you write, which version of the game you have, the kind of device, the app's language and the size of the screen — and, from a game against the bots, that game's record, only if you tick the box for it. Send opens a new issue on our public GitHub page with it filled in. Anyone can read GitHub issues, so leave out anything private.

What we don't do

How long things are kept

Your choices

Where data protection law gives you rights — to see, correct or delete what is held about you, to object, or to complain to your data protection authority — you have them here too.

Children

Open Hearts is not made for children under 13, and the terms do not let them play live, since it shows a name and picture to strangers. If you think a child has published something through it, tell us and we will do what we can to remove it.

On a phone, before you play live or buy live play in the app, the app asks the App Store or Google Play whether you are 13 or older; Google Play also says whether a parent or guardian has approved the app's latest changes, or needs you to confirm your age. Whether a store can answer, and whether it asks you first, is up to the store. The app uses the answer only to decide whether live play is open to you, then forgets it: it is not kept on your device, and is never sent to us or to anyone else.

Changes

If what the app does with data changes, this page changes with it, and the date at the top moves. A change that matters to subscribers is told to them by email and in the app, as the terms say. Its history, and the code's, is on GitHub.

Contact

For a privacy request — a copy of what our service keeps about your account, or deleting it — or any other question about this page, email help@openhearts.game, or write to us at the address in the terms. So that we can find what is yours, tell us the name you play under and, if you subscribed on the web, the email address you paid with.