PawCast Privacy Policy
This policy explains how PawCast, operated by Yushang Lung under CB Studio ("PawCast", "we", "us"), handles information in the Android app. Contact us at aa22396584@gmail.com.
PawCast can continue location sampling in the background only during a walk that you explicitly start. Firebase Analytics and Crashlytics records may be linked to your Firebase user ID and are not described as anonymous.
1. Information PawCast handles
Account and identity
PawCast uses Firebase Authentication. The app may create an anonymous Firebase account so account-backed features can work without a registration form. If you choose Google sign-in, Firebase may receive your email address, display name, profile image, and Google/Firebase account identifiers. PawCast uses the Firebase user ID to associate cloud records with your account and may provide it to Firebase Analytics, Firebase Crashlytics, and RevenueCat.
Location, weather, maps, and walks
- Weather: after you grant location access and request local weather, precise coordinates are sent to a Firebase backend protected by Firebase App Check. The backend sends coordinates to OpenWeatherMap and Open-Meteo. Weather cache records use coordinates rounded to approximately two decimal places.
- Active walks: after you explicitly start a walk, PawCast may process precise coordinates, timestamps, speed, distance, duration, and a simplified route. On Android, a foreground location service can continue this user-started session while the app is in the background. PawCast is not designed to start passive location tracking when no walk is active.
- Walk history: walk summaries and routes may be saved locally and, when an account is available, in Cloud Firestore under your Firebase user ID.
- Maps: OpenStreetMap's standard tile service receives the requested tile coordinates, PawCast's identifying User-Agent, IP address, and ordinary network metadata when a map is displayed.
You can deny or revoke location access in Android settings, and you can stop an active walk in the app. Weather, route tracking, and map features will not work fully without the relevant access.
Dog profiles, photos, AI, and pet-health features
You may provide dog profile details such as name, breed, age, weight, coat information, health-related tags, special needs, and a photo. These details can be stored locally or in Firebase and may be included in an AI-advice request when you use that feature.
If a pet-health feature is available and you choose to use it, PawCast may process a camera or gallery image, a re-encoded copy with EXIF metadata removed, scan inputs and results, consent records, and technical quota or cleanup records. Requested AI processing can use Firebase services and a deployed Google Gemini service. AI output is informational and is not veterinary diagnosis or emergency care.
Purchases and subscriptions
Google Play handles Android purchases. PawCast uses RevenueCat to manage entitlements and may process product identifiers, store and environment, purchase history, transaction identifiers, expiration and entitlement status, and a RevenueCat App User ID. When you are signed in, that identifier may be linked to your Firebase user ID.
Feedback, local drafts, and exports
If you send feedback, PawCast processes the category you select, your description, an optional contact value, client and server timestamps, a submission identifier, a public reference, internal correlation identifiers, and your Firebase account association. Do not include passwords, authentication tokens, precise coordinates, pet-health details, or other sensitive information in free-text fields.
You can choose whether to attach a limited diagnostic preview. Only the fields shown in the app can be submitted: app version, platform, operating-system version, locale, device model, network state, and authentication state. PawCast validates these fields and rejects common secret, contact, coordinate, URL, and pet-health patterns, but no automated filter can identify every sensitive value.
Feedback drafts are stored only on your device for up to 30 days after the last edit and can be deleted at any time. Submitted feedback is stored in Firebase under your account. Authenticated users can export their unexpired feedback history in Settings; the result is displayed on the device unless you copy it elsewhere.
Usage, diagnostics, messaging, security, and ads
- Firebase Analytics: app interactions, selected feature events, locale, subscription state, app-instance identifiers, and the Firebase user ID assigned by PawCast. PawCast's event contract excludes raw coordinates, email addresses, dog names, notification text, and raw error text.
- Firebase Crashlytics: crash traces, diagnostics, device and app state, installation identifiers, developer-supplied logs or keys, and the Firebase user ID assigned by PawCast.
- Firebase Cloud Messaging: installation and registration tokens, app version, and delivery metadata needed for service messages.
- Firebase App Check, Play Integrity, Remote Config, and Firebase Installations: attestation, installation-linked identifiers, and technical data used to prevent abuse and deliver app configuration.
- Google AdMob: PawCast uses AdMob for the ad placements already present in the app. Google may process or share IP address, product interactions, diagnostics, advertising or device identifiers, and approximate location inferred from network information for ads, analytics, and fraud prevention. Ad personalization and consent options depend on your region, device settings, and Google's consent controls; you can manage choices when they are presented and through applicable device or Google settings.
2. Why we use information
We use information to authenticate accounts; provide weather, maps, walks, reminders, dog profiles, subscriptions, feedback, exports, and optional AI features; synchronize and recover account data; respond to feedback; send service messages; measure feature use; diagnose failures; protect the service and enforce quotas; show and measure existing ads; process privacy requests; and meet legal obligations.
3. Providers and disclosure
| Provider | Purpose and information involved |
|---|---|
| Google Firebase | Authentication, Firestore, Storage, Functions, Analytics, Crashlytics, FCM, App Check, Remote Config, and installation services; account IDs, user content, photos, walk/location records, feedback, optional feedback contact and diagnostics, usage, tokens, IP address, and request metadata as applicable. |
| Google Play | App distribution, billing, and Play Integrity; purchase, account, transaction, device, and integrity information. |
| Google AdMob | Advertising, measurement, and fraud prevention; network, device/advertising identifiers, product interactions, and diagnostics. |
| RevenueCat | Subscription entitlement management; subscriber IDs, product and entitlement status, and purchase history. |
| OpenWeatherMap and Open-Meteo | Weather requested for a coordinate; coordinates and backend request/network metadata. |
| Google Gemini | AI features you request; the minimum relevant dog, weather, walk, image, or pet-health inputs. |
| OpenStreetMap standard tile service | Map tiles; IP address, PawCast User-Agent, and requested tile coordinates. |
We may also disclose information when required by law, to protect users or the service, during a business transfer subject to appropriate safeguards, or when you direct us to do so. Some advertising transfers may be treated as a "sale" or "sharing" under regional law even when PawCast receives no payment for personal information.
4. Retention
- Account-backed dog, walk, reminder, AI, and pet-health records are generally kept until you delete the applicable record or your account, subject to security records and provider backups. Removing an individual dog profile does not currently prove that a separately stored dog photo was removed; completed account deletion targets the account's dog-photo Storage prefix, and you can contact us for individual-photo cleanup.
- Local dog, walk, reminder, and temporary data remain on the device until removed by the feature, account deletion, app-data clearing, or uninstall.
- Local feedback drafts expire up to 30 days after the last edit. Submitted feedback reports, submission-deduplication records, and public-reference records are assigned an expiry approximately 180 days after submission; feedback rate-limit records use shorter expiry periods. Firestore TTL and scheduled cleanup are asynchronous, so physical deletion can occur later. Public-reference records use a SHA-256-derived account hash rather than the raw Firebase user ID.
- Finalized pet-health media is assigned a backend deletion-eligibility timestamp approximately 24 hours after finalization. Scheduled cleanup, retries, audit and security records, and provider backups can remain longer; do not interpret the timestamp as proof of physical deletion at exactly 24 hours.
- Weather cache entries stop being treated as fresh after about ten minutes and are removed by bounded scheduled cleanup (with asynchronous Firestore TTL used where configured). Because entries are keyed by rounded coordinates rather than a Firebase user ID, account deletion may not identify a specific cache record, and physical deletion may occur after freshness expires.
- Firebase documents approximately 90-day retention for Crashlytics crash traces and associated identifiers. When Android account deletion requests removal of the current Firebase Installation ID, Firebase documents that removal from live and backup systems can take up to 180 days; Firebase services may later create a new, unrelated Installation ID. Deleting that ID does not itself delete Google Analytics data. Firebase Authentication, FCM, Analytics, and other backup data follow Google's configured retention and deletion processes, so provider-side removal may not be immediate.
- RevenueCat and Google Play may retain purchase, tax, fraud-prevention, and transaction records as required. AdMob, OpenWeatherMap, Open-Meteo, Gemini, and OpenStreetMap retain service logs under their own settings and policies.
- After you request account deletion, PawCast keeps two server-only deletion guards: a SHA-256-derived pseudonymous key used by backend transactions, and a Firebase-user-ID-keyed access block required so Firestore and Storage Security Rules can reject still-valid pre-deletion sign-in tokens. A separate opaque continuation receipt may retain the raw Firebase user ID for up to seven days after PawCast data deletion so a lost response or offline device cannot strand Firebase Authentication deletion. Daily cleanup first finishes any pending Authentication deletion, converts the receipt to an identifier-free completion proof, and only then removes eligible guards. Guard bodies contain timestamps and a schema version but no profile, dog, walk, health, purchase, or activity fields. Cleanup eligibility begins after seven days from the most recent deletion-processing event, so physical removal can occur approximately 24 hours later.
- We may retain limited records when needed for security, fraud prevention, legal claims, accounting, or compliance, and may retain aggregate or de-identified statistics that no longer identify you.
5. Account and data deletion
In PawCast, open Settings → Delete account. You can also use our public account-deletion instructions if you cannot access the app.
A completed in-app deletion requests removal of the Firebase user tree and related dog, walk, health, usage, AI-cache, merge-ticket, feedback-report, and Storage records that PawCast can associate with the Firebase user ID. It also clears PawCast local preferences, feedback drafts, reminders, notifications, and temporary health media; makes best-effort requests to delete the current FCM token and Android Firebase Installation ID; resets the app's Analytics identity; logs out of RevenueCat; and deletes the Firebase Authentication account. Expiring global feedback-reference and abuse-prevention records are not stored inside the Firebase user tree and may remain until their scheduled expiry. Connectivity or recent-sign-in requirements can delay completion, and the app may retry a pending request. Do not assume deletion is complete until PawCast confirms it.
Deleting a PawCast account does not cancel a Google Play subscription and does not by itself guarantee deletion of RevenueCat's customer profile, Google Play transaction records, provider logs, backups, or records not linked to your Firebase user ID. The public deletion page explains how to request provider-linked cleanup. Manage or cancel subscriptions separately in Google Play.
6. Your choices and rights
You can manage Android permissions, stop an active walk, manage notification access, make available advertising-consent choices, delete records in the app, export unexpired feedback from Settings, clear app data, uninstall PawCast, or request account deletion. Depending on your location, you may also have rights to access, correct, export, object to, restrict, or delete personal information. Email aa22396584@gmail.com. We may need to verify your identity before acting on a request.
7. Security, international processing, and children
PawCast and its providers use measures such as HTTPS/TLS, Firebase access controls, App Check, authenticated backend functions, scoped storage paths, and image re-encoding. No system is completely secure. Providers may process information in countries other than yours under their contractual and legal safeguards.
PawCast is a general-audience dog-walking app and is not knowingly directed to children below the age at which they can consent to data processing in their region. A parent or guardian who believes a child submitted information without valid consent should contact us for review and deletion.
8. Changes and contact
We may update this policy when features, providers, or legal requirements change. We will update the date above and provide additional notice when required.
Operator: Yushang Lung, CB Studio
Email: aa22396584@gmail.com
Deletion page: https://iml1s.github.io/pawcast-account-deletion.html