Last updated 8 August 2026
Privacy-focused design: just the data BirdBot needs to help you find your next lifer.
| Data | Why it’s needed | How long it’s kept |
|---|---|---|
| Telegram or Discord ID and name | To know which account is yours and where to send messages, for whichever of the two you use BirdBot on. In a group, the name is also used to say whose lifer a bird is. | Until you delete your account |
| Location | A single latitude and longitude, used to search for sightings around you. Only your current one is stored — setting a new location overwrites the old one, and no history is kept. | Until you replace or delete it |
| Life list | The species from your eBird CSV so that BirdBot knows which birds you have seen. Nothing else in the file is read or stored. | Until you delete your account |
| Preferences | Which type of alerts are enabled, your daily summary time, and whether notifications are muted. | Until you delete your account |
| Delivery status | If Discord refuses an alert because BirdBot shares no server with you, the time it happened. That is what lets your account page explain why nothing is arriving, and what stops BirdBot retrying every few minutes. Only ever recorded for Discord. | Until a message reaches you, or you delete your account |
| Recent alerts | Which eBird checklists you’ve already been told about, so the same sighting isn’t sent twice. | 24 hours |
| Sent messages | Which species each alert was about, so that reacting to a message can add that bird to your life list. | 48 hours |
| Website sign-ins | A record that you are signed in, so the website knows it’s you without asking again. It holds your account and nothing else — no name, and not the key your browser keeps. | 30 days, or until you sign out |
The last three expire on their own. They’re deleted automatically once the time is up, without anyone doing anything.
Your browser also keeps two things locally, which never reach BirdBot’s servers: the key that keeps you signed in, and the last map pin you placed on the hotspot explorer, so it opens where you left it. Both live only on your device and are removed if you clear the site’s data, or if you sign out.
Your data is not sold, and is not shared with anyone to use for their own purposes. Four things do send data outside BirdBot, all required for it to work:
None of the eBird or OpenStreetMap requests include your name, your Telegram or Discord account, or your life list. Your life list is only ever sent to your own browser, to work out which birds at a hotspot would be new to you.
There’s a delete button on your account page. It removes everything listed above immediately and permanently — your life list, your location, your preferences, your account record, and your name and ID in any group chats you’ve used BirdBot in. It cannot be undone, and BirdBot keeps no copy afterwards.
Your eBird account is entirely separate and is not affected. BirdBot only ever reads the CSV file you upload; it has no access to your eBird account.
Blocking BirdBot, or removing it from a group, also clears that chat. Its location, settings and alert history are deleted, along with your name and ID in that group — it has been told to stop, so it stops keeping them. Your life list is not deleted: it’s yours rather than the chat’s, and unblocking is meant to get it back. To remove that too, use the delete button.
When BirdBot is in a group, the group’s location and settings are shared by everyone in it, and each member’s life list stays their own. Alerts posted in the group name which members a bird would be new for, so other members can tell which species you have and haven’t recorded. Your life list itself is never posted.
Questions about your data, or anything BirdBot is doing wrong: david@birdbot.ca.