Pongnado
Privacy policy · last updated 23 October 2026 (the game's usage events now wait for your Analytics choice, and the account events our server notes itself; Blitz needs an account and has its own rating and record; what an account keeps: XP, Bolts, purchases, looks, quests and support notes; the full list of usage events; the “game open now” count and what it sends; the developer panels; error reports from the game; messages from our team in your account; deleting your account yourself; adding an email to a Google account; purchases in the mobile apps; what the mobile apps keep to rejoin a match and place the touch pad; the website and the Android and iOS apps; Sign in with Apple and the Apple token we keep to revoke it when you delete your account; Sign in with TikTok and Facebook and your sign-in methods; how to delete your account, also from the website; the contact email)
Pongnado is an online table tennis game you play on the website pongnado.com and in our Pongnado apps for Android and iOS. The website and the apps are the same game with the same account, and this page covers all of them: what information the game keeps about you and why. We keep as little as we can, we don't show ads, and we don't sell or share your information for marketing.
You can play without an account
Quick Match on Easy and Medium, Practice, Spin Lab and How to play need no account, and you can join a friend's invite as a guest. Your settings and How to play progress are saved only in your own browser. Ranked online matches, hosting a friend match, the World Tour, Arcade, Blitz, the Hard and Pro computer levels and the Control paddle need an account (see below).
What we store when you create an account
You need an account for ranked online matches, hosting a friend match, the World Tour, Arcade, Blitz and the harder computer levels. We store:
- the username and country flag you choose (other players see these);
- your password, only as a scrambled one-way hash (we never see or store the password itself);
- your email address. We use it to send you a link that confirms the address, to reset your password when you ask, and to tell you when your password or email was changed (these links, like invite links, open the game: in our app when it is installed, else in your browser). If you buy Bolts, we email you a receipt. We don't show your email to other players, and we only send you news about the game if you ticked that box when signing up (you can untick it under Account at any time);
- if you use “Sign in with Google”: your Google account's ID and email address, so we can recognise you next time. We don't get your Google password or access to anything else in your Google account, and we don't show your email to other players. Under Account you can add an email to an account you made with Google (used as above), and “Forgot password” with that email lets you set a password, so you can always get back in;
- if you use “Sign in with Apple” (in our iOS app): Apple's ID for your account and the email address Apple gives us, which may be a private relay address that forwards to you. If Apple sends your first name on the first sign-in, we use it only to suggest a username and don't store it. We also keep the refresh token Apple issues when you sign in, only so that we can revoke our app's access at Apple when you delete your account: we do that when you ask for the deletion, and the token is deleted with your account. We don't get your Apple password, and we don't show the email to other players;
- if you use “Continue with TikTok” (on the website): TikTok's ID for you in our app (open ID), TikTok's ID for you across our apps (union ID, so we still recognise you if our TikTok app ever changes), and your TikTok profile picture's address. TikTok's display name is used only to suggest a username and isn't stored. TikTok never gives us your email, so add one under Account (or a second way in) before buying Bolts. We don't keep any TikTok tokens: we read your profile once per sign-in and give the access back at once. We don't show your TikTok picture to anyone yet. If you remove Pongnado in TikTok's settings, TikTok tells us and we delete the picture; your Pongnado account stays. Under Account → Sign-in methods you can add or remove a sign-in method, as long as one way in remains;
- if you use “Continue with Facebook” (on the website): Facebook's ID for you in our app (an app-scoped ID, not your Facebook profile ID), your email only if you allow it, and your Facebook profile picture's address. Facebook's name is used only to suggest a username and isn't stored. Facebook doesn't confirm your email to us, so we keep it with the Facebook sign-in only: it never becomes your account email and never joins accounts by itself, so add an email under Account (or a second way in) before buying Bolts. We don't keep any Facebook tokens and never post anything: we read your profile once per sign-in. We don't show your Facebook picture to anyone yet. If you remove Pongnado in Facebook's settings, Facebook tells us and your Pongnado account stays. To have the Facebook data deleted, use Account → Sign-in methods (remove Facebook), delete your account, or in Facebook open Settings → Apps and websites, remove Pongnado and choose to send a deletion request: we delete the Facebook link (with the email and picture address it holds) and Facebook gives you a confirmation code and a link to a status page on our site. If Facebook was your only way in, the account itself is erased after 30 days, like when you delete it yourself;
- your match results, rating and rank (and your Blitz rating, wins and losses and Blitz win streak once you play Blitz), and when you created the account and last played. Usernames, flags, ratings and results appear on the leaderboards.
- your World Tour results (the best stars and wins against each tour opponent) and the looks you won from its bosses, so your tour progress and rewards follow your account;
- your XP, level, level resets and win streak, how many computer and friendly matches you played (with the daily XP counters that limit them), and when you last changed your username;
- your quests: the daily and weekly quests dealt to you and their progress, the days you played each week, and the quest rewards you claimed;
- your Bolts: the balance, every change to it (earned, spent or bought, with the reason), and the looks you own and have equipped;
- if you buy Bolts: a record of each order (the pack, the price, when it was paid, and Stripe's reference numbers for the payment, so we can find it if you ask for a refund). Your card details go to Stripe only; we never see or store them. In our Android and iOS apps you pay through Google Play or the App Store instead: they handle the payment, and RevenueCat (USA) passes us the store's receipt under your account number so we can add the Bolts; neither shares your card details with us;
- if you write to us or our team acts on your account (a rename request, hiding a name from the leaderboard, a block from online play): private support notes and a log of what our team changed and when.
- messages our team sends you in the game (a gift of Bolts or looks, a warning or a notice) and when you opened them.
Online matches
Online matches connect your browser directly to your opponent's browser so the game stays fast. As with any direct connection, your opponent's device can technically see your IP address during the match. If a direct connection isn't possible, the match is relayed through our server instead.
Technical data
- Our server uses your IP address briefly to limit abuse (too many sign-in attempts or requests). We don't build profiles from it.
- Your browser's local storage keeps your settings, a copy of each signed-in account's World Tour progress on this device (with any tour results not sent yet, for example while you were offline, until our server has them) and, if you're signed in, a sign-in token. We use no advertising or tracking cookies (details below).
- While the game is open, your browser tells our server now and then that it is open (on the menus or in a match, and which kind of match: against the computer, practice, World Tour, Spin Lab, the tutorial, Blitz or online), whether you are signed in and whether it is the website or our Android or iOS app, so we can count how many people are playing right now. It sends the same per-visit random number as the usage events and nothing else. Our server keeps this in memory only, for at most the last hour, and never with your address or account.
- Error reports: when the game hits an error, it sends us the error message, where in the game's code it happened, the page's path (never the rest of the address) and the game version, at most five per visit; no account data (they are sent without your sign-in). We use them only to fix bugs and delete them 30 days after the bug is fixed.
Cookies and local storage
The game sets no cookies of its own. What it keeps in your browser is needed to play, so it needs no consent; the rest runs only if you allow it in the privacy choices banner (shown on your first visit, and from Settings → Privacy → Choices or here).
| What | Why | Needs your OK? |
|---|---|---|
spinrally.settings, spinrally.tour,
spinrally.spinlab, spinrally.played,
spinrally.coach, spinrally.howto,
spinrally.gfx, spinrally.friendFormat (local storage)
|
Your settings, World Tour, Spin Lab and How to play progress, first-games hints, Play a friend's last Standard / Blitz choice, and when your device last ran the detailed room too slowly (so the game starts on the simple room for a while) | No: needed for what you asked the game to remember |
spinrally.auth, spinrally.looks (local storage) |
Staying signed in; your owned looks shown before the server answers. Cleared when you sign out | No: part of signing in |
spinrally.catalog (local storage) |
The list of looks in the store (names, prices, how they are drawn), so new looks show without waiting for the server. Nothing about you | No |
spinrally.online, spinrally.bannerDismissed (session
storage)
|
Rejoining an online match after a reload; an announcement you closed stays closed.
Gone when the tab closes. In the mobile apps spinrally.online is in local
storage instead, so the app can rejoin the match after it was closed: it holds the
match's rejoin ticket, the score so far and both players' public profiles (name,
country, rating), ends a minute after the match was last seen running, and is removed
when the match ends
|
No |
spinrally.mobileNoticeDismissedAt (local storage, phone browsers only)
|
When you last closed the “built for PC, apps coming soon” note on the main menu, so it stays away for two hours. Nothing about you | No |
spinrally.questsSeen.* (local storage, signed in only) |
Which quests you last saw in Quests (their ids, one entry per account on this device), so the menu's Quests button stops pulsing once you have looked and pulses again when something new comes. Nothing else about you | No |
spinrally.padAnchors (local storage, mobile apps only) |
Where the touch pad sits for each screen size (the room the phone's system bars take), so it stays in the same place after the app reloads. Nothing about you | No |
spinrally.stats, spinrally.tune,
spinrally.sway (local storage), spinrally.simnet (session
storage)
|
Only if you open the game's developer panels (the stats panel, the feel and paddle sway tuning panels, the simulated network link): how you left them. Nothing about you | No |
spinrally.internal (local storage) |
Only on the team's own test browsers (set with a special link): their visits are left out of the usage statistics | No |
spinrally.consent (local storage) |
Your privacy choices, so we don't ask again | No |
| PostHog product analytics | Screens opened and a few game events from your browser, see “Usage statistics”. PostHog's script sets no cookies and keeps nothing in your browser's storage: its ids live in memory and are gone when you close or reload the page | Yes: the Analytics switch. Off until you say yes |
Sign in with Google (g_state, g_csrf_token) |
Google's own script sets these on pongnado.com only while you use the sign-in screen, to run the sign-in and protect it | No: part of the sign-in you chose. Google's privacy policy applies to Google |
Sign in with TikTok or Facebook (pn_oauth) |
Our server sets it when you tap “Continue with TikTok” or “Continue with Facebook”, for the sign-in only: it ties the provider's answer to the tab that asked (a random value, no account data), lasts 10 minutes and is read only by our sign-in address | No: part of the sign-in you chose. TikTok's and Facebook's own pages follow their privacy policies |
| Stripe Checkout | Paying for Bolts happens on a page hosted by Stripe; its cookies live on stripe.com under Stripe's policy | Only when you choose to buy |
| Advertising | The game has no ads. If that changes, you will be asked first, and ads will run only with your consent | Yes (not offered yet) |
Usage statistics
If you allow Analytics in the privacy choices, the game records usage events to see whether it works for people (with “Only necessary”, or before you choose, it sends none): a page visit (with the site that linked to it and any campaign tag in the link, but never the full address you came from), the game loading or failing to load, matches (standard or Blitz) started, finished or left (with how long the rallies were, how many balls you missed and, online, the connection delay during the match; for an online pairing: how long you waited and the combined connection delay of the two players to our server, in milliseconds), when the sign-up screen is shown, when invite links are created and opened, which Store and Inventory tabs and looks are opened (with how many looks you own), when the Store asks for an email before you can buy Bolts, the How to play steps you finish or skip, the fullscreen button, the main menu's note for phone browsers being shown or closed, the offer of a computer opponent while you wait for a player, the country you pick, a camera zoom, and in the World Tour the cities you open, the matches you play (opponent, result, stars) and the rewards you see or equip. These events use no cookies and no stored identifier: a random number that lives only in memory groups the events of one visit and is forgotten when you close or reload the page. If you are signed in, the events are linked to your account. Our server keeps them for about 13 months. It also passes them on to our analytics provider, PostHog, with your account ID if you are signed in and the per-visit random number otherwise. What our server passes on carries no IP address, username, email or invite code.
If you allow Analytics in the privacy choices, your browser also sends usage information to PostHog directly: which screens of the game are opened, page-load speed measurements, and game events such as a sign-in, a setting being changed, a level up or the wait for an online opponent. In our mobile apps it also sends: the app opening (and how long until the menu showed), going to the background and coming back (and how long you were away), a link to the game opening the app (whether it was an invite, an email link, the privacy choices or the plain site, and whether it started the app; never the room code or the link itself), what the back button did, the Bolts packs you look at and start to buy with the store's displayed price and whether the purchase went through, was cancelled or failed (an error name, never a receipt or order number) and how long the Bolts took to arrive, whether a sign-in with Google or Apple was started and how it ended, and at the end of each match the frame-time figures of its last seconds (average, slowest 5%, slow frames, render scale and a coarse screen-size range); each event carries the app (Android or iOS), the phone model, the system version and the web-view version. Once per visit, after your first match has run for a while, it also sends a graphics summary: the kind of graphics chip (built-in, graphics card, phone, software or unknown, never its name), the resolution the game chose and your Resolution setting, coarse frame-rate and screen-size ranges (never your exact screen size), and whether edge smoothing, the low-latency display and the detailed room are on (and a short code for why the room was chosen, such as your setting, Data Saver or a slow frame rate). Each visit carries a few general facts (signed in or not, rank tier and level, touch or mouse, graphics setting, game version, browser and device type). Because your browser sends this itself, PostHog receives your IP address with it; PostHog uses it to work out your approximate location (country and city) and keeps it with the event. If you are signed in, your account ID (never your name or email) links these events to your account. PostHog never gets your username, email, exact rating or invite codes, and its script sets no cookies.
Both the usage events of the first paragraph and what your browser sends to PostHog directly (the second paragraph) run only on your consent (Art. 6(1)(a) GDPR). You can withdraw it at any time in Settings → Privacy → Choices; the game then sends no more usage events, events still waiting to be sent are dropped, and your browser sends nothing more to PostHog. PostHog keeps events for up to 7 years under its default retention unless we delete them sooner. If you want the usage statistics linked to your account deleted from PostHog as well, email us from the address below and we will delete them.
Our server still notes a few account and game events itself, because it runs them, whatever you choose: sign-ups, sign-ins (and sign-ins that fail), email, password, username and country changes, linking or unlinking a sign-in method, online matches and the wait for an opponent, XP and level-ups, looks equipped, chosen or bought, Bolts purchases and refunds, quests, World Tour results and rewards, messages and gifts from our team, and deleting your account or bringing it back. It keeps them with the usage events (about 13 months) and passes them to PostHog the same way, linked to your account ID when the event has one (account deletion is noted without it), with no IP address, username, email or invite code. We rely on our legitimate interest in running the game, keeping purchases safe and fixing problems (Art. 6(1)(f) GDPR); the Analytics choice does not change these.
Where it is kept and who can see it
The game runs on a server we rent from Hostinger, located in Germany. Only the people who run the game can access the account database. Google is involved only if you choose to sign in with Google. Purchases in our mobile apps are processed by Google or Apple and, for us, by RevenueCat Inc. under its privacy policy, which sees your account number and the store receipts, nothing else. Usage statistics are processed for us by PostHog Inc. in the EU (Frankfurt, Germany) under its privacy policy and our data processing agreement with it; it sees only what “Usage statistics” describes. Emails are sent for us by Resend (Ireland), which sees the address and the content of each message it delivers, and keeps a record of the delivery for its own operation. We keep a log of what kind of mail we sent you and when, not the message itself.
Delete your account
You can delete your account yourself, on the website and in the Android and iOS apps: sign in, then open Settings → Account → Delete my account (also reached from Profile → Account settings) and confirm with your password, or with your username for an account without one. On the website, sign in at pongnado.com and follow the same steps; pongnado.com/delete-account.html explains them. If you can't sign in any more, email us from your account's email address (see Contact) and we will delete it for you. What happens next is below.
How long we keep it
We keep your account until you delete it (see “Delete your account” above). Your account is hidden from other players at once and you are signed out; if it has a confirmed email, we send you a message with the date it will be erased. If you sign in again within 30 days, the deletion is cancelled. After 30 days we erase your username, email, password, Google or Apple sign-in, country, progress, levels, World Tour results, the usage events linked to your account and any notes or messages about you. Two things stay: your matches, which remain in your opponents' history under the name “Deleted player”, and the records of what you bought and spent (Bolts top-ups, Bolts spending and the looks you own), which accounting law requires us to keep for at least five years. Backup copies of the database are kept only for a limited time, are used for nothing but restoring the game after a failure, and we never bring a deleted account back from them. To ask what we hold about you, email us from the address below. Sign-in sessions expire by themselves after 30 days without playing.
Children
The game is not aimed at children under 13, and we don't knowingly collect personal information from them.
Changes
If this policy changes, we'll update this page and the date at the top. Changes to the game itself are listed under Settings → What's new.
The rules for playing are in our terms of use.
Contact
Questions or requests: pongnado.dev@gmail.com