Privacy Policy

Pitch Please · Last updated 12 November 2026

Pitch Please is an ear-training app for iPhone, iPad, Android and the web. It is made by uskillbotics, which is operated by Zack Jordan, the developer and seller of the app (“we”, “us”). This policy covers the app in every version and this website.

The short version

1. What stays on your device

Everything you do while practising is saved on the device you practise on and is not sent to us: every answer you give and how long it took, the levels you play and the ones you make, your progress, streaks and tiers, your settings, the list of players you have blocked, and a copy of what you have bought. In the web version this is kept in your browser’s local storage.

It is not synced between devices, or between the app and the web version. Deleting the app, or clearing the website’s data in your browser, erases it.

Practice reminders are scheduled by your device itself. There is no notification server, and the app never asks for a push token.

Permissions. Pitch Please does not use your camera, contacts, photos or location, and it does not record or listen through your microphone.

2. The Daily Challenge board

The board is a daily leaderboard for the Daily Challenge, and it is optional: the rest of the app works the same without it. Nothing about you is sent to it until you press BEGIN RANKED RUN and save a display name, or report a name on the board. From then on, we collect:

WhatWhyWho can see it
An anonymous account ID, created by the app. No email, phone number, password or real name is attached to it. To know which name and runs are yours, and to allow one ranked run a day. Only us.
The display name you choose. To show you on the board. Everyone who looks at a board you are on.
Your ranked runs: the day, the level, every answer you gave and how long it took, the instrument you answered on, your platform (iOS, Android or web), the app’s release channel and challenge version, and the score and rank our server works out. To check that the run is a real one, score it, and rank it. Your rank, score, accuracy and typical answer time are shown beside your name on that day’s board. The rest only to us.
Reports you make: your account ID, the player you reported (by a random public handle, not their account ID), the day, and their name at that moment. To review reported names. Only us. The player you report is not told who reported them.
Network details: the IP address and user agent (the app’s name and version, or your browser’s) recorded with your sign-in session, and in our provider’s request logs. To run the service, and to protect it from abuse, for example by limiting how many accounts can be made from one address. Only us and our server provider.

Looking at a board sends nothing about you, and blocking a player is saved only on your device and is never sent. If you report a name before you have a board account, the app makes an anonymous account with no name so the report can be counted once.

Fair play. Our server re-scores every ranked run from your answers, and checks their timing for signs that they were not given by a person (answers faster than anyone could give them, for example). A run that trips a check is kept off the board until we look at it ourselves. Nothing else follows from it.

Names. Display names are checked by an automatic filter before they are saved, and every reported name is reviewed by us within 24 hours. A name that breaks the rules is replaced, and an account may be removed. Once three different players have reported a name, it is hidden from everyone but its owner until we have reviewed it.

3. Crash and diagnostic reports

When the app crashes or hits an error, it sends a report to Sentry, our crash-reporting service. A report contains the error and where in the app it happened, your device model and operating system version, the app’s version and release channel, the screens you visited just before it, and a random identifier the reporting tool makes for each installation, so we can tell one crash on many devices from many crashes on one. For a sample of sessions it also records performance timings, such as how long a screen took to appear.

When an error happens, the report can include a short replay of the screen in the moments before it. Every replay is masked: text and images are hidden, so it shows the layout and not what was on it. In test versions of the app (TestFlight), we may also record a small share of masked replays of sessions without an error, to see how the app is used. The App Store version never does.

Reports are not linked to your board account or display name, and we have set the reporting up so that your IP address and the location it suggests are not kept with them. We use them only to find and fix problems.

4. Anonymous usage counts

To learn which parts of the app get used and which don’t, the app may send PostHog, our analytics service, a count of things you do in it: that it was installed, opened or put in the background; which screen was opened (by its kind, such as “a trainer”, never which of your levels); and, when a round ends, which curriculum level it was, how many questions were right, the score, and whether it passed a level or earned a tier. It also counts placements, and purchases started, completed or restored, by product (never a price or a receipt). Each event carries the app’s version and release channel.

These counts are sent under a random ID the app makes for this purpose. It is not a device identifier or an advertising identifier, and it is never your board account. Nothing you type is sent: a level you made yourself is counted only as “a custom level”, and no display name goes with any event. We ask PostHog not to build a profile of you and not to work out your location, and we have set it to discard your IP address.

Turn it off in Settings → Data → Share anonymous usage. Turning it off throws away anything not yet sent and forgets the random ID, so turning it back on starts afresh. The switch appears only in versions of the app that count usage.

5. App updates

When it opens, the app asks Expo’s update service whether a newer version of its code is available. That request contains your operating system, the app’s project and version identifiers, and a random token Expo uses to tell whether an installation has already asked; it contains no device identifier. As with any request over the internet, Expo’s servers see your IP address.

6. Purchases

Packs are bought through the App Store (or, on Android, Google Play). We never see your payment details, your Apple ID or your Google account. The app asks the store on your device which purchases you own; we run no purchase server, and nothing about your purchases is sent to us or to the board. Apple’s and Google’s own privacy policies cover what they collect when you buy something.

7. The web version and this website

The web version of Pitch Please and this website are hosted by Vercel, which keeps standard request logs, including IP addresses, for security and operation. This website sets no cookies, runs no scripts, and has no analytics. The web version keeps your progress in your browser’s local storage (see section 1), may count usage as section 4 describes, and has no purchases or reminders.

8. Who we share data with

We use a few service providers to run Pitch Please. They process data on our behalf, under contracts that limit what they may do with it:

Apple and Google distribute the app and handle purchases under their own terms and privacy policies.

We do not sell personal information, share it for advertising, or use it to track you. We would disclose information only if the law required it, or to protect the safety of a person or the integrity of the service.

Where it is processed. Our providers process data in the United States. If you are outside the US, your data is transferred there, relying where the law requires on safeguards such as the European Commission’s Standard Contractual Clauses.

9. How long we keep it

10. Your choices and rights

Depending on where you live (for example in the EU, the UK, or California), you have the right to ask for a copy of the personal data we hold about you, to have it corrected or deleted, to receive it in a portable form, to object to or restrict how we use it, and to complain to your data protection authority. We will not treat you differently for asking. Email us at the address below. Because board accounts are anonymous, we may need your display name and the days you played to find yours, and we will reply within 30 days.

For people in the EU and UK, the legal bases we rely on are: providing the board you chose to join (contract); keeping the app working through crash reports, understanding how it is used through anonymous usage counts, and preventing cheating and abuse and moderating names (our legitimate interests); and meeting legal obligations.

11. Children

Pitch Please is a general-audience app and is not directed at children under 13. The board never asks for contact details, and the only thing a player can show other players is a filtered display name. If you are a parent and believe your child has made a board account, email us and we will delete it.

12. Security

Everything the app sends travels over an encrypted connection. The board’s database cannot be written to by the app directly: every change goes through our server’s own functions, which check who is asking. No system is perfectly secure, but we take reasonable steps to protect what we hold, and we hold as little as we can.

13. Changes to this policy

If what the app collects changes, we will update this policy before the change reaches you, and change the date at the top. If a change is significant, we will also say so in the app.

14. Contact us

For anything about your privacy or this policy:

pixelwelders+pitchplease@gmail.com

Zack Jordan, operating as uskillbotics, is the data controller for Pitch Please.