BowlMe

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

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

Your games

Matches, invitations, teams and leagues

Reports and blocks

The camera

The camera is used by three features, each of which you start yourself:

  1. 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.
  2. 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.
  3. 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