1. Who We Are
Bull Terrier Buddy ("we", "our", "us") is the developer of the Bull Terrier Buddy mobile application available on the Apple App Store and Google Play Store, and the website at bull-terrier-buddy.com.
Contact: aarondavidminton+bullterrierbuddy@hotmail.co.uk
2. Data Stored Locally on Your Device
The following information is stored exclusively on your device using secure local storage. It is never uploaded to our servers and is not accessible to us.
Dog Profiles
- Name, breed, birth date, sex, coat colour
- Hearing status, neutered / KC registered / microchipped flags
- Allergies text, owner notes
- Optional dog photo (stored as a local file on your device; we never receive it)
- Vet clinic name, vet name, phone number, appointment dates
- Medical conditions and allergy entries
Health & Care Tracking
- Weight history and body condition scores
- Exercise, behaviour, skin/coat, mobility, hearing, and cardiac log entries
- Medication records (name, dose, frequency, start/end dates, reminder settings)
- Vet cost entries
- Life Ledger journal events
- Care plan tasks with completion history
App Preferences
- Weight unit, currency, date format preferences
- Food checker favourites
- Subscription status (product ID, expiry date, lifetime unlock flag — no payment details)
- Disclaimer accepted flag and cumulative app-open count
All of the above is saved in SharedPreferences on your device. You can export it at any time as a JSON backup file, or delete it by clearing app data or uninstalling the app.
3. Data That Leaves Your Device
The following table summarises every situation in which data is sent off your device, why, and what is transmitted.
| Feature / Service | What is sent | Where it goes | When |
|---|---|---|---|
| AI Food Label Scan Cloud |
The food label photo only (base64-encoded image, max ~4 MB). No dog name, health data, or user identity is included. | Our Firebase Cloud Function, which passes the image to Google Gemini 2.5 Flash. The image is processed to extract nutritional data and the result is returned to the app. Google's data handling is governed by the Google Privacy Policy and Google Cloud terms. | Only when you tap "Scan with AI" on the Food Label Scanner screen. |
| Crash Reporting Cloud |
Stack traces, error messages, device model, OS version, and app version. No dog data or personal identifiers are included. | Firebase Crashlytics (Google). Only enabled in release builds; disabled in debug mode. | Automatically, only when an unhandled error occurs. |
| Anonymous Usage Analytics Cloud |
Anonymous event names only (e.g. app_session, disclaimer_accepted, milestone open counts). No dog data, user identity, or purchase details. |
Firebase Analytics (Google). Advertising ID collection is explicitly disabled. | On app start and at specific interaction milestones. |
| Disclaimer Acceptance Cloud |
A single anonymous record: { appId: "bull-terrier-buddy", acceptedAt: <timestamp> }. No user identity. |
Cloud Firestore (Google). | Once, when you accept the first-launch veterinary disclaimer. |
| In-App Purchases Platform |
Purchase transactions are handled entirely by Google Play or the Apple App Store. We never see your payment card details. | Google Play / Apple App Store billing systems. Governed by their respective privacy policies. | When you subscribe or make a purchase. |
4. AI Features
4a. AI Food Label Scanner (Gemini 2.5 Flash)
When you use the AI scan feature, your food label photo is sent from the app to our secure Firebase Cloud Function running on Google Cloud. The Cloud Function passes the image to Google Gemini 2.5 Flash, a large language model (LLM) provided by Google.
- The AI extracts nutritional values and ingredient information from the label image.
- The result is returned to the app and displayed to you. Results are cached in-memory for the session to avoid sending the same image twice.
- No dog data, health records, or personal identifiers are included in this request. Only the raw image is transmitted.
- Our Gemini API key is stored as a Firebase Secret and is never included in the app binary.
- By using this feature, your food label image is processed by Google's AI infrastructure. See the Google Cloud Data Processing Addendum for how Google handles data in Cloud Functions and Vertex AI workloads.
4b. On-Device OCR (Google ML Kit)
The app also uses Google ML Kit Text Recognition to read text directly from food label images on your device. This runs entirely locally — no data leaves your device during this process.
4c. Flare-Up Analyser ("Buddy Brain")
The Buddy Brain flare-up analysis tool uses a fully local, rule-based algorithm to score possible causes of skin flare-ups based on your input and local health logs. Despite the "AI" branding, no machine learning model or external service is used. All computation happens on your device and no data is transmitted.
5. Permissions
| Permission | Platform | Why it is needed |
|---|---|---|
| Camera | iOS & Android | To take a photo for a dog profile or to capture a food label for scanning. |
| Photo Library (read) | iOS & Android | To select an existing photo for a dog profile or to pick a saved food label image for scanning. |
| Photo Library (write / add) | iOS | To save exported vet report PDFs or scanned label images to your photo library. |
| Notifications / POST_NOTIFICATIONS | iOS & Android 13+ | To deliver medication and care plan reminders you have set up. |
| SCHEDULE_EXACT_ALARM | Android 12+ | To fire reminders at exact scheduled times. Falls back to inexact scheduling if denied. |
| USE_FULL_SCREEN_INTENT | Android 14+ | To display full-screen medication reminders when the device is locked. |
| Internet (INTERNET) | Android | Required for Firebase, Cloud Functions (AI scan), and in-app purchases. |
We do not request or use microphone, contacts, location, or Bluetooth permissions.
On Android, advertising ID (AD_ID) collection is explicitly disabled in both our app configuration and Firebase Analytics settings.
6. Notifications
All notifications are local notifications only — there are no push notifications and no Firebase Cloud Messaging (FCM) integration. Notifications are scheduled entirely on your device for:
- Medication reminders (configurable per medication)
- Care plan task reminders (daily, weekly, monthly, seasonal, biannual, or annual)
Notification content includes your dog's name and the relevant medication or task name — this is handled entirely on-device and is never transmitted to us.
7. In-App Purchases & Subscriptions
Subscriptions and purchases are managed by the Apple App Store or Google Play Store depending on your device. We never handle or store your payment card details. The app stores only the following locally:
- The product ID of your active subscription
- Subscription expiry date
- Lifetime unlock flag (for legacy lifetime purchasers)
For subscription billing, refunds, and payment privacy, refer to Apple's Privacy Policy or Google's Privacy Policy.
8. Third-Party Services Summary
| Service | Provider | Purpose | Data involved |
|---|---|---|---|
| Firebase Analytics | Anonymous usage statistics | Anonymous event names only; no AD_ID | |
| Firebase Crashlytics | Crash & error reporting | Stack traces, device/OS info; no personal data | |
| Cloud Firestore | Anonymous disclaimer logging | Timestamp + static app identifier only | |
| Firebase Cloud Functions | AI food label scanning relay | Food label image only | |
| Gemini 2.5 Flash | AI nutritional extraction from food labels | Food label image only | |
| ML Kit Text Recognition | On-device OCR | On-device only; no data transmitted | |
| App Store / Google Play | Apple / Google | Subscription billing | Handled by platform; we see only product ID |
9. Website Analytics
The Bull Terrier Buddy website uses Google Analytics only after you explicitly opt in via the consent banner. No analytics scripts run unless you click "Accept".
- Your consent choice is stored in your browser's localStorage and persists across visits.
- To reset your choice, clear site data / localStorage for this site.
- IP anonymisation is enabled when analytics is active.
- We use aggregated, anonymous traffic data (e.g. page views) only to improve the website.
10. Backup & Export
If you use the backup feature, your app data is exported to a JSON file at a location you choose on your device or cloud storage. That file is entirely under your control. It is not automatically uploaded to us. You are responsible for protecting any backup files you share or store in third-party cloud services.
11. Data Retention & Deletion
- Local app data: Retained until you delete it in-app, clear app data, or uninstall the app.
- Firebase Analytics & Crashlytics: Retained per Google's standard retention periods (typically 2 months to 14 months depending on the event type). We cannot identify or retrieve individual users' data from these systems.
- Disclaimer acceptance record: Retained in Firestore indefinitely as an anonymous timestamp with no link to any identifiable user.
- AI scan images: Food label images passed to the Cloud Function are not stored by us. Google's Gemini API processes and discards them per Google Cloud terms.
12. Children's Privacy
Bull Terrier Buddy is not directed at children under 13. The app does not require account creation and does not knowingly collect personal data from children through a server. Because the app is local-first, no child's data is transmitted to our systems.
13. Data Security
We apply reasonable safeguards including:
- All network requests (Firebase, Cloud Functions) use HTTPS/TLS encryption in transit.
- Our Gemini API key is stored as a Firebase Secret and is never embedded in the app binary or source code.
- The Cloud Function enforces request validation and size limits.
No storage system is entirely risk-free. You are responsible for protecting your device, backup files, and any exported data you share.
14. Your Choices & Rights
- Access / export: Use the in-app backup feature to export all your data at any time.
- Deletion: Delete individual records in-app, or uninstall the app to remove all local data.
- AI scanning: The AI food label scan is entirely optional. You can use the app — including the food checker — without ever triggering an AI scan.
- Notifications: Grant or revoke notification permission in your device settings at any time.
- Camera / photos: Grant or revoke these permissions in your device settings at any time. Revoking camera/photo access will prevent profile photo selection and AI label scanning.
- Analytics opt-out (website): Reject or reset consent via the banner on the website.
15. Changes to This Policy
If we introduce new features that change how data is collected or processed (for example, cloud sync, user accounts, or new AI capabilities), this policy will be updated before or at the time those changes ship. The effective date at the top of this page will always reflect the most recent version.
16. Disclaimer
Bull Terrier Buddy provides general educational information and tracking tools for dog owners. It is not a substitute for professional veterinary advice, diagnosis, or treatment. Always consult a qualified veterinarian for guidance about your dog's health, behaviour, and treatment decisions. In emergencies, contact your veterinarian or a local emergency animal hospital immediately.
AI-generated nutritional data from food label scans is provided for informational purposes only. Results may be incomplete or inaccurate. Always verify information independently and consult your vet for dietary advice.
17. Contact
For privacy questions or requests: