Privacy Policy
This document is available in Polish and English. For consumers in Poland the Polish version is binding; this English version is a translation.
This policy explains what data we collect in VetDue, why, how long we keep it, who we share it with and what your rights are. In short: we collect only what the Service needs; we do not sell data; we show no ads; the website uses no tracking cookies.
1. Controller
The controller of your personal data is:
TheClassyCode Maksymilian Wojcik
Swarożyca 15A/6, 71-601 Szczecin, Poland
Tax id (NIP): 8513134827
E-mail: maksymilian.wojcik@gmail.com
For anything about your data, write to maksymilian.wojcik@gmail.com. We have not appointed a data protection officer, as the law does not require one.
2. What data we process
- Account: e-mail address; your name or display name, if Google or Apple passes it on or you enter it; your Google or Apple account identifier, if you sign in that way; language; the date the account was created; your plan (free, trial, Plus) and its dates; your e-mail reminder setting.
- Health book: animal details (name, species, breed, sex, neutering, date of birth, colour, microchip number and implant date, passport number, KROPiK registration status, country, photo), records (type, date, product, batch number, validity, clinic, vet’s name, weight, cost, notes, photos of vaccine stickers), the schedule, reminders and what you decided about them. Records may include other people’s data, such as a vet’s - enter it only when you need it.
- Households: who belongs to them and in what role, invite codes.
- Links for a vet: when they were created and expire, how many times and when they were opened (no IP address and no browser details), and - if you choose - your contact details shown on the link’s page.
- Devices: an identifier the app creates, the system (Android or iOS), the push notification token, the app version, language and when the app was last opened.
- Sign-in: one-time sign-in links (we keep only a hash of them) and a hash of the IP address the link was requested from, to prevent abuse; sessions (also kept as hashes).
- Purchases: information from RevenueCat about Plus purchases and renewals (product, store, dates, status, country and currency). We never receive card details - only Stripe, Google or Apple see them.
- Technical data: server logs (IP address, time, the address requested with secret parts removed, response code).
- App statistics (Google Analytics for Firebase, in the app only): event names such as “animal added (dog)” or “record saved (vaccination)”, with parameters taken from closed lists (yes/no, a type, a country code). We never send names, numbers, e-mail addresses or text you type, and we set no user identifier. Firebase does add an app installation identifier, the device model, system version, language and an approximate location (country, region) derived from the IP address, so we treat this data as personal data. The advertising identifier is turned off. Nothing is collected unless you agree: the app asks once, and until you answer “Share” nothing is sent.
- Crash reports (Firebase Crashlytics, in the app only): device model, system and app version, the time and trace of the error, an installation identifier. Nothing you type.
- Correspondence: what you write to us and our replies.
You provide most of the data yourself. Your name and e-mail may also come from Google or Apple if you sign in that way, and a household’s data may come from its other members.
3. Why, and on what legal basis
| Purpose | Legal basis (GDPR) |
|---|---|
| Running your account and the Service: the health book, sync, the schedule, push and e-mail reminders, households, links for a vet, the PDF, sign-in e-mails and the account deletion confirmation | performance of the contract (Art. 6(1)(b)) |
| Selling Plus, the trial, managing subscriptions | performance of the contract (Art. 6(1)(b)) |
| Keeping sales records that tax law requires | legal obligation (Art. 6(1)(c)) |
| Complaints, withdrawals, requests to exercise GDPR rights | legal obligation (Art. 6(1)(c)) |
| Security: preventing abuse, rate limits, logs, backups, crash reports | our legitimate interest in running the Service securely and reliably (Art. 6(1)(f)) |
| Remembering that an e-mail address has used the trial, and confirming account deletion | our legitimate interest in preventing repeated trials and being able to show that we deleted data (Art. 6(1)(f)) |
| App statistics, to learn which features are used and what to improve | consent (Art. 6(1)(a), and Article 399(1) of the Polish Electronic Communications Law for reading and storing data on your device) - asked once in the app, off until you agree; you can withdraw it at any time with the “Share anonymous usage data” switch on the Account screen |
| “News and tips” notifications | consent (Art. 6(1)(a)) - a switch on the Account screen, off by default; you can turn it off at any time |
| Establishing and defending legal claims | our legitimate interest (Art. 6(1)(f)) |
Your e-mail address is needed to create an account. Everything else is voluntary, but some features do not work without it (for example, without a date of birth we cannot work out a puppy’s schedule).
The schedule and reminders are calculated by software, but we make no decisions about you based solely on automated processing that have legal or similarly significant effects. “News and tips” notifications may be aimed at groups based on app statistics (such as people who added a dog); if you have not agreed to app statistics, you are in no group and receive no such notifications.
4. Who we share data with
We use these companies. They process data on our instructions unless we say otherwise:
- Hetzner Online GmbH (Germany) - servers, the database, storage of photos and backups; the data is in a data centre in Nuremberg.
- Brevo (Sendinblue SAS) (France) - sending e-mails.
- Google (Google Ireland Ltd, Ireland; Google LLC, USA) - Firebase Cloud Messaging (delivering push notifications; the notification text, such as the animal’s name and the treatment, passes through Google), Firebase Crashlytics (crash reports) and Google Analytics for Firebase (app statistics). If you sign in with Google or buy on Google Play, Google also acts as a separate controller of your Google account and the payment.
- Apple (Apple Distribution International Ltd, Ireland; Apple Inc., USA) - delivering notifications to iPhones (APNs). If you sign in with Apple or buy in the App Store, Apple acts as a separate controller of your Apple ID and the payment.
- RevenueCat, Inc. (USA) - records of purchases and subscription status from all stores, and the checkout on the website. RevenueCat knows your VetDue account identifier (a random number, not your e-mail) and, for a website purchase, the e-mail address you enter at checkout.
- Stripe (Stripe Payments Europe Ltd, Ireland; Stripe, Inc., USA) - payments for website purchases. For fraud prevention and its legal obligations, Stripe acts as a separate controller.
Data is also seen by:
- members of your household - that household’s data and who belongs to it;
- people you send a link for a vet to - that animal’s health book;
- public authorities - only when the law requires it;
- accountants, lawyers or other advisers - only as far as needed and in confidence.
5. Transfers outside the European Economic Area
Google LLC, Apple Inc., RevenueCat, Inc. and Stripe, Inc. may process data in the USA. Such transfers rely on the European Commission’s adequacy decision for the EU-US Data Privacy Framework (for certified companies) or on standard contractual clauses approved by the Commission. You can get a copy of these safeguards by writing to us. Our servers, database, photos and backups are in Germany.
6. How long we keep data
- Account and health book: for as long as you have an account. When you delete your account, we block access to it at once and within a few hours (usually within one hour) we delete the account and the households in which you are the only member, photos included. Shared households are handed over to the remaining members.
- Deleted animals, records and photos: photo files are erased in the nightly clean-up, and the marker that a record was deleted (needed so the deletion reaches all your devices) after 90 days. A deleted household is erased within an hour.
- Account deletion confirmation: 365 days. It holds only a random account identifier (UUID), a hash (SHA-256) of the e-mail address and a technical report of the deletion (such as how many files were deleted) - no content and not the address itself. It lets us answer “did you delete my account?”.
- The record that an e-mail address used the trial: a hash of the address, while an account with that address exists and for up to 365 days after it is deleted.
- Sign-in: a sign-in link - 1 day; a session expires after 60 days without use, and its trace is erased after 90 days at the latest.
- Devices: until you sign out or delete your account; a device on which the app has not been opened for 180 days is removed automatically.
- The log of sent reminders (so none is sent twice), the change history used for sync, link-for-a-vet views and inactive links: 90 days.
- Purchase events from RevenueCat: 400 days (a year of renewals plus a margin). Sales records that tax law requires: 5 years from the end of the year in which the tax became due.
- Backups: every night we make an encrypted copy of the database. We keep copies for at most 45 days, in storage protected against deletion (Object Lock), so that no copy can be erased early even after a break-in. In addition, the server provider keeps copies of the whole server for up to 7 days. Deleted data may therefore survive in backups until they expire. We use backups for nothing but restoring the Service after a failure; if we ever had to restore data from a backup, we would delete again what had been deleted before.
- Server logs: briefly - they are overwritten automatically once they reach a fixed size, usually after a few days and at most after a few weeks.
- App statistics: at most 14 months; crash reports: 90 days.
- Correspondence, complaints and GDPR requests: as long as needed to deal with them, then until claims become time-barred, at most 6 years.
7. The website: cookies and browser storage
The website vetdue.com uses no analytics or advertising cookies and sends no data to Firebase or any other statistics tool. It sets no cookies itself. It uses browser storage (localStorage and sessionStorage) only for what the site needs to work:
- your sign-in session (tokens and basic account details) - until you sign out;
- the language you chose for the site;
- the page to return to after signing in, coordinating sign-out between tabs, the household you opened last, and hiding the bar that suggests the app;
- only while the tab is open (sessionStorage): the state of a Google or e-mail link sign-in and a cached copy of a household’s data.
This storage needs no consent because it is strictly necessary for the service you ask for (Article 399(3) of the Polish Electronic Communications Law). You can remove it by signing out or clearing the site’s data in your browser.
When you choose to sign in with Apple, the site loads Apple’s script; signing in with Google takes you to Google’s page. When you buy Plus on the website, the RevenueCat and Stripe checkout opens, and Stripe may set its own cookies needed for payment security and fraud prevention. Those companies then act under their own privacy policies.
The phone app keeps a copy of your data on the device so that it works offline. The copy is removed when you sign out, use “Delete local data”, or uninstall the app.
8. Your rights
You have the right to:
- access your data and get a copy of it;
- have your data corrected - you can correct most of it yourself in the app or on the website;
- have your data erased - the simplest way is to delete your account;
- restrict processing;
- data portability - on request we send you your data by e-mail in a file in a commonly used format (you can also save an animal’s health book as a PDF at any time);
- object to processing based on our legitimate interest;
- withdraw consent at any time, without affecting the lawfulness of what happened before - for app statistics, turning off the switch on the Account screen is enough.
To exercise your rights, write to maksymilian.wojcik@gmail.com, preferably from the address you use in VetDue so that we can confirm it is you. We answer within 30 days. If a request is very complex or there are many, we may extend this by two further months - we will then tell you why. Exercising your rights is free.
You also have the right to lodge a complaint with the President of the Personal Data Protection Office in Poland (Prezes UODO, ul. Stawki 2, 00-193 Warszawa, uodo.gov.pl) or with the supervisory authority of the EU country where you live or work.
9. Children
VetDue is not directed at people under 16. If we learn that we hold data of a child under 16 without a parent’s or guardian’s consent, we will delete it.
10. How we protect data
- Every connection to the Service is encrypted (HTTPS).
- There are no passwords to leak: you sign in with a one-time link or with Google or Apple. Sign-in links, sessions and links for a vet are stored only as hashes.
- Backups are encrypted before they leave the server, and the key to read them is not kept on the server.
- Photos are uploaded and downloaded through short-lived signed links; only a household’s members can access its data.
- Logs contain no e-mail addresses or secret links.
- Only the administrator can access the servers, and only over a secured, key-based connection.
11. Changes to this policy
When we change this policy, we update the date at the top of the page. We will tell you about significant changes by e-mail or in the app before they take effect. The rules for using the Service are in the Terms of Service.