BallHawk
The short version

No email.
No tracking.
No catch.

Free, and there is nothing of yours to sell because we never collect it.

What we store

A username you invent and a password, hashed with scrypt and a salt unique to your account. The password itself is never stored and cannot be recovered by anyone, including us.

The trackers you build: which players and teams, which alerts, and the topic they publish to.

A share link, if you create one. It is a random code that lets somebody take a copy of that tracker onto their own account. Revoking it deletes the code.

If you turn on notifications, a push subscription for that device. It is an address issued by Apple or Google that lets us deliver a notification to that one browser. It is not a phone number, it carries no identity, and deleting it stops delivery immediately.

That is the entire list.

What we do not store

No email address. No phone number. No name. No payment details. No location. No analytics or advertising trackers of any kind.

A push subscription is not any of those. It cannot be used to contact you anywhere else, and it stops working the moment you turn notifications off or remove BallHawk from your Home Screen.

Because we never collect an email, there is no password reset. Lose your password and the account is unreachable. Your alerts keep arriving, you just cannot edit them.

How alerts reach you

Normally as an ordinary phone notification, sent through Apple or Google the same way any app on your phone sends one. Nothing extra is installed, and you can turn it off on any device without touching your watches.

Every tracker also has a share code, so you can send the same feed to someone who does not have an account. That route goes through ntfy, an open-source notification service, and it is optional.

What a share link gives away

Anyone holding the link can see the tracker’s name, which players and teams it follows, and which alerts are on. Nothing about you: not your username, not your other trackers, not how many alerts you have had.

What they get is a copy on their own account. It is independent from that moment: they can rename or retune it, you can delete yours, and neither affects the other. Revoke the link and no one new can take a copy, though anyone who already did keeps theirs.

Where the data comes from

Baseball from the MLB Stats API, from the majors down through Triple-A, Double-A, High-A, Single-A and rookie ball. Football, college football, basketball, hockey, soccer and golf from ESPN. Fantasy rosters from Sleeper, when you choose to connect a league. Player photographs and team marks are served by those same providers.

We are not affiliated with, endorsed by, or partnered with MLB, MiLB, the NFL, the NCAA, ESPN or Sleeper. All team names and marks belong to their owners.

What we promise, and what we do not

This is free, and it is provided as is. We poll every minute and deliver within about a minute of an event, but we cannot guarantee an alert arrives, arrives on time, or is correct. Upstream data can be wrong, late, or unavailable, and a scorer can revise a play after the fact.

Do not use this for anything that depends on being right. It is for following your team.

Deleting your data

Delete a tracker and it is gone, along with its share code. Turn notifications off on a device and that push subscription is deleted at the same moment, not merely disabled.

To remove your account entirely, delete every tracker, turn notifications off, and stop signing in, or ask and it will be removed.

Plain language on purpose. This is a personal project, not a company, and this page is a description of how it behaves rather than a contract drafted by a lawyer. If that ever changes, this page changes with it.

Back to your trackers