K9Events.eu

Privacy Policy

Android app · Last updated: July 2026

The short version

Most of K9Events works with no account, no tracking, and no third-party analytics. Your bookmarks, reminders, and preferences are stored on your device. Opening the app sends an anonymous device ID, platform, and app version to count installs and active devices. Bookmarking an event or setting a reminder also sends an anonymous device identifier, that event's ID, and (for reminders) which reminder times you chose to our database, so we know which devices to notify if the event changes and when to deliver your reminders. Opening an event's detail page sends the same anonymous device ID and that event's ID — at most one record per day per event, with no dwell time or scrolling — so we can prioritise fetching fuller details (schedule, fees) for the events people actually read; these view records are deleted after about 180 days. If you enable push notifications, your FCM push token and selected discipline interests are stored with our database and Google Firebase to deliver alerts. You can optionally pick an area — any town or city — to filter events by distance (for example, someone in the US might pick Vilnius to follow events there). It's a preference you type in, not where you are: we never detect or collect your location or use your device's GPS. We store only the town or city you chose (its approximate centre) and a distance radius, alongside your other preferences. If you report an inaccuracy, an anonymous report is stored. If you choose to sign in and use My Season to track a dog's profile and competition results, we also store your email address and whatever dog/result data you enter under that account — see section 3 — and you can delete your account and all of it at any time. That is the full extent of what we receive.

1 Who we are

K9Events is a mobile app that lists dog sports competitions and events across Europe. It is operated independently and can be reached at hello@k9events.eu.

2 What we collect — and what we don't

Browsing events, bookmarking, reminders, and push notifications never require an account. No name, phone number, or other identifier is collected for any of that. The only exception is My Season (dog profiles and competition results), which is entirely optional and requires signing in with your email address — see section 3 for exactly what that involves.

Outside of My Season, the only data your device sends to our servers is:

What Why When
Requests for public event data To display upcoming events in the app Every time you open or refresh the feed
An anonymous device ID, platform, and app version To count installs and active devices When you open the app
An anonymous device ID, the event's ID, and (for reminders) the reminder times you chose To know which devices to notify if that specific event changes, and to deliver your reminders on time even if the event's dates change When you bookmark an event or set a reminder for it
An anonymous device ID, the event’s ID, and the date — at most one record per device, event, and day; no dwell time, no scrolling, nothing else To see which events people actually read, so our importer fetches fuller details (schedule, fees) for the events with real interest. Deleted after about 180 days When you open an event’s detail page
An FCM push token To deliver push notifications to your device When you open the app and your device has a push token (on Android 13 and later this requires granting notification permission)
Your selected discipline interests To send only alerts for the dog sports you follow When you enable notifications or change interests in Settings
An area you choose to filter by: the town or city you type (its approximate centre), a distance radius, and country To show and alert you about events near a place you care about. It's a filter you set — it can be anywhere and need not be where you live; your device location is never used Only if you set an area filter, and stored on our server only while “Notify about new events near home” is on
An anonymous report when you flag an inaccuracy To improve event data quality Only if you explicitly submit a report

The inaccuracy report contains: the event ID, the type of issue you selected, your optional comment, and a randomly generated device identifier. This identifier is created the first time you install the app, cannot be linked to you personally, and is used only to prevent duplicate reports.

The following is never collected, with or without an account:

3 My Season: account, dog profiles, and results

My Season is an optional part of the app for tracking a dog's profile and logging its competition results. Everything else in this app works without it. If you use it, you'll sign in with your email address.

Signing in. You enter your email address and we send a 6-digit one-time code (and a magic link) to it through our authentication provider, Supabase Auth. Entering the code both confirms the address and signs you in. We never ask for or store a password, and we do not offer or use Google/Apple/Facebook sign-in — email is the only method.

Once signed in, here's what My Season stores against your account:

Data What it contains
Your account Your email address, used only to sign you in and to contact you about account/deletion requests.
Dog profiles Name, breed, birth date, size, and disciplines you enter, plus any free-text notes you choose to add (e.g. vet or temperament notes). Up to 2 dogs per account.
Dog photos An optional photo per dog, uploaded to our storage provider and linked only to your account.
Competition results Whatever you log for a run — event, discipline, date, placement, outcome, sport-specific scores or times, and optional notes.
Your own added events Events you add manually that aren't in our public catalogue (name, dates, venue, city, country), if you choose to add any.
Event registrations Which events you've marked yourself as registered for.

All of this is data you choose to type in about yourself and your dog. We don't derive, infer, or cross-reference it with anything else.

Sharing a dog. You can optionally share one of your dogs with other people — for example a co-owner or handler — by generating a single-use invite code in the app and giving it to them. When someone joins with your code, they can see that dog's profile (including its photo and notes) and its logged results, and can add their own results for it; you can see theirs. Members can only ever see the specific dog you shared with them — never your other dogs, your account, or anything else you've entered. Each member of a shared dog is shown to the others by the name on their account (the part of their email before the “@”). You can remove a member, and they can leave, at any time; codes are single-use and expire after 7 days. If you don't share a dog, no other user can see it.

Deleting your account. You can permanently delete your account at any time, from Settings in the app or at k9events.eu/delete-account, by confirming your email with a one-time code. Deletion is immediate and removes your account, the dogs you own and their photos and notes, all results you logged, your manually added events, and your event registrations. Dogs you own that you had shared stop being accessible to everyone. It does not affect the anonymous, device-only data described in sections 2, 4, and 5 (bookmarks, reminders, notification settings), since that isn't tied to your account.

4 Data stored on your device

K9Events stores the following information locally on your device using standard Android storage. It is never transmitted to us unless described above.

Data Purpose
Bookmarked event IDs To show your saved events in the My Events tab
Reminder settings per event To schedule local notifications at the times you chose
Discipline interests To filter alerts to the sports you care about
Language preference To show event names in your preferred language
Notification on/off toggle To respect your notification preferences
Cached event data To let the app work when your device is offline
Anonymous device ID To deduplicate inaccuracy reports, target event-update alerts to bookmarked/reminded events, and (if notifications are enabled) identify your subscription
FCM push token Used by our server to route push notifications to your device. Stored locally and also synced to our database when you enable notifications.
Chosen area filter (town or city), radius, and near-home toggles (if set) To scope the events list — and, if enabled, alerts — to a place you choose. A city-level point you set by typing, not your device location; synced to our database only when the near-home alert toggle is on.
My Season sign-in session (if you've signed in) Keeps you signed in between app opens, so you don't have to re-enter an emailed code every time. Cleared when you sign out or delete your account.

Uninstalling the app removes all locally stored data from your device.

5 Notifications

Notification permission is never requested when you first open the app. It is only requested in three specific contexts: during the first-launch onboarding screen when you choose to enable alerts, in Settings when you turn on the notification switch, or when you attempt to set a reminder from an event.

Event reminders (1 week before, 1 day before, registration deadline) are delivered as push notifications computed on our server from the event's current dates — so if an event is postponed, your reminder moves with it. A copy is also scheduled locally on your device as an offline backstop; you only ever see one notification. Delivering the server-side reminder requires storing your anonymous device ID, the event ID, and the reminder type in our database, as described above.

Push notifications (new event alerts, event update alerts, and event reminders) are delivered via Firebase Cloud Messaging (FCM), a service operated by Google. Your device's FCM push token is registered with Google Firebase and stored in our Supabase database alongside your anonymous device ID, your selected discipline interests, and — if you turn on “Notify about new events near home” — the town or city you chose to filter by (its approximate centre) and a distance radius; alerts are only sent if you enable notifications. This is the minimum information needed to route a notification to your device and filter it by the sports you follow and, optionally, your distance from home.

If you disable notifications in the app, your subscription is marked inactive and no further pushes are sent. You can also revoke notification permission at any time in your device's system settings.

Firebase's privacy policy applies to FCM token processing: firebase.google.com/support/privacy.

6 External app integrations

Calendar. When you tap "Add to Calendar," the app passes the event's name, date, and venue to your device's native calendar application. The app does not read any existing calendar events and does not send calendar data anywhere.

Maps. When you tap to open a venue, the app passes the venue's coordinates or name — taken from our event database, not from your device — to a map application of your choice (Google Maps, Apple Maps, Waze, or any other installed map app). K9Events never detects or collects your location — it does not read your device's GPS or location sensors at any point. (The optional “near home” filter is just a town or city you type in yourself; see section 2.) Once the map app opens, its own privacy policy applies.

7 Infrastructure and third-party services

Supabase — Our event database, push notification subscriptions, and (if you use My Season) account authentication, dog/result data, and photo storage are hosted on Supabase (Supabase Inc., USA). General event browsing uses an anonymous read-only key. Notification subscriptions (device ID, FCM token, discipline interests, and — if you enable near-home alerts — the town or city you chose to filter by (a coarse centre point) plus a radius) are written using an anonymous key governed by row-level security. My Season sign-in and data (email, dogs, photos, results, your own added events, registrations) are handled by Supabase Auth and Supabase Storage, access-controlled so only your own account — and, for a dog you've shared, the people you invited — can read or write that data. Supabase server logs may record your IP address as part of standard infrastructure operation. Supabase's privacy policy applies: supabase.com/privacy.

Google Firebase (FCM) — Push notifications are routed via Firebase Cloud Messaging, a Google service. When you enable notifications, your device token is registered with Firebase. Google's privacy policy and Firebase terms apply: firebase.google.com/support/privacy.

OpenStreetMap — If you set a “near home” area filter, the town or city name you type is sent to the OpenStreetMap Nominatim service to resolve it to an approximate centre point, and the “Near home” settings screen loads OpenStreetMap map tiles to preview your radius. Only the town or city you type (and the map area shown) is sent — never your device's location. The OpenStreetMap Foundation's privacy policy applies: osmfoundation.org/wiki/Privacy_Policy.

No analytics, advertising, or tracking services are integrated into this app.

8 Legal basis (GDPR)

For users in the European Economic Area, the anonymous, device-based processing described in sections 2, 4, and 5 is based on legitimate interest (Article 6(1)(f) GDPR) — specifically, the legitimate interest of providing a functional, reliable event listing service. If you choose to sign in and use My Season, that processing is based on performance of a contract (Article 6(1)(b) GDPR) — it's the service you've asked us to provide by creating an account. No special category data is processed. No automated decision-making or profiling takes place.

9 Data retention

Data stored on your device persists until you uninstall the app or clear its data in your device settings.

Inaccuracy reports submitted to our servers are retained for as long as necessary to improve event data quality, and are not linked to any personal identity.

Push notification subscriptions (device ID, FCM token, discipline interests, and — if you enabled near-home alerts — the coarse centre of the town or city you chose to filter by plus a radius), install statistics (device ID, platform, app version, first/last open), and per-event reminder rows are kept until you request deletion. Disabling notifications marks the subscription inactive; removing a reminder or bookmark deletes its row. You can request deletion by contacting us at hello@k9events.eu.

My Season account data (your email, dogs, photos, results, added events, and registrations) is retained until you delete your account, which you can do yourself at any time — see section 3. Deletion is immediate and permanent.

Standard Supabase and Firebase infrastructure logs are retained per their respective retention policies.

10 Children's privacy

K9Events is not directed at children under the age of 13. We do not knowingly collect any data from children.

11 Changes to this policy

If this policy changes materially, the updated version will be published at this URL with a revised date at the top. We encourage you to check back periodically.


12 Contact

Questions about privacy, requests to delete your anonymous device data, or requests about your My Season account — reach us any time.

hello@k9events.eu