Bao is a mobile application for Android and iOS that helps you keep track of your pets — their profiles, daily care routines, health-related notes, photos, and reminders. This Privacy Policy explains what information Bao collects, how it's used, who it's shared with, and the choices and rights you have.
Bao is provided by Hugo Fora ("Bao," "we," "us," or "our"). If you have questions about this policy or how your information is handled, see Section 19.
This policy is written to reflect how the app is actually built as of the date above.
To use Bao you create an account with an email address and password. Account creation and sign-in are handled by our backend provider, Supabase, using its email/password authentication. We do not currently offer sign-in with Google, Apple, or other third-party identity providers.
When you sign up, we send a confirmation email to verify your address before your account becomes active. Your password is passed directly to Supabase's authentication service to sign you in, and is never stored by Bao's own code or databases, in any form.
During onboarding you provide a display name, which is stored as your owner profile and used to personalize the app. This profile record is the local mirror of the account record on our backend; it holds no information beyond your name.
Bao's core purpose is helping you record information about your pets. Depending on how you use the app, this can include:
Some of what you enter — a vaccination date, a weight, a note about a vet visit — concerns your pet's health, not yours. Under data protection laws like the GDPR, the special categories of sensitive personal data (health data, biometric data, etc.) apply to information about an identifiable natural person. A pet is not a data subject, so a pet's health or veterinary information is not, by itself, "special category" personal data.
That said, this information can still become your personal data once it is linked to your account: your care history for a pet says something about you (your habits, your location patterns if you log where a walk happened, your household). We treat all account-linked pet data with the same security and access controls as the rest of your account, described in Section 12, even though it does not carry the heightened legal status of sensitive data about a person.
You can add photos of your pets to a pet's profile and to individual Moments, either by taking a picture with your device's camera or choosing one from your photo library. Bao requests camera and photo-library access only when you use this feature.
Before a photo is stored, Bao resizes it and re-encodes it as a JPEG (capped at 2048 pixels on the longest edge) to keep file sizes reasonable; this process does not carry over the original file's embedded metadata into the stored copy.
When you pick a photo that has embedded (EXIF) date or GPS location data — for example, a photo taken by your phone's camera — Bao reads that metadata at the moment of picking, so it can offer to pre-fill a Moment's date and location for you. You can accept or change these values before saving; nothing is added automatically without a save action from you.
Saved photos are uploaded to a private cloud storage bucket (see Section 9) so they sync across your devices. Only your account can read or write the photos associated with it; the bucket is not publicly accessible.
Bao does not request background or foreground device-location permission, and does not track your device's GPS location. A location can still end up attached to a Moment in two, entirely optional, user-initiated ways:
Geocoder API, or Apple's MapKit on iOS) — not a third-party mapping API.If you save a Moment with a location, the coordinates are stored with that Moment and synced like any other Moment data.
Reminders for events you create are scheduled directly on your device (using Android's alarm system or iOS's local notification framework). They are calculated and delivered entirely on-device from your own calendar data — no reminder content or push token is sent to, or generated by, a remote push-notification service. We do not use Firebase Cloud Messaging, Apple Push Notification service, or any comparable push infrastructure.
Bao uses Firebase Crashlytics, a crash-reporting service operated by Google, so that we learn when the app crashes or runs into an unexpected error and can fix it. When that happens, the app sends a technical report to Crashlytics on its next launch. A report contains:
Crash reports are deliberately not linked to your Bao account: we do not send your account identifier, email address, or name to Crashlytics. They also never contain your pets' names or details, your photos, journey-log or health notes, addresses, or sign-in tokens. We use these reports only to find and fix defects in the app.
Crash reporting is active in the versions of Bao distributed through the App Store and Google Play, and there is currently no in-app switch to turn it off. Google retains crash data on our behalf for 90 days.
Besides crash reports, the app also writes ordinary diagnostic log messages to the device's local system log during use. Those local logs are not transmitted to us or to any third party.
Like any networked app, requests Bao makes to our backend (Supabase), to RevenueCat, and to Firebase Crashlytics (Google) necessarily pass your device's IP address and basic technical details (such as app version and operating system) to those providers as part of normal internet communication and their own service logs. We do not separately collect, aggregate, or analyze this information ourselves, and Bao does not integrate any analytics or advertising SDK that profiles you across apps or websites — Crashlytics is used for crash reporting only, and Firebase Analytics is not enabled.
We do not use your data for advertising, and we do not run behavioral analytics or profiling on your usage of the app.
If you are located in the European Economic Area or the United Kingdom, we rely on the following legal bases under the GDPR / UK GDPR:
| Processing activity | Legal basis |
|---|---|
| Creating and maintaining your account; storing and syncing your pet and app data | Performance of a contract with you (our Terms of Service) |
| Scheduling reminders you configure | Performance of a contract with you |
| Processing subscription payments and entitlements | Performance of a contract with you |
| Keeping the service secure and preventing abuse | Legitimate interests (in the integrity and security of the service) |
| Collecting crash and error reports to diagnose and fix defects in the app | Legitimate interests (in providing a stable, working app); the reports are technical, minimised, and not linked to your account |
| Responding to support requests | Legitimate interests / performance of a contract |
| Complying with tax, accounting, or other legal obligations | Legal obligation |
Where we ever ask for your consent for a specific processing activity not covered above (for example, if we introduce optional marketing communications in the future), we will describe that activity and obtain your consent separately, and you may withdraw it at any time.
Bao relies on the following third-party services to operate. Each acts as our service provider / data processor for the purpose described, under its own privacy policy and (where applicable) data processing terms with us.
What it's used for: Supabase is our backend platform. It provides:
pet-images bucket that your photos sync to, likewise restricted to your own account.Data involved: your account credentials, session tokens, and all synced pet/app data and photos described in Sections 2–4.
Role: data processor / service provider acting on our instructions.
Privacy policy: supabase.com/privacy
What it's used for: RevenueCat manages our in-app subscriptions — validating purchases with the Apple App Store and Google Play, and telling the app which premium features your account is entitled to.
Data involved: a RevenueCat-generated subscriber identifier, purchase and subscription/entitlement status, and basic device/app information needed to process purchases. RevenueCat receives this independently of — and is not, as implemented, linked in our code to — your Bao account's identity.
Role: data processor / service provider.
Privacy policy: revenuecat.com/privacy
What it's used for: if you subscribe to Bao's premium features, the purchase itself is transacted through Apple's or Google's in-app billing systems, not directly by us.
Data involved: Apple and Google handle your payment method and billing details directly; we never receive your full payment card information. We receive confirmation of purchase/subscription status (via RevenueCat) so we can unlock the relevant features.
Role: independent controller of the purchase transaction.
Privacy policies: apple.com/legal/privacy · policies.google.com/privacy
What it's used for: crash reporting. When Bao crashes or encounters an unexpected error, a technical report is sent to Crashlytics so we can see that it happened, how often, and where in the code, and fix it.
Data involved: the crash and error details, technical log trail, app and device information, app-state keys, and Crashlytics installation identifier described in Section 5, plus your IP address as part of the network request. No account identifier, email, name, pet data, photo, note, or sign-in token is included. We use only the Crashlytics component of Firebase; Firebase Analytics, Authentication, Cloud Messaging, and other Firebase products are not enabled in the app.
Role: data processor / service provider, under Google's data processing terms. Crash data is stored on Google's servers, which may be located in the United States (see Section 10), and is retained for 90 days.
Privacy policy: firebase.google.com/support/privacy · policies.google.com/privacy
Your data is stored in two places:
Our production and staging Supabase projects — the database and the storage bucket that holds your photos — are hosted in London, United Kingdom (AWS region eu-west-2). For users in the UK, this means your data is not transferred internationally at all. For users in the European Economic Area, this is a transfer to a third country, but the European Commission has issued an adequacy decision recognizing the UK's data protection framework as offering an equivalent level of protection, so this transfer does not require additional safeguards such as Standard Contractual Clauses.
Crash reports sent to Firebase Crashlytics are stored on Google's infrastructure, which may be located in the United States. RevenueCat and the Apple App Store / Google Play may likewise process data in the United States or other countries as part of operating their own services. Where any of our providers transfer personal data out of the EEA, UK, or Switzerland without the benefit of an adequacy decision, we require that they rely on an appropriate safeguard, such as the European Commission's Standard Contractual Clauses.
We keep your account and pet data for as long as your account remains active, so that your information stays available to you. Specifically:
We take a number of concrete steps to protect your information:
No method of transmission or storage is 100% secure, and we cannot guarantee absolute security. We encourage you to use a strong, unique password for your Bao account.
Depending on where you live, you may have some or all of the following rights over your personal information:
To exercise any of these rights, contact us using the details in Section 19. We will respond within the timeframe required by applicable law. We may need to verify your identity before fulfilling certain requests. Deletion can also be requested directly in the app — see Section 14.
Bao does not currently offer a fully self-service, in-app way to export or download a copy of your data. Until that exists, export requests are handled manually via the contact details in Section 19.
Signing out ends your session on that device and clears the copy of your data stored locally on it — your local database, cached photos, and saved session. It does not delete your account or your data from our servers: signing back in restores everything as it was.
Deleting your account is different, and permanent. From Settings, you can choose to delete your account directly in the app. When you confirm this action:
If you cannot use the in-app option — for example you have uninstalled the app — you can delete your account from our website instead, at bao-pets.com/delete-account.html. You enter your account's email address, we send a confirmation link to it, and opening that link completes the deletion. You can also simply contact us at bao.pets.app@gmail.com and we will process the deletion on your behalf.
Bao is not directed at, and is not intended for use by, children under the age of 13 (or the applicable minimum age in your jurisdiction, such as 16 in some EEA member states). We do not knowingly collect personal information from children. The app does not ask a user for their own age or date of birth at any point (the birthday field in a pet's profile is about the pet, not the account holder) and has no age-verification mechanism.
If you believe a child has provided us with personal information, please contact us at bao.pets.app@gmail.com so we can investigate and delete it as appropriate.
Because there is currently no age-gate or age-verification step in the sign-up flow, this is a policy commitment rather than a technically enforced restriction; consider whether an age-affirmation step is appropriate for your target markets.
Bao is designed to be usable by people in the European Union/EEA, the United Kingdom, the United States, and other markets. Wherever you access Bao from, your information will be processed as described in this policy, including transfer to and storage in the countries where our service providers operate, as described in Section 10. By using Bao, you understand that your information may be transferred to countries that may have data protection laws different from those in your country.
We may update this Privacy Policy from time to time to reflect changes in our practices, the app, or legal requirements. We will update the "Last updated" date at the top of this page when we do, and, for material changes, we will provide a more prominent notice (such as an in-app notice or an email to the address on your account) before the change takes effect.
If you have questions, concerns, or requests regarding this Privacy Policy or your personal information, please contact us at:
Hugo Fora
Email: bao.pets.app@gmail.com