Privacy Policy
Last updated: 3 November 2026
PointCall is a padel scoring app for iPhone, iPad, Android, Apple Watch, and Wear OS. This policy explains what information the apps and our supporting services handle, why, and what choices you have. We have written it to be read, not skimmed past.
1. Who is responsible
PointCall is operated by BLVR (Pty) Ltd, a company registered in South Africa and the “responsible party” for the purposes of the South African Protection of Personal Information Act, 2013 (POPIA). You can reach us at support@pointcall.app for any privacy question, request, or complaint.
2. What we collect, and why
2.1 Data on your device
The following are stored locally on your phone, tablet, or watch using on-device storage. They leave your devices only in the cases this policy describes: live match sharing (§2.2), the Pro cloud archive (§2.3), the anonymous diagnostics in §2.5 (such as a match's format and length, never player names), a premium voice reading the score (§2.6), feedback you choose to send us (§2.8), an americano you share or score (§2.10), a rated event or match you claim (§2.11), and a result card or result text you send through your device's own share sheet — that goes straight to whichever app you pick, and PointCall's servers are not involved:
- Player names you type during onboarding or in settings.
- Match history — scores, sets, format, duration, dates.
- App settings such as voice preference, format defaults, and your remote button mode (single- or dual-button).
- Watch connection state and the current match snapshot needed to show and control the score on your paired watch.
Apart from those anonymous diagnostics, none of this is uploaded unless you use one of those features: uninstalling the app deletes it, and we have no copy. The server-side copies described in §2.2, §2.3, §2.10 and §2.11 are separate — uninstalling does not delete those, which is why the app gives you a direct way to delete yours (§6). Feedback (§2.8) is deleted on request (§10).
2.2 Live match sharing (optional, any plan)
If you tap Share on a match, that match — the score, format, and the player names you typed for it — is uploaded to our servers (Google Firebase) and kept up to date while the share is live, so the people you send the code to can follow along. This only happens for matches you explicitly share. Shared match records are deleted automatically 30 days after their last update, and you can delete all of yours at any time from inside the app (§6). Share codes themselves expire within hours; the 30-day window just keeps the final score viewable for people you sent it to. To stop abuse, creating and looking up share codes is counted per anonymous ID and per network: as for americanos (§2.10), we store a keyed hash of the network address, never the address itself, and delete those counters within three days.
2.3 Cloud match archive (Pro only)
If you subscribe to Pro, your completed matches — including the player names you typed — are copied to a private cloud archive tied to your install's anonymous identifier. When you subscribe, matches you already played on this phone are copied too. Only you can access this archive; it is not shared with other users. Being honest about its limit: unless you sign in (§2.11), the archive is tied to this install — it cannot follow you to a new phone, and restoring it works only within the install that wrote it. If you sign in, it is tied to your account instead. Your archive is kept until you delete it, which you can do at any time from inside the app (§6).
2.4 Optional watch workout and Health data
On Apple Watch and supported Wear OS watches, PointCall can run an optional Tennis workout while a match is active. Before requesting access, the watch explains what it needs. If you grant permission, PointCall may access physical activity or activity-recognition data and heart rate where the watch and permission level support it. The watch or operating system may also calculate workout duration and active calories from the session.
PointCall uses this data only to run the match workout, show its local status, credit supported activity features, and help keep watch scoring reliable while the app is in the background. It is not used for advertising, analytics, profiling, medical advice, diagnosis, or treatment. PointCall is not a medical device. Scoring continues to work if you choose Not now, deny permission, or later revoke permission.
Health and workout data is processed on your devices. It is not sent to PointCall servers, Firebase, RevenueCat, advertising services, or other analytics services. On Apple Watch, a completed workout may be saved to your local Apple Health store, subject to your Health permissions and Apple Health settings. On Wear OS, PointCall currently uses Android Health Services during the active workout and keeps only a small local summary containing the end time, duration, exercise type, calories where available, and the latest heart-rate value where available. PointCall does not currently write this Wear OS data to Health Connect or Samsung Health.
You control Apple Health records through Apple Health. The small Wear OS summary and PointCall's local workout preferences are removed when you clear PointCall's app data or uninstall the watch app. We have no server copy to identify, retrieve, sell, or delete.
2.5 Anonymous diagnostics
The app uses Google Firebase to keep itself stable and to understand which features are actually being used. Firebase identifies each install with random app identifiers that reset if you reinstall the app or clear its app data. On Android, Google Play services can also make the device's advertising ID available to Firebase Analytics. We do not link any of these identifiers to your name, email, IP address, or device serial number, and we do not use them for advertising or cross-app tracking.
| Data | Why |
|---|---|
| Crash reports (Crashlytics) | Diagnose and fix crashes. Includes stack traces, OS version, device model. Does not include your match data or player names. |
| Anonymous product analytics | Counts of events such as “match started”, “onboarding completed”, “paywall shown”. Player names, team names, and match scores are never included. |
2.6 Cloud voice synthesis (Pro only)
If you subscribe to Pro and choose a premium voice, the app sends, ahead of time, the sentences the umpire may say next (for example, “Smit and van Wyk lead one set to nil, three games to two, thirty–forty”) to our Firebase Cloud Function, which forwards it to Google Cloud Text-to-Speech. The audio that comes back is cached on your device so the same phrase can later play offline. Custom announcements include the player names you typed, because that is the feature you are paying for; if you do not want your names synthesised, switch back to a standard voice in Settings.
The text of a request is processed transiently to generate the audio. The generated audio clips themselves are cached on our servers, keyed by the content of the sentence — not by your identity or install — so a phrase that has been synthesised before can be served again without re-generating it. We do not keep a log of which sentences your install requested.
2.7 Subscriptions and billing
Purchases are processed by Apple (App Store) or Google (Google Play) under their own terms and privacy policies. PointCall never sees your payment details. We use RevenueCat as a subscription gateway: it receives a random identifier (the app's anonymous ID, or your PointCall account's ID if you sign in) and the receipt from the store so that we can confirm your entitlement to Pro features and let you restore purchases on a new device.
2.8 Feedback you send us
If you use Send feedback in the app, we receive what you write, any photos you choose to attach, and — so we can act on it — your anonymous identifier (your PointCall account's ID if you signed in), app version, device model, operating system version, and language setting. If you tag the note as a problem, it also carries a short summary of your last three matches (format, score, and timestamps — never player names) so we can reproduce what went wrong. Photos are stripped of their location metadata before upload. Feedback is stored in Firebase, read by us, and kept until we've acted on it; it is write-only from the app (no other user can ever see it). Send feedback is entirely optional — nothing is collected unless you tap Send.
2.9 The website
The pages at pointcall.app and rallyo.co.za (the same site under both addresses) carry their own, separate handling from the app:
- The live match page (/join) and its TV view sign your browser in anonymously with Firebase Authentication — a random ID kept in your browser's own storage — so it can read the one match whose code you opened. We do not collect your name or any contact details to show you that page.
- The americano event page (/e/…) and its TV view (/tv) sign your browser in the same anonymous way; what they show and keep is in §2.10.
- On a rated event or match, the event page and the live match page can offer Continue with Google to claim your result, and /rating shows your rating and history once you sign in there. Google's sign-in window opens from Google, under Google's own terms, and your browser then stays signed in to your PointCall account until you sign out (§2.11). The pages also remember your last answer to a rated match in your browser's own storage.
- The site uses Cloudflare Web Analytics to see how many people visit. It is cookieless and does not use any persistent identifier — it counts page views in aggregate and does not identify you individually.
2.10 Americano events (beta)
An organiser can run an americano, a social padel event with rotating partners, and share it with a link. Nothing about the event reaches our servers until the organiser shares it; by sharing the link, the organiser confirms that the players know their first names will show on it. From then on our servers (Google Firebase) keep, and show to anyone who has the event's link or code:
- the event's name, club, date, courts, format and scoring;
- each player's short public name: their first name, with the first letters of the surname (or a number) only when two players would otherwise look the same. Full names are never stored with the event or shown on its page; when the organiser's phone scores a court with a premium voice, the sentences it sends to be synthesised can include them (§2.6). For a Mixed event, also whether each player is in the men's or the women's group;
- the rounds, results and standings, and the scores players report from the link, each with its time and the anonymous ID of the browser or phone that sent it.
The organiser's and co-organiser's phones, and every browser that opens the link, are signed in anonymously with Firebase Authentication: a random ID, with no name or contact details, unless someone signs in to run or claim a rated event (§2.11). To stop abuse we count requests per network. We store a keyed hash of the network address, never the address itself, and we delete those counters within three days. On the event page anyone can replace a player's name with its first letter (Hide my name on this page), except a name a player has claimed in a rated event, which only that player or an organiser can hide. This cannot be undone. The page remembers who you are only in your browser's own storage.
When a phone scores a court live in the app, it also sends that court's point log when the match ends: which team won each point, which player served, when, and whether the point was tapped on the phone, a remote or a watch. Only the event's organisers can read it, and, in a rated event, a player who claimed their name and played that match can get a copy in their history (§2.11); it is not shown on the event page.
The organisers' private copy. Once an event has finished, our servers also keep a private copy of it, so that its organiser keeps the event and its results in the app after the public page is gone: the details, short public names (a hidden name only as its first letter), rounds, results and standings listed above, the point logs, and the organisers' anonymous IDs, kept up to date with later corrections. The organisers' app does not show point logs yet; they are kept so the event's matches can be shown point by point later. An event that is never finished is copied when its public page expires (§5). Only the organiser and the co-organisers can read the copy, and the app shows it to the organiser who created the event; removing a co-organiser while the event page is still up removes their access. It is never public, and it does not expire with the public page: it is kept until the organiser deletes the event or deletes their cloud match data (§6). The app no longer shows an event that was never finished once its page has expired, so only Delete cloud match data removes that copy. Hide my name on this page changes the copy too while the event page is up; after that, ask us (§10) to remove a name from it.
2.11 Accounts, ratings and your history (optional)
A PointCall rating is optional, and it is the only thing you need an account for. In a rated americano, or a match whose scoring phone has Rated match on, players claim their name or their seat, in the app or from the event or match link, by signing in with Google or Apple, where the app or the page offers it. The organiser of a rated event and the phone scoring a rated match sign in too. Signing in on a phone turns that install's anonymous ID into your account, so its shared matches, archive and events stay with you; if you already have an account, they are moved into it.
What we keep:
- Your account. Firebase Authentication keeps your Google or Apple account's ID, when you signed in, the email address that account gives with the sign-in (Apple may give a relay address instead of your email), and, from Google, your name and the link to your profile picture. PointCall shows the email only to you, in Settings → Account, and keeps the name and the picture link with your account without showing them. Other players never see your email.
- Your profile and rating. The name your profile starts with (the short name you claimed, or for a match the first word of the name typed for your seat), the level you gave on your first claim if you gave one, and your rating with the figures it is worked out from, such as how many rated matches it rests on.
- Your claims and answers. Which name or seat your account holds, when, and whether you claimed it yourself or it was carried for you (by a link, below, or by a Rematch); for a rated match, whether you confirmed its result or said it isn't right. An event's organisers, and the phone scoring a match, see which names or seats are claimed, when, and your PointCall account's ID, never your Google or Apple ID, your email or the name on that account. Anyone who can open a rated match sees whether each team has confirmed and which seat said the result isn't right. If an organiser or the scoring phone removes your claim, we keep your PointCall account's ID with that name or seat so the claim can't be made again there; it goes with the event or match.
- Your history. A copy, in your account, of each rated event and match you claimed, once it has been rated: for an event, its name, club, date, format, final table and the matches you played; for a match, the score, the points and who confirmed it; how your rating moved, match by match; and, where PointCall scored the points, the point log (§2.10). It names the other players as the event or the match showed them (a player who claimed can appear under the name on their profile), and it keeps those names after the event or match itself is deleted. It can still change, or a record go, until that event's or match's ratings are final.
- Links with organisers. When you claim a name in an organiser's event, we keep a link between your account and theirs, so that their next rated event can claim your name for you (a Pro feature); their phone keeps the link next to the name they typed for you. Saying Not me in one of their events, their removing your claim, or either of you deleting your data ends the link.
- A rated match's result. When a rated match ends, its result and the players' names as the scoring phone showed them are kept so that its claimed players can confirm them, and its point log so that it can go into their history (§5).
Ratings and history are never public: no event page, live match page or TV shows your rating to anyone but you, and only you can open your history. Other players see a ✓ beside a claimed name or seat. You can share your rating yourself, on your share card.
If you play in a rated event or match, the players who claimed keep their own copies naming you as the event or match showed you, until they delete their account or their cloud match data, even if you never sign in. For an americano, Hide my name on this page also changes those copies while the event's ratings can still change (normally until 7 days after it finishes); after that, ask us (§10).
Accounts and ratings are for people aged 16 or over (§7). Signing out deletes nothing: your account stays until you delete it, and your rating and history until you delete your account or your cloud match data (§6).
2.12 Strava (optional, Pro)
If you connect Strava in Settings, PointCall posts the matches you finish or leave on this phone (from ten minutes of play), and any you send from Match details, to your Strava account as Padel activities: when the match started, how long it lasted, the score, the format and the team names as you typed them. Strava asks for your permission on its own screen first. It asks to upload activities, and to read them: we read your activities only to check whether a match we sent already arrived when Strava's answer was lost. We keep the connection on our servers (your Strava athlete ID and the access keys Strava gives us, never your Strava password) and a record of which matches we posted, so that sending a match again updates it instead of posting it twice. Heart rate and other Health data are not sent to Strava (§2.4).
Once an activity is on Strava, Strava's privacy policy and your Strava privacy settings decide who sees it, and you can edit or delete it there. Disconnect in Settings asks Strava to withdraw PointCall's access and deletes the connection from our servers. It keeps the record of posted matches, so that connecting the same Strava account again does not post them twice. Delete cloud match data (§6) deletes the record too. If the app says Strava did not confirm, you can remove PointCall under My Apps in your Strava settings. Activities already posted stay on Strava until you delete them there.
3. What we do not collect
- No account unless you sign in for a rating (§2.11), and then only what your Google or Apple sign-in gives us. No phone number or postal address for you. (Player names you type reach our servers only as §2.2, §2.3, §2.6, §2.10, §2.11 and §2.12 describe.)
- No location tracking — the app never asks for or uses your device's location.
- No ads, no third-party advertising SDKs, and no cross-app tracking: no identifier is used for advertising (see §2.5).
- No microphone access. The app speaks; it does not listen.
- No contact list or calendar access. The photo library is touched only if you attach photos to a feedback message (§2.8) — never otherwise.
- No Health or workout data is transmitted to PointCall servers or used for advertising, analytics, or profiling.
4. Where data is processed
What reaches our servers (§2), accounts included (§2.11), is stored and processed by Google Firebase on Google Cloud, as are diagnostic and voice-synthesis requests; entitlement records are processed by RevenueCat, and the website is hosted and measured by Cloudflare (§2.9). These services may store and process data in regions outside South Africa, including the European Union and the United States. We rely on those providers’ standard contractual safeguards for cross-border transfer under POPIA and equivalent frameworks.
5. How long we keep things
- On your device: as long as the app is installed.
- Apple Health workout records: controlled by you through Apple Health and retained according to your Apple Health settings.
- Wear OS workout summary: until PointCall's watch app data is cleared or the watch app is uninstalled.
- Shared match records (§2.2): deleted automatically 30 days after the match was last updated — or immediately, if you delete your cloud match data from inside the app (§6).
- Americano events (§2.10): the public event is deleted automatically about 30 days after the event was last updated, or at once when the organiser deletes it or deletes their cloud match data (§6). We then keep only a record that the event's ID existed, with no names or results, so that the ID is never reused. Its code is released after 60 days. Network counters are deleted within three days. The organisers' private copy of the event and its point logs (§2.10) does not expire: it is kept until the organiser deletes the event or deletes their cloud match data (§6). If the organiser uninstalls the app first, the app may no longer be able to delete it; ask us (§10) and we will.
- Cloud match archive (§2.3, Pro): kept until you delete it from inside the app (§6) or ask us to (§6); we don't expire it for you. Tied to the install that wrote it, or to your account if you sign in (§2.3).
- Your account, profile, rating and history (§2.11): kept until you delete your account, from Settings → Account in the app, on /rating on the website for a Google account, or by emailing us (§6); Delete cloud match data also deletes your profile, rating and history. Signing out or uninstalling the app does not delete them.
- Claims and answers (§2.11): a claim on a name goes with the public event (about 30 days after its last update), or sooner if you let go of it, an organiser removes it, or the organiser switches ratings off before the event finishes. A claim on a seat, and your answer to its result, go with the rated match.
- A rated match's result and point log (§2.11): deleted within about 30 days after the match can no longer be answered (7 days after its result was first sent, or up to 14 days when the result changed), and kept longer while ratings are paused.
- Links with organisers (§2.11): until you say Not me in one of that organiser's events, they remove your claim, or either of you deletes your data.
- Strava connection (§2.12): until you disconnect, delete your cloud match data or delete your account. The record of matches posted to Strava: until you delete your cloud match data or your account.
- Crash reports: up to 90 days, per Firebase defaults.
- Anonymous analytics events: up to 14 months.
- Cloud voice cache (server side): generated audio clips are cached indefinitely, keyed by sentence content, not by your identity; no per-install log of requested sentences is kept.
- Subscription records: for as long as you have an active or recently expired subscription, plus the period required by tax and accounting law.
6. Your rights
Under POPIA — and equivalent rights under the GDPR if you are in the EU/UK — you can ask us to:
- Confirm whether we hold information that relates to you.
- Correct or delete that information.
- Object to processing or withdraw consent.
- Lodge a complaint with the Information Regulator (inforegulator.org.za).
Apart from the optional account for ratings (§2.11), PointCall runs without user accounts, so the data on your device is in your hands directly: clear it from Settings or uninstall the app. For the server-side match data described in §2.2 and §2.3, Settings has a Delete cloud match data option that removes your shared matches and your cloud archive from our servers immediately — no email required. It also deletes the americanos you organised, with their private copies, removes you as a co-organiser of other events, and disconnects Strava (§2.12). A score you sent to someone else's event, from the app or from its link in a browser, becomes part of that event's results: the record that carries your anonymous ID goes with the public event (§5), and the results, which can name the player who entered them, stay in its organisers' private copy (§2.10), with the point log of any court you scored live. Ask us (§10) if you want one removed. Settings also has a Request data deletion option that opens a pre-filled email with your identifier, for anything the in-app deletion doesn't cover. One honest caveat: the identifier is per-install, so if you uninstall the app before deleting, we can no longer tell which server records were yours — delete first, uninstall second. (If you signed in, your account still identifies you: sign in again and delete it, or email us from the account's address, §10.) For anonymous diagnostics that we cannot tie back to you, the most reliable way to opt out is to disable the relevant data sharing in your operating system's privacy settings.
If you signed in, Delete account (Settings → Account in the app, or /rating on the website, for a Google account) deletes your account, your profile, rating and history, your claims and answers, and your links with organisers, together with everything Delete cloud match data removes. Delete cloud match data on its own, while you are signed in, also deletes your rating and history but keeps your account. Neither removes the copies that other players keep, which name you as the event or match showed you (or by the name on your profile), except that while that event's or match's ratings can still change, they are worked out again without you, and a rated match left with no claimed player on your team stops counting and leaves their history. Neither removes the results of events you played in, which stay with the event and its organisers' private copy (§2.10). A rated match you scored whose result was already sent stays for its players, without your account, until it is deleted (§5). Ask us (§10) about any of these.
7. Children
PointCall is not directed at children under 13. We do not knowingly collect information from children. If you are a parent and believe your child has used the app in a way that requires us to act, please contact us.
Accounts and ratings are for people aged 16 or over. If you are younger, please do not sign in or claim a name or seat. If we learn that an account belongs to someone under 16, we delete it.
8. Third-party services we rely on
- Google Firebase (Crashlytics, Analytics, Cloud Functions, Remote Config, Authentication).
- Google and Apple sign-in (optional accounts for ratings, §2.11).
- Google Cloud Text-to-Speech (Pro voice synthesis).
- RevenueCat (subscription entitlements).
- Apple App Store and Google Play (billing).
- Apple Health and Android Health Services (optional, on-device watch workouts).
- Strava (optional, where you connect it, §2.12).
- Cloudflare (hosts this website; cookieless Web Analytics).
9. Changes to this policy
If we make material changes we will update the “Last updated” date at the top of this page and, where appropriate, surface the change inside the app. Your continued use of PointCall after a change means you accept the updated policy.
10. Contact
Questions or requests: support@pointcall.app.