BowlMe privacy policy
Last updated: [date of publication]
BowlMe is a bowling scorer and a way to bowl against other people's games, a frame at a time. This policy says exactly what the app collects, where it goes, who can see it, and how to delete it. It is written from the app's code, not from a template; if the two ever disagree, that is a bug and we want to hear about it at dwillms2@gmail.com.
"We" means the developer of BowlMe, MunkinFactory. "You" means the person using the app.
The short version
- You do not give us an email, a phone number or a password. The app signs you in with an anonymous account the first time it opens. If you choose Back up with Google, Firebase Authentication keeps your Google account's email address so you can sign in again on another phone.
- The name you choose for yourself, and your bowling record, are visible to other BowlMe bowlers. Your games themselves are not: an opponent sees your frames only as they earn them in a match.
- The camera reads pins on your phone. Nothing it sees is uploaded unless you switch on Film the shots or Help improve pin reading.
- The microphone is used only when you switch on voice answers, and only while a reading is waiting for your answer. BowlMe never records or keeps audio.
- We collect a small number of usage statistics through Google Analytics for Firebase, and a crash report through Firebase Crashlytics if the app crashes. You can switch both off. We do not use an advertising ID and there are no ads.
- The phone and watch apps also send a few anonymous, once-a-day counts to BowlBrain's own analytics service, with no identifier at all. One switch turns all of these off (see "Anonymous usage counts").
- If another bowler's name or words are offensive, the ⋮ beside them lets you report them to us or block them. They are not told who reported them, or that they were blocked.
- Settings → Privacy & data → Delete my account and data deletes your account and everything that is yours, from our servers and from your phone.
- Settings → Your data → Download my data: you can download a copy of your data at any time (see "Downloading a copy of your data" below).
What we collect, and why
Your account
When BowlMe first opens it creates an anonymous account with Firebase Authentication (a Google service). The account is a random identifier; it contains no name, email or phone number. Every piece of data below is stored against that identifier, and it is how the app knows which games are yours.
Backing up with Google (optional). In Settings → Your account you can link that account to your Google account, so that a new phone, a reinstall or cleared app data can get your games back by signing in. The app asks Google, through Android's Credential Manager, for a sign-in token, and Firebase Authentication stores against your account: your Google account's identifier, its email address, and the name and profile picture address Google provides. The account identifier does not change, and nothing else about your data does. The email address is not shown to other bowlers, not put on your profile, and not used to contact you; we see it only in the Firebase console, where it identifies the account. Signing out (Settings → Your account → Sign out) leaves the link in place so you can sign back in; deleting your account removes it, and the email address, with the account.
If you sign in on a phone that already had an anonymous account with games on it, the app asks first, and those games stay with that anonymous account on our servers (they are not moved or deleted). If that anonymous account had a name but no games, it is deleted as it would be by "Delete my account and data".
Your bowler profile
- The name you choose. Required to bowl. It is shown to other BowlMe bowlers: in search, on the leaderboard, on challenges and invitations you send, in matches, on teams and on league night sheets.
- Handedness, declared average and handicap settings. Optional. Handedness is shown on your public profile; the average and handicap settings are private to you.
- Your bag (the balls you list, with their names and notes). Private to you.
- A short line about yourself (up to 140 characters), if you write one. Public.
- Your record, computed from your games and matches: rating, games bowled, recent average, high game, wins and losses, perfect and clean games, the dates of your first and most recent game. This is your public profile. It never includes a home centre or anything else that says where you bowl.
Your games
- Every ball you record: which pins fell, and whether it was a foul. Games are private to you. An opponent in a match receives your frames only as they bowl theirs, from our server, and never the rest.
- When you bowled, and, if you type them in, the bowling centre and lane number. Private to you; they are never put on a challenge or a public profile.
- How the game was scored (by hand, deck camera or scoreboard photo), which ball and oil pattern you used if you say, a private note if you write one, and whether and how the game has been checked against the centre's monitor.
- Games you put up to chase: when you put a finished game up to chase, other bowlers can see your name, when it was bowled, how it was scored, the optional line you add (up to 80 characters) and any chalk stake. Never its score.
Matches, invitations, teams and leagues
- Matches record who played whom, which games, the result, and any one-word reaction either of you sent afterwards. Both players can see the match.
- Invitations carry your name, the name of the person you challenged, the game to chase and your average. Only the two of you can see them.
- Teams carry a name, an optional short line, and the names of the people on them. Any BowlMe bowler can see a team.
- Leagues carry a name, the teams in them and the scoring rules. League night sheets carry the names, averages and scores of the bowlers on them, and only those bowlers can see them.
- Chalk is a points balance counted from matches. It cannot be bought, sold or cashed out.
Reports and blocks
- Reporting. When you report another bowler's name, line, team or league name, reaction, or a name read off a scoreboard photo, we store: your account identifier, theirs, which piece of text it was and a copy of it as you saw it, the reason you chose, the note you added if any, and when. Only the people who run BowlMe can read reports — not the bowler you reported, and not you once it is sent — and we use them only to decide whether to remove the text or disable the account behind it. If we remove something, a name is replaced with "Bowler" and a line or team description is deleted. To stop the report button being used to flood us, the app will not send more than one report every few seconds.
- Blocking. When you block a bowler we store their account identifier, their name at the time and when, against your account. Only you can see your blocked list. While they are blocked, their games, profile, challenges and reactions are hidden from you, and neither of you can start a new match or send a challenge to the other; matches you have already bowled stay in both your histories. They are not told. You can unblock them in Settings → Privacy & data → Blocked bowlers.
The camera
The camera is used by three features, each of which you start yourself:
- The deck camera reads which pins are standing. The picture is analysed on your phone and is not uploaded.
- Replays of your marks are kept on your phone and excluded from Android backups. They are not uploaded, with one exception you choose: a game you check against the lane's monitor while Help improve pin reading is on (below). You can switch replays off on the aiming screen.
- Camera readings. When you confirm or correct a ball the camera read, the app keeps, for each pin, a few numbers describing how bright it looked, what the camera predicted and what you confirmed. These are numbers, not pictures. They stay on your phone unless you switch on Help improve pin reading (below); then they are uploaded with it, without the lane or the time, and deleted with your account.
- Film the shots (off unless you switch it on). Keeps a few seconds of video of each ball and uploads it to Firebase Cloud Storage against your account, so that whoever chases that game can watch each ball after they have bowled the same frame. Nobody else can reach your clips: an opponent is given a link to one clip at a time, valid for five minutes. Clips may show other people who were at the lanes; please film considerately.
- Photograph the scoreboard. The photo is read on your phone by Google ML Kit text recognition, which runs on the device. The photo is not uploaded. What is uploaded is what you choose to import: the lines read off the monitor, which include the names printed there, the scores, and the centre and lane you entered. Lines for other bowlers are kept so that you can give them a code to claim their game; anybody with that code can read the lines in that import.
Help improve pin reading (off unless you switch it on). Uploads small cut-outs of the pin deck around each pin, with the pins you confirmed were standing, to Firebase Cloud Storage against your account. These are used to train and test the pin reader. They are pictures of pins, not of people, though a cut-out can occasionally include part of a person or ball passing through. They are deleted with your account.
With the same switch on, a game you check against the monitor (a photo of the lane's monitor compared with the camera's card at the end of the game) is also uploaded, on Wi-Fi, as a training example: each ball's count as the monitor showed it, the pins standing where they are known, what the camera read, how long after the first ball each ball came (not the date or time), where the pin deck sat in the camera's picture and the zoom, and the cut-outs above. If you switched the setting on after this was added (the explanation names replays), each ball's replay is uploaded with it: a few seconds of video of the pin deck, which can show somebody passing in front of it. The photo of the monitor itself is not uploaded, nor are names, the score as a total, the centre or the lane. These are kept on your phone until they are sent, deleted if you switch the setting off first, and deleted from the server with your account.
The microphone
Used only if you switch on voice answers, and only while a camera reading is waiting for your answer. Speech is turned into words by your phone's speech recognition service: on Android 12 and later the app asks for on-device recognition where the phone offers it; otherwise the phone's default speech service is used, and that service (usually Google's) may process the audio under its own privacy policy. BowlMe receives only the recognised words, matches them against a handful of answers ("strike", "spare", a pin count, which pins are standing), and does not record, store or upload audio or text.
Notifications
The app registers your device with Firebase Cloud Messaging and stores the device's registration token (with the word "android" and when it was last updated) against your account, so we can tell you when somebody challenges you, chases one of your games, or finishes a match against you. Nothing else is sent. On Android 13 and later the notifications are shown only if you allow them; the app asks the first time you put a game up to chase or send a challenge.
Usage statistics
The app uses Google Analytics for Firebase to count a few things: a match was started (and whether it was your first), a frame was revealed (its number, 1–10), a match finished, and filming was switched on or off. Google Analytics also records some events itself, such as the app being opened or updated, with your device model, Android version, app version, language and an approximate country or region derived from your connection. These are tied to a random app-instance identifier, not to your BowlMe account or name, and never include scores, opponents, centres or times. The app does not collect an advertising ID or Android ID, and ad personalisation is switched off.
You can switch usage statistics off in Settings → Privacy & data → Usage statistics and crash reports.
Anonymous usage counts
To learn which parts of BowlMe are useful, the app sends a few anonymous counts to BowlBrain's own analytics service (bowlbrain-analytics.vercel.app, operated by us; no third-party analytics company). At most once a day each: that the app was opened, the platform (Android phone or Wear OS watch) and app version, how long since install (in buckets such as "2–6 days"), which screens and features were used (for example "scorecard" or "camera scoring"), and a rough count of yesterday's balls scored (a range such as "10–29"; on the watch, answers sent). No account, no advertising ID, no stored identifier, and nothing you recorded: never a score, name, centre, lane or time. The service counts daily totals from a salted hash of the connection that it throws away each day, and keeps only those aggregate totals, for about 400 days.
You can switch it off in Settings → Privacy & data → Usage statistics and crash reports, the same switch that covers Google Analytics and crash reports. With it off, neither the phone nor a paired watch sends anything.
Crash reports
If the app crashes, or something it was doing in the background fails, it sends a crash report through Firebase Crashlytics (a Google service) so that we can fix it. A report contains: the technical description of the error (which part of the app's code failed, and the error's message), the app version, your device model and Android version, free memory and storage, whether the app was on screen, and the name of the app screen that was open and the few before it (for example "Settings" — never what was on it). It is tied to a random identifier Crashlytics creates for this installation, not to your BowlMe account or name, and never includes scores, names, email, opponents, centres or anything you typed.
Crash reports are covered by the same switch as usage statistics: Settings → Privacy & data → Usage statistics and crash reports. With it off, nothing is sent, and a report kept on your phone from a crash is deleted instead of being sent later.
The watch app
The Wear OS app shows the camera's reading of a ball and sends back Confirm or Not mine. It talks only to your own phone, through Google Play services' Wearable Data Layer. Apart from the anonymous usage counts described above (which follow the phone's Usage statistics and crash reports switch), it sends nothing to our servers. It asks for no runtime permissions.
The Ballroom (optional)
If you connect a The Ballroom account, BowlMe stores the access token The Ballroom issues, encrypted on your phone, and uses it to read your arsenal, oil patterns and leave statistics from The Ballroom, and to send each game you finish there: its score, date, lane, and the ball and pattern you used. This is a transfer you choose to make to a separate service, governed by The Ballroom's own privacy policy. You can disconnect at any time, in BowlMe or from The Ballroom's settings.
Sharing a scorecard or a capture
When you share a scorecard, recap image, replay or scoreboard capture, the app hands that one file to the app you pick in Android's share sheet. Scoreboard captures are shared with the names removed.
What stays on your phone
Replays, scoreboard photos, scoreboard captures (diagnostics), settings, and your connection to The Ballroom are kept on your phone and not uploaded. Android's own backup may copy the app's settings to your Google account; replays and diagnostics are excluded from that backup.
Who processes your data
Our servers are Google Firebase: Authentication, Cloud Firestore, Cloud Storage, Cloud Functions and Cloud Messaging, with Google Analytics for Firebase for usage statistics and Firebase Crashlytics for crash reports. Google processes this data on our behalf under the Firebase terms. The anonymous usage counts go to BowlBrain's own analytics service, which we operate ourselves. Data is stored in [Firebase project region, for example "us-central1 (United States)"].
We do not sell your data, share it with advertisers, or use it for advertising. Apart from Google as our service provider, and The Ballroom if you connect it yourself, nobody receives it except other BowlMe bowlers in the ways described above.
Security
Everything sent between the app and our servers is encrypted in transit (TLS), and Google encrypts it at rest. Access is controlled by security rules written so that nobody — including another player's modified app — can read your games, your private profile or your footage; opponents reach your frames and clips only through server code that checks they have earned them.
How long we keep it
Until you delete it. Device registration tokens are removed when Firebase reports them as no longer valid. Reports are kept as the record of what was reported and what was done about it, until either your account or the reported bowler's is deleted. Links to footage expire after five minutes. Usage statistics are kept by Google Analytics for [retention period, for example 2 months] and then deleted. Crash reports are kept by Firebase Crashlytics for 90 days and then deleted. The anonymous usage counts are kept only as daily totals, for about 400 days.
Deleting your account and data
In the app: Settings → Privacy & data → Delete my account and data. This deletes, from our servers: your account (including its link to a Google account and the email address held for it, if you backed up), your profile and public profile, every game you bowled, every challenge you published, your footage and any pin-reading images you contributed, your camera readings, every invitation you sent or received, every scoreboard import you made, your solo chases, and your place on any team; every report you made and every report made about you; and your blocked list, and your place on anybody else's. It then erases everything BowlMe keeps on your phone.
Some records are shared with other people and are kept for them, with your name replaced by "Deleted bowler": matches you bowled against somebody else (the result is part of their record), league night sheets you were on (the scores are part of both teams' points), and leagues you organised (which stay, but can no longer be edited). What remains is a random identifier that no longer belongs to any account.
Deletion from our live database happens immediately. Copies may persist in Google's routine backups for a short period before they are overwritten.
Without the app: if you no longer have the app, email dwillms2@gmail.com from any address with the subject "Delete my BowlMe account". If you backed up with Google, write from (or name) that Google address and we can find the account by it. Otherwise accounts are anonymous, so include the bowler name you used and, if you can, roughly when you last bowled, so we can find the right account. We will confirm when it is done.
Uninstalling the app deletes what it kept on your phone, but not your account on our servers.
Children
BowlMe is not directed at children and is intended for people aged 18 and over. It has public profiles and lets bowlers interact with strangers, and it has no parental controls. If you believe a child has created an account, email dwillms2@gmail.com and we will delete it.
Downloading a copy of your data
Settings → Your data → Download my data makes a zip file on your phone with a copy of your data: games.csv (a row per game: date, centre, league or kind, score, the marks frame by frame, strikes, spares, opens, whether a ball was corrected, and the ball, if you said), frames.csv (a row per ball: the pins that fell, the pins left, fouls) and bowlme.json (everything: your profile, games, nights, bag, spare practice, the matches you bowled, the teams and leagues you belong to, and your settings). The CSV files open in Excel or Google Sheets.
It holds only your own data. An opponent appears by their display name only, and their score only once the match is over; never their frames, their games or their account. Teams and leagues appear by name; their rosters and join codes are left out.
The file is made on your phone and is not sent anywhere by us. You choose where it goes: the share sheet (email, a cloud drive, another app) or a folder on your phone ("Save to Downloads"). Once you send it somewhere, that copy is yours and is governed by wherever you put it.
Your rights
Depending on where you live you may have the right to access, correct, export or delete your data, or to object to how it is used. You can correct your name and profile in the app, download a copy of your data (Settings → Your data → Download my data), and delete everything as described above. For anything else, email dwillms2@gmail.com.
Changes
If this policy changes, the new version will be posted at this address with a new date, and a significant change will be announced in the app.
Contact
dwillms2@gmail.com