Privacy Policy
Last updated 14 September 2026
How Gods of Pushups handles your data, written by the people who wrote the code that handles it.
The short version
The video never leaves your phone. Camera frames are analysed on the device and thrown away frame by frame. Nothing is recorded, stored or uploaded — not a video, not a still, not a skeleton.
Your account is an identifier, not a profile. Signing in with Apple or Google gives us an opaque user id. We generate your display name ourselves; we never take your real one.
We keep the numbers you earn. Reps, sets, fights, gates — the game is a record of work, and that record is what we store.
No ads, no advertising identifier, and nothing sold. We use one analytics tool — PostHog, hosted in the EU — set up so it cannot follow you: no cookies, no session recordings, no profile of you assembled anywhere.
You can delete everything from inside the app — tap your face in the top corner of any screen, then the cog — and deletion means deletion.
- Who we are
- What the camera does
- What we store
- The waiting list
- Analytics
- What other players see
- Why we are allowed to
- Who else touches it
- How long we keep it
- Your rights
- Children
- Security
- Changes
Who we are
Gods of Pushups is made and operated by TechForce OÜ, a company registered in Estonia. For the purposes of the EU General Data Protection Regulation, TechForce OÜ is the controller of the personal data described here.
Write to privacy@techforce.pro about anything on this page. A person reads that address.
What the camera does, and does not do
The game counts your reps by looking at you through the front camera. That happens entirely on your phone, using a pose model bundled inside the app. Each frame is turned into a set of body-joint positions, used to decide whether a rep happened, and discarded. The next frame overwrites it.
We do not record video. We do not save frames. We do not upload images, stills, thumbnails or joint positions to our servers, and there is no code in the app that could — what crosses the network during a fight is a rep count and a timestamp, and nothing else.
The app asks for camera permission for this and only this. You can refuse it: the rest of the game still works, but reps will not count themselves.
The app does not record audio, and as of 12 August 2026 it does not ask for microphone permission at all — the request was removed, because nothing in the game ever opened the microphone. The only audio permission left is the one Android requires to play sound effects at the right volume.
We do not read from Apple Health or Google Fit, and we do not write to them.
What we store
Your account. When you sign in, Apple or Google gives us a stable identifier for you — a long opaque string — and, if you allow it, an email address. Apple's Hide My Email relay works fine here; we never need to know your real address. We also store which provider you used, when the account was made, and when it was last active.
Your name in the game is one we generate, from a word list. We deliberately drop the real name your sign-in provider offers us, so that a leaderboard can never expose it. You can re-roll the generated name whenever you like.
Sessions. Signing in mints a random token that your phone keeps. We store only a SHA-256 hash of it, the platform it was issued to, and its timestamps. A session lasts up to 180 days, extending while you keep playing; then it dies and you sign in again.
Devices. An identifier generated by the app for your install, the platform, when it was last seen, and — if you turned notifications on — the push token Apple or Google issued for it.
The work you do. This is the game: for each attempt, which boss and which gate, how much of its health you took off, whether you won, when it started and ended, and how many people were in the party. Under that, one row per set: which exercise, how many reps, when, and per-rep timing — how long the descent took, how long you held the bottom, and whether the rep was marked short. Also your progress: which heroes and gates you own, hero levels and XP, and the cosmetic choices you have made. And a per-day total per exercise, with your time-zone offset, so that "today" means your today.
Your friends. Who you are friends with, who asked whom, whether a request is pending, accepted or blocked, and any invite links you have generated. Invite links are codes with an expiry rather than your user id, so handing one out stays a choice you make instead of something anyone can derive from a leaderboard.
Duels. Which two sets were matched against each other, and who won.
Reactions. Which of the five marks you put on which piece of news, one per person per item, and whether the people in that fight have been told. Changing your mind moves your reaction rather than adding a second, and taking it back leaves a row recording that you have been here — which is what stops one person's change of mind sending three notifications.
Reports. If you report another player: who reported whom, the reason you typed, when, and the name that player was going by at that moment. We keep the name as it was because it can be re-rolled in a single tap, and what somebody was called is usually the substance of the report. A person reads these.
Technical data. Our server sees your IP address on every request, as any server does. We use it in memory to rate-limit abusive traffic; it is not written to the database and not attached to your account. The server keeps short-lived operational logs to diagnose faults. They are not used to build any profile of you, and they are not shared.
Cookies. There are none — not in the app, and not on this website. Our analytics saves nothing on your device: what it is about to send is held in memory and is lost when you close the tab or the app. Because nothing is saved, there is nothing here to ask you to accept, and no banner asking you to. Apart from analytics, this website loads nothing from anywhere else: the fonts and images on it are served from this same site. Purchases are the one exception inside the app, and they are set out below.
Three things about the app are worth being exact about. It reads one identifier already on your phone — a random one for this installation, so that a hundred sessions from you are not counted as a hundred people. It is not tied to your name or your email, and deleting the app deletes it. If you switch usage data off, we have to remember that you did, so your answer to that switch is saved on your phone.
And if you buy a subscription, RevenueCat saves a little on your phone too: an identifier for your purchase and a copy of the store's receipt, so the app can tell you are a subscriber without asking the network every time — including when you have no signal. That is what makes it work on a train. It is purchase data, not analytics, and it is not used to follow you anywhere. See Who else is involved.
The waiting list
The list is closed. Gods of Pushups is out, so the boxes that asked for an address are gone from this website and no new address can be added. What follows describes the addresses already on it, which we still hold and have not yet used.
We store the address, the date, and which of the two boxes on the page was used. That is the entire record. No name, no IP address, no country, no browser, nothing that could link the address to a visit — the table it went into has three columns and there is no fourth one to put anything in.
It is used once. One email, telling you the game is out. It is not a newsletter, it is not marketing about anything else, and it is not shared with, sold to or rented to anyone.
The list is not connected to the game. It lives in a Cloudflare D1 database in the European Union, separate from the game's own database, and the app never touches it. If you later make an account, nothing joins the two: we have no way to tell that a player and an address on this list are the same person, and no interest in acquiring one.
Our legal basis is your consent (Art. 6(1)(a)), given by typing the address and pressing the button after being told what it was for. You can withdraw it at any time by writing to privacy@techforce.pro — say "take me off the list" and the row is deleted. You do not have to explain why, and because the address is the only thing we hold, deleting it deletes everything.
The list is deleted after the launch email goes out. Its whole purpose ends there; keeping it after that would be keeping data for a use nobody agreed to.
Joining the list stored nothing on your device — no cookie, no local record that you signed up.
Analytics
We measure how the game and this site are used, because otherwise we are guessing at what to build. The tool is PostHog, on their EU cloud, and it is deliberately set up as the least invasive version of itself.
In the app we record events like a fight being started or finished, which screen you opened, which mode you chose, and errors and crashes. Alongside each one we send the app version, your phone's model, operating system and screen size, its language and time zone, and a rough band for how many reps you have done in total — never the exact number. We also record whether you are signed in and whether you have finished the opening, so we can tell a first session from a hundredth.
Those events carry an identifier for your install, so we can tell one person doing ten sessions from ten people doing one. They never carry your email address, your sign-in identifier or your display name, and the camera is not part of this in any form: how many reps you did is a score and we count it, but nothing the camera sees ever leaves your phone.
On this website we count page views and where visitors arrived from. That is now the whole of it: while the waiting list was open there was one event beyond that, recording which box was used and never the address, and it went when the form did. It is configured to store nothing at all on your device — no cookies, no local storage — which means we cannot recognise you when you come back, and two visits look like two strangers. That is the trade we chose, and it is why there is no consent banner here.
We do not use session recording: nobody watches a replay of your screen. We do not use autocapture, so what you type is never collected. PostHog receives your IP address with each event, as any server does, and uses it to work out an approximate location — country, roughly a city. We do not use it for anything else, and we do not combine any of this with data from other companies.
None of it is used for advertising, and none of it is sold. Our legal basis is legitimate interest (Art. 6(1)(f)) — knowing which parts of a game people actually use. You can turn this off whenever you like: tap your face in the top corner of any screen, then the cog on the page that opens, and switch off Share usage data. Nothing further is sent from that phone. If you would rather write to us about it, privacy@techforce.pro. Turning on Do Not Track in your browser also stops this site from measuring anything.
What other players can see
Gods of Pushups is competitive, so some of your data is shown to other people by design:
- On a leaderboard, your rank, your generated display name, the face you wear and its aura, and your rep total for that board — today, this week, or all time.
- On your player page, which any signed-in player can open: the same name, face and aura, when the account was made, your lifetime reps for each exercise and their total, your current streak, the highest gate you have cleared against each god, the faces you have earned the right to wear, how many duels you have played, won and drawn, your best single duel, and — for the person looking — how the two of you stand against each other.
- In a duel, your live rep count — and if you fight someone's ghost, a set they recorded earlier is replayed against you as a rep-by-rep timeline. A ghost is a series of numbers, never a video.
- Your activity, to your fellows: the fights you finish as you finish them, in the Tavern's news. Each one carries the time, which god and which gate, how many reps, and against whom. A player who can see an item can react to it, and a reaction tells the people who were in that fight who reacted.
One of those is behind a switch, and the rest are not. Your activity is: your face → the cog → who sees your activity, set to your fellows by default and settable to anyone, or to no one at all. Whether another player may ask to be your fellow is a second switch beside it.
Your name, your face, what you have beaten and how you duel are not behind a switch, and we would rather say so plainly than imply otherwise. A leaderboard prints your name, your face and your reps beside a rank, and there is no honest way to rank people privately. If you would rather none of it were shown, the answer is to delete the account.
Your email address is never shown to another player. Nor is your sign-in identifier.
Why we are allowed to do this
Under the GDPR, each thing we do with your data needs a legal basis. Ours are:
- To perform our agreement with you (Art. 6(1)(b)) — running your account, saving your progress across devices, matching you with opponents, showing leaderboards. If you buy a subscription, this also covers checking that it is live so the app can unlock what you paid for, and keeping the record that says so. This is the game working as described.
- Our legitimate interests (Art. 6(1)(f)) — keeping the service up, rate-limiting and blocking abuse, keeping leaderboards readable by rejecting impossible submissions, fixing bugs, and the analytics that tell us which parts of the game are used. We have weighed these against your interests and kept the data involved minimal.
- Your consent (Art. 6(1)(a)) — push notifications, which only happen after your phone asks and you agree. Withdraw it any time in your system settings; nothing else stops working.
How long we keep it
Your account and its history stay as long as the account exists. This is a game about a record over time, and a record that expires is not one.
Sessions expire after at most 180 days of inactivity and are swept from the database. Invite codes expire on their own. Devices that go quiet are cleaned up.
The waiting list is deleted once the launch email has been sent, and any address on it goes sooner if you ask.
Deleting your account deletes it. In the app: tap your face in the top corner of any screen, then the cog on the page that opens, then Delete account. Every session is revoked immediately, and the account row is removed — which cascades to your identity from Apple or Google, your friendships and invites, every set you have ever done, your progress, your daily totals and your push tokens. What remains is the fight rows themselves — a boss, a gate, a result, and how many people were in the party — with no way to attribute them to you. They exist so that the other people in a raid do not lose their history when you leave.
If you have already uninstalled the app, the deletion page sets out how to ask us to do it for you, and exactly what goes.
Deletion is immediate and cannot be undone. The save on your own phone is not ours to remove: it stays on the device until you delete the app.
Your rights
If the GDPR applies to you, you have the right to ask for a copy of your data, to correct it, to have it erased, to restrict or object to how we use it, and to receive it in a portable format. Where we rely on consent, you can withdraw it.
The fastest routes are inside the app: your name is re-rollable, your notifications are a system toggle, usage data is a switch on the account screen — reached by tapping your face in the top corner of any screen, then the cog — and deletion is a button beneath it. The same screen holds the two switches that decide who may watch what you have been doing and who may ask to be your fellow. For anything else, email privacy@techforce.pro and we will answer within 30 days.
If you think we have got this wrong, you can complain to your local supervisory authority. Ours is the Estonian Data Protection Inspectorate (Andmekaitse Inspektsioon), aki.ee.
Children
Gods of Pushups is not intended for children under 13, and in countries where the GDPR sets a higher age for consenting on your own — up to 16 — you need a parent or guardian's permission below that age.
We do not knowingly collect data from children under those ages. If you believe a child has an account, write to privacy@techforce.pro and we will delete it.
Security
Everything between the app and our servers is encrypted in transit. We never see a password, because there are none: sign-in happens through Apple or Google, and we verify the signed token they issue against the provider's published keys. Session tokens are stored only as hashes, so a copy of our database would not let anyone sign in as you. The database is not reachable from the public internet.
No system is perfect. If you find a vulnerability, please tell us at privacy@techforce.pro before telling anyone else.
Changes to this policy
When we change this document, the date at the top changes with it. If a change materially affects what we do with your data, we will say so in the app before it takes effect, rather than quietly editing this page.