Privacy Policy
Last updated: 26 October 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 [email protected] 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), 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 and §2.10 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: because PointCall has no accounts, the archive is tied to this install — it cannot follow you to a new phone today, and restoring it works only within the install that wrote it. 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. |
| Performance traces | Detect slow startup, slow audio playback, and similar regressions. |
| 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 anonymous identifier 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, 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.
- 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. 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). 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; 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 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.
3. What we do not collect
- No account, and no real name, email, phone number, or postal address for you. (Player names you type reach our servers only as §2.2, §2.3, §2.6 and §2.10 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
Diagnostic and voice-synthesis requests are processed by Google Cloud, and entitlement records are processed by RevenueCat. 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 (§2.3).
- Crash and performance 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).
Because PointCall runs without user accounts, 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, and removes you as a co-organiser of other events. 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 anonymous 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. 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.
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.
8. Third-party services we rely on
- Google Firebase (Crashlytics, Analytics, Cloud Functions, Remote Config).
- 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).
- 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: [email protected].