Tailspot

Pet Health Diary

Privacy Policy

Effective: 11 May 2026 · Last updated: 11 May 2026

Tailspot is a pet health diary built and operated by Zoran Gojković ("we", "us"). This Privacy Policy explains what we collect, why, who processes it on our behalf, and what control you have. We collect very little by design — most data stays on your phone, and the parts that reach a server are either encrypted end-to-end or contain only what is strictly necessary for the feature you've turned on.

One-paragraph summary. Your pet diary, photos, and notes never leave your phone in plaintext. Pro subscribers get encrypted cloud backup (we hold ciphertext, never the key). The AI Insights feature (opt-in, Pro-only) sends a small structured digest of recent log entries to OpenAI to generate the insight text — no raw notes, no photos, no identity. The veterinary directory sends your coarse location to Google Places only when you open that screen. We do not run ads, we do not sell data, and we do not use analytics or crash trackers.

1. Who we are

Tailspot is operated by Zoran Gojković, an independent developer based in Serbia. For privacy questions or data requests, contact fenixjzdev@gmail.com. Under the GDPR we are the controller for the data described below. The processors we use are listed in section 5.

2. What we collect, by feature

2.1 On-device data (Free and Pro)

Pet profiles, daily logs, weight history, vaccines, medications, photos you attach, and locally-generated rule-engine insights live in the app's encrypted local database and private file storage. None of this leaves your phone unless you enable a feature that explicitly sends specific fields elsewhere (sections 2.2 – 2.7).

2.2 Encrypted cloud sync (Pro)

Pro subscribers' diary data is additionally backed up to our server in encrypted form. The encryption key is derived from your Google Play purchase token and a 32-byte random seed that exists only on your phone — we have no copy. The server stores opaque cipher blobs alongside a per-row UUID, the entry's epoch_day (so we can answer "give me last 30 days" without decrypting), a tombstone flag, and timestamps for conflict resolution. Even with full server access, an attacker would see ciphertext only.

2.3 Pro entitlement (Free upgrades to Pro)

When you start a Pro subscription (or restore one on a new device), Google sends us a purchaseToken and an orderId. We store these to prove your Pro entitlement on every cloud-sync request. We do not receive your payment details, your email, or your name from Google.

2.4 AI Insights (Pro, opt-in)

When you tap "Run AI Analysis" inside the AI Insights card on a pet's detail screen, the app builds a small structured digest of that pet's last 30 days of logged data and sends it to our server. Our server then calls the OpenAI API to generate the insight text and returns the result. This step requires an explicit, in-app consent dialog the first time you use the feature. See section 4 for the full description of what is sent, what is received, and your rights under the EU AI Act.

2.5 Vet Shared Journal (Pro, opt-in)

When you generate a share link to send to your veterinarian, the app uploads a snapshot of the chosen pet's recent records (the same fields that would appear in the vet-ready PDF) to our server. The snapshot is stored in plaintext on the server because the veterinarian, who is not a Tailspot user, opens it in their browser. The link expires after 30 days or when you revoke it. When the vet writes a note back through the link, we store the note text, the vet-entered display name, the share token, the timestamp, and the vet's IP address (for abuse mitigation). The note is synced back to your phone on the next app open and is then visible in the Shared Journal screen.

2.6 Push notifications (Pro)

Your device's Firebase Cloud Messaging (FCM) registration token is stored on our server (together with your purchase token and your in-app language code) so we can push a notification when your vet leaves a new note. We do not push anything else and we do not share the FCM token with anyone else. If FCM reports the token as expired or invalid, our server deletes it.

2.7 Veterinary directory (Pro, opt-in)

When you open the "Find a vet near me" screen, the app requests your coarse (city-level) location and sends it to the Google Places API to fetch a list of nearby veterinary clinics. We do not store your location on our server. The Places API call is made directly from your device using a Google API key.

2.8 Voice-to-log (Pro, opt-in)

The optional voice-to-log feature uses Android's built-in SpeechRecognizer to convert spoken text into a structured log entry. Recognition happens through the speech engine your phone manufacturer ships with Android, which on most devices is Google's on-device or cloud speech service. Tailspot does not record, store, or upload the raw audio — only the recognized text, which the OpenAI API then parses into structured fields (mood, food, symptoms, etc.). The audio buffer itself is discarded as soon as recognition completes.

2.9 Vaccination card OCR (free and Pro)

When you photograph a vaccination card to auto-import vaccine records, Tailspot runs Google ML Kit's on-device text recognition. The image and the recognized text never leave your phone.

3. Permissions we ask for, and why

Android requires us to disclose any permission we declare. Here is the full list with the user-facing reason for each:

4. AI Insights — full transparency notice

This section satisfies our transparency obligations under Article 50 of the EU AI Act. AI Insights produces AI-generated content that interacts with you directly. Read this section before you turn the feature on.

4.1 What it is

AI Insights is an opt-in Pro feature that uses a Large Language Model to look for patterns in your pet's recent logs and produce a short, plain-language summary ("water intake has been low for four days, consider mentioning at the next vet visit"). The output is clearly labeled inside the app as AI-generated content.

4.2 Which model, which provider

The model is OpenAI GPT-4o-mini, operated by OpenAI, L.L.C. (San Francisco, USA). The API call is made from our server, not directly from your phone. OpenAI processes the data under their API data-usage policies; per those policies, prompts sent through the API are not used to train OpenAI's models.

4.3 What is sent

Only a minimized structured digest of the selected pet's last 30 days, in JSON, containing:

The digest does not contain: your name, your email, your device identifiers, your IP address, photos, your pet's name, the free-text notes attached to individual log entries, or your purchase token.

4.4 What is received and how it is used

The model returns the generated insight text and a severity hint. The result is stored in the encrypted Insights table on your device and (for Pro) backed up to our server in encrypted form like every other diary row. It is shown in the AI Insights card on the pet detail screen and on the Health Timeline. It is not used to make any automated decision about you or your pet. It is informational only; you decide what to do with it.

4.5 Your rights

4.6 Not a medical service

Insights are not a veterinary diagnosis, treatment plan, or substitute for professional veterinary care. Every AI insight card carries a visible disclaimer to this effect. If your pet shows signs of illness or distress, contact a licensed veterinarian immediately.

5. Sub-processors and recipients

The following third parties process Tailspot data on our behalf or receive data when a specific feature is in use:

Recipient Purpose Data shared When
Google LLC (Google Play Billing) Subscription processing Purchase token, order id On Pro purchase and renewal
Google LLC (Firebase Cloud Messaging) Push notification delivery FCM registration token, notification payload (vet name + pet name + localized message) On every push (currently: incoming vet notes only)
Google LLC (Places API) Veterinary directory lookup Coarse device location, search query Only when the user opens the "Find a vet near me" screen
Google LLC (ML Kit on-device text recognition) Vaccination card OCR None — runs entirely on-device When the user photographs a vaccination card
OpenAI, L.L.C. AI Insights and voice-to-log text parsing Structured digest as described in section 4.3 (AI Insights) or the recognized voice transcript (voice-to-log) Only when the user explicitly invokes the feature
Shared web hosting (Hostinger / Namecheap-class), Europe Cloud sync ciphertext, vet shared journal snapshots, FCM token registry, audit log Encrypted diary rows, plaintext vet share snapshots, purchase tokens, FCM tokens Continuously while Pro is active

None of these recipients are permitted to use Tailspot data for their own purposes, except as described above and as governed by their own published terms.

6. International transfers

Our hosting server is located in Europe. The Google and OpenAI sub-processors are based in the United States and may process data in data centres outside the European Economic Area. We rely on the EU–US Data Privacy Framework and on Standard Contractual Clauses, where applicable, for such transfers. Both Google and OpenAI are certified DPF participants.

7. Your rights (GDPR, CCPA, and friends)

8. What we do NOT collect

9. Data retention

10. Children's privacy

Tailspot is designed for adult pet owners. We do not knowingly collect data from children under 13 (under 16 in jurisdictions where the digital-consent age is 16). The app is not directed at children. If you believe a child has used Tailspot to create data on our servers, contact us and we will delete it.

11. Security

Cloud-synced diary data uses AES-256-GCM with per-row random IV and authentication tag. Keys never leave your device. TLS protects every request to our server. The service-account key used to send push notifications is stored outside the public web root with restrictive file permissions. We do not offer a bug-bounty programme yet; vulnerability reports are welcome at the contact address.

12. Changes to this policy

We will update this page in place when material changes happen. Substantive changes are flagged inside the app the next time you open it. The "Effective" and "Last updated" dates at the top reflect the most recent revision.

13. Contact

Privacy questions, data requests, or anything you'd like clarified: fenixjzdev@gmail.com.