# Privacy Policy for Livestock Ledger
**Effective Date:** 2026-04-20
**Developer:** Muhammad Ilyas
**Contact:** muhammadilyas15@gmail.com
## 1. Introduction
Livestock Ledger ("we", "our", "the app") is an offline-first farm record-keeping application for livestock farmers. The app tracks animals, vaccinations, breeding records, feed, transactions, and farm expenses. This Privacy Policy explains how we handle information when you use the app.
By using Livestock Ledger, you agree to the practices described in this policy.
## 2. Information We Collect
### 2.1 Information You Provide (stored locally on your device)
You enter the following information into the app yourself. It is stored on your device and is not uploaded to our servers:
- **Animal records** — name/tag, species, breed, gender, date of birth, weight, purchase price, purchase date, status (active/sold/deceased/breeding), notes
- **Animal photos** — photos you take with your device camera or pick from your gallery
- **Vaccination records** — vaccine name, date given, next-due date, veterinarian name, notes
- **Breeding records** — mating date, expected birth date, actual birth date, offspring count and details, notes
- **Feed log entries** — date, feed type, quantity, cost, notes
- **Transaction records** — type (purchase/sale/other), amount, date, buyer/seller name, linked animal, notes
- **Expense records** — date, category (feed/vaccination/medicine/labour/farm cost/utility bill/equipment/transport/other or your own custom categories), amount, description, notes
- **Preferences** — theme choice, language, currency, custom species list, custom expense categories, reminder toggle states
You do not create an account. The app does not collect your name, email address, phone number, or any other personal identifier.
### 2.2 Information Collected Automatically
- **Crash reports** — if the app crashes, anonymous crash data is sent to Firebase Crashlytics to help us fix bugs. This includes device model, OS version, app version, and the stack trace of the crash. It does NOT include your farm data.
- **Usage analytics** — aggregated, anonymous data about app usage (screens opened, features used, app launches) is sent to Firebase Analytics to help us improve the app.
- **Advertising identifier** — if you use the free tier, Google AdMob may access your device's advertising ID to serve ads.
### 2.3 Information from Third-Party Services
The app does not use sign-in providers such as Google Sign-In or Firebase Authentication. No data is collected from any third-party identity service.
## 3. How We Use Your Information
We use the information you enter to:
- Provide the core functionality of the app (track your animals, vaccinations, breeding cycles, feed, transactions, and expenses)
- Calculate reports and charts (herd value, profit/loss, expense breakdown, feed cost trends)
- Schedule and deliver local reminder notifications for vaccinations and expected births
- Process subscription or one-time premium purchases via Google Play Billing
- Display advertisements to free-tier users through Google AdMob
- Diagnose crashes and improve app performance (Firebase Crashlytics)
- Understand aggregate usage patterns to improve the app (Firebase Analytics)
We do not send your farm records (animals, vaccinations, breeding, feed, transactions, expenses, photos, notes) to any server. These stay on your device.
## 4. Data Storage and Security
### 4.1 Local Storage
All farm data you enter is stored exclusively on your device:
- A local SQLite (Room) database named `livestock_ledger_db` holds your records
- Animal photos you add are copied into the app's private internal storage (`getFilesDir()/animals/`), which is accessible only to this app
- App preferences are stored in Android's SharedPreferences, scoped to this app
### 4.2 No Cloud Sync
This app does not offer cloud backup, account sign-in, or any server-side storage of your farm data. If you uninstall the app or clear its data, everything you entered is permanently deleted from your device. Please back up your device before uninstalling if you wish to preserve records.
### 4.3 Security Measures
- Android enforces app-private storage — other apps on your device cannot read Livestock Ledger's database, preferences, or photos
- All network communication used by advertising, analytics, and crash-reporting SDKs uses HTTPS/TLS encryption
- In-app purchases are processed by Google Play Billing — we never see, store, or transmit your payment details
## 5. Data Sharing
### 5.1 We Do Not Sell Your Data
We do not sell, trade, or rent any information to third parties.
### 5.2 Third-Party Services
Livestock Ledger integrates the following Google services. These services may collect their own data as described in their respective privacy policies:
| Service | Purpose | Data Accessed | Privacy Policy |
|---------|---------|---------------|----------------|
| Google AdMob | Display advertisements to free-tier users | Advertising ID, ad interactions, coarse device info | [Google Privacy Policy](https://policies.google.com/privacy) |
| Google User Messaging Platform (UMP) | Collect GDPR / consent preferences for ads | Consent choices | [Google Privacy Policy](https://policies.google.com/privacy) |
| Firebase Analytics | Anonymous app usage analytics | App events, screen names, device model, OS version | [Firebase Privacy](https://firebase.google.com/support/privacy) |
| Firebase Crashlytics | Automatic crash reports | Stack traces, device model, OS version, app version | [Firebase Privacy](https://firebase.google.com/support/privacy) |
| Google Play Billing | Process subscriptions and one-time purchases | Purchase history, subscription status | [Google Privacy Policy](https://policies.google.com/privacy) |
| Google Play In-App Update | Prompt for app updates | App version check | [Google Privacy Policy](https://policies.google.com/privacy) |
### 5.3 Advertising
- Free-tier users see banner, interstitial, and rewarded advertisements served by Google AdMob.
- AdMob may use your advertising ID and general device information to personalize ads.
- You can opt out of personalized ads in your Android device settings: **Settings → Google → Ads → Opt out of Ads Personalisation**.
- On the first launch in the European Economic Area, the app presents a Google UMP consent form. You can reconsider your consent choice later by uninstalling and reinstalling, or by resetting your advertising ID in device settings.
- Purchasing a monthly subscription, yearly subscription, or the lifetime premium product removes all advertisements.
## 6. Photos and Images
- Photos are captured or picked only when you explicitly tap "Add Photo" or "Change Photo" in the animal form.
- Photos are copied into the app's private internal storage; the original file you picked from the gallery is not modified.
- The app does not declare the CAMERA permission. When you choose "Take Photo", the system camera app is launched; Livestock Ledger receives the resulting image file via Android's `ActivityResultContracts.TakePicture` contract.
- Photos are never uploaded to our servers or any third party.
- You can remove a photo at any time by opening the animal's edit screen and tapping "Remove Photo".
## 7. Permissions We Request
| Permission | Why it is used |
|------------|----------------|
| `INTERNET` | Required to load advertisements, send crash reports, and check for app updates |
| `ACCESS_NETWORK_STATE` | Used by the ad SDK to detect network availability |
| `VIBRATE` | Used for subtle haptic feedback when you save a record |
| `POST_NOTIFICATIONS` | Required on Android 13+ to show vaccination and breeding reminder notifications |
| `RECEIVE_BOOT_COMPLETED` | Allows the app to reschedule your reminders after your device restarts |
| `com.android.vending.BILLING` | Required by Google Play Billing for subscriptions and the lifetime product |
The app does not request access to your location, contacts, microphone, calendar, SMS, call log, or any other sensitive system data.
## 8. Notifications
- Notifications are delivered locally by Android's WorkManager based on vaccination `next due` dates and breeding `expected birth` dates you entered.
- No notification content is sent through the internet or any push-notification server.
- You can turn off each reminder type (vaccination / breeding) independently from **Settings → Reminders**.
- You can also disable all notifications at the OS level from your device's app settings.
## 9. Children's Privacy
Livestock Ledger is a productivity app aimed at farmers and is not directed at children under the age of 13. We do not knowingly collect personal information from children. If you believe a child has provided data to the app, please contact us so we can assist.
## 10. Your Rights and Choices
### 10.1 Access and Control
- Every record you create is directly visible and editable inside the app.
- You can delete any individual animal, vaccination, breeding record, feed log, transaction, or expense via the app's normal delete actions.
- Uninstalling the app removes every record, photo, and preference from your device.
- Because we do not store your farm data on any server, there is no cloud data for us to export or delete on your behalf.
### 10.2 Notifications
- Toggle vaccination and breeding reminders independently from **Settings → Reminders**.
- Revoke the POST_NOTIFICATIONS permission from your device's app settings at any time.
### 10.3 Ad Preferences
- Purchase any premium product (monthly, yearly, or lifetime) to remove all ads.
- Opt out of personalized ads via **Device Settings → Google → Ads**.
- Reset your advertising ID via the same menu.
### 10.4 Analytics and Crash Reporting
Firebase Analytics and Crashlytics can be disabled on a per-device basis by disabling Google Play Services usage data sharing in your device's Google account settings. We do not currently expose an in-app opt-out toggle for analytics.
## 11. GDPR Compliance (European Users)
If you are located in the European Economic Area (EEA) or the United Kingdom, you have the following rights:
- **Right to access** — because your farm data is stored only on your device, the data is already fully accessible to you through the app's normal screens.
- **Right to rectification** — you can edit any record directly in the app.
- **Right to erasure** — you can delete individual records, or uninstall the app to delete everything.
- **Right to object** — you may opt out of personalized advertising through the Google UMP consent flow on first launch, through Android system settings, or by purchasing a premium plan.
- **Right to data portability** — does not apply to data that never leaves your device; export features for CSV/PDF may be added in future versions.
For any other requests or questions, contact us at muhammadilyas15@gmail.com.
## 12. Data Retention
- **Farm data** — retained on your device until you delete it or uninstall the app. We never receive it.
- **Analytics data** — retained by Firebase Analytics according to Google's standard retention period (typically 14 months) and then automatically aggregated.
- **Crash reports** — retained by Firebase Crashlytics for 90 days.
- **Advertising data** — handled by Google AdMob per its own retention policy; see Google's Privacy Policy.
## 13. International Users
Livestock Ledger is developed in Pakistan. By using the app, international users acknowledge that analytics, crash, and advertising data may be processed on Google's servers, which may be located in the United States or other countries. Google maintains its own GDPR-compliant data transfer mechanisms.
## 14. Changes to This Policy
We may update this Privacy Policy from time to time. When we do, we will:
- Update the "Effective Date" at the top of this document
- Post the updated policy at the same public URL linked from the app
Your continued use of the app after changes become effective constitutes acceptance of the revised policy.
## 15. Contact Us
If you have questions or concerns about this Privacy Policy or your data, please contact us at:
**Email:** muhammadilyas15@gmail.com
**Developer:** Muhammad Ilyas
**App:** Livestock Ledger (`com.ilyas.ilyasapps.livestockledger`)
You can also reach the developer from within the app via **Settings → Contact Us**.