Privacy Policy
Effective date: July 24, 2026
Botanica is built as a local-first plant care app. This policy explains what stays on your device, what is sent when you use the AI diagnosis and purchase features, and how to control or delete app data.
Plain-English summary
- Botanica does not require an account and does not sell personal information.
- Your plants, diagnoses, cure plans, care tips, saved photos, preferences, and onboarding status are stored locally on your device.
- A photo is sent for AI diagnosis only when you capture or choose an image and start a scan.
- Diagnosis requests go to the Botanica backend on Cloudflare Workers and then to Google Gemini to generate a plant diagnosis.
- The diagnosis request is the only network call the app makes.
- Apple handles App Store payments, and RevenueCat helps manage Botanica Pro entitlements.
- Camera, photo, and notification permissions can be controlled in iOS Settings.
1. Overview
This Privacy Policy applies to the Botanica iOS app, the AI diagnosis backend, Botanica Pro purchase features, these support pages, and related services.
Botanica helps you identify plants, check their health, follow a cure plan, and track recovery over time. The app is designed around local device storage, with network processing used only for the AI diagnosis, and with subscriptions, support email, and App Store services provided by third parties.
Botanica does not create user accounts. It does not operate a cloud account database for your plants or history. If you use the AI diagnosis feature, the photo you select is transmitted to the Botanica backend and Google Gemini so a diagnosis can be generated.
2. Short Summary
| Accounts | Botanica does not require account creation or login. |
|---|---|
| Ads and tracking | Botanica does not show third-party ads, does not use the IDFA, and does not track you across other apps or websites for advertising. |
| Local app data | Plants, check-up history, diagnoses, cure steps, care tips, saved plant photos, language, theme, notification preference, onboarding status, and an anonymous install identifier are stored locally. |
| AI provider | Botanica uses the Google Gemini API through a Botanica backend hosted on Cloudflare Workers. The current backend model is gemini-2.5-flash. |
| Payments | Apple processes App Store payments. RevenueCat helps validate purchases, restore purchases, and manage the plant doctor AI Pro entitlement. |
| Deletion | You can delete individual plants and their history in the app. You can remove remaining local app data by deleting Botanica from your device, subject to your device backup settings. |
3. Information Stored Locally on Your Device
Botanica stores app data locally using iOS app storage: an on-device database for your plants and diagnoses, UserDefaults-backed preferences, and image files saved inside the app's private storage area. Local data can include:
- Plant entries, including the name you give a plant, its identified species (common and Latin name), a cover photo, and the date it was added.
- Check-up history for each plant, including the photo used, whether the plant was assessed as healthy or sick, the likely condition, severity, species and health confidence values, and a suggested number of days until the next check.
- Cure steps for a diagnosis, including step titles, details, and whether you have marked each step as completed.
- Care tips generated for a diagnosis.
- Photos you capture or choose for a plant, saved as image files in the app's private storage so your history and before/after views work offline.
- Preferences such as app language, light/dark theme, whether care notifications are enabled, and whether you have completed onboarding.
- An anonymous per-install identifier (a random value) used only for server-side rate limiting on diagnosis requests. It is not tied to your identity or an account, and reinstalling the app generates a new one.
If you uninstall Botanica, iOS normally removes the app's local data. Device backups controlled by Apple, your device, or your settings may include local app data.
4. Camera, Photo, and Notification Permissions
Botanica asks for permission only when a feature needs it.
- Camera access is used when you choose to capture a new plant photo for a diagnosis.
- Photo library access is used when you choose an existing image to diagnose.
- Notification permission is used when you enable care reminders, such as a reminder to recheck a plant.
- Botanica does not continuously monitor your camera or photo library.
- You can change camera, photo, and notification permissions in iOS Settings.
5. Information Sent for an AI Diagnosis
The AI diagnosis is optional. When you capture or choose a photo and start a diagnosis, Botanica prepares that single image as a JPEG and sends the information needed for the request to the Botanica backend over HTTPS. The request includes:
- The one image you selected, encoded as JPEG data for that diagnosis.
- The media type of the image (for example,
image/jpeg). - Your app language code, so the diagnosis is returned in a language you can read.
- A short anti-abuse token and the anonymous install identifier, sent as request headers so the backend can verify the request comes from the app and apply rate limits.
The backend asks the AI provider to return a structured plant diagnosis with bounded fields such as species name, Latin name, health status, condition, severity, confidence values, cure steps, care tips, and a recheck interval. The app displays this result and, if you save the plant, stores the normalized result locally.
Botanica does not send your other plants, your saved history, your notes, your contacts, or your location with the diagnosis request. Only the single photo and the fields listed above are sent.
6. How AI Requests Travel
- You capture or choose one photo and start a diagnosis.
- The app encodes the image as JPEG and adds your language and the anti-abuse headers.
- The app sends the request to the Botanica backend endpoint
/v1/diagnose. - The backend verifies the request, may apply rate limits, rejects invalid or oversized image data, and builds a Gemini request using server-side credentials.
- The backend sends the prompt and image to the Google Gemini API.
- Google Gemini returns generated JSON text to the backend.
- The backend validates and normalizes the response and returns the diagnosis to the app. If the image is not a plant, it returns a "not a plant" result instead.
- If you choose to save the plant, Botanica stores the diagnosis and the photo locally on your device.
7. Backend Processing and Logs
The production backend is hosted on Cloudflare Workers at a Botanica-controlled endpoint. It receives diagnosis requests, verifies them, applies security headers, may apply rate limiting, forwards the permitted image to Google Gemini, and returns a normalized diagnosis to the app.
Botanica does not intentionally store a database of your photos, prompts, or generated diagnoses on the backend. Cloudflare may process technical and network information needed to operate the Worker, such as IP address, route, request timing, status code, endpoint, security events, and operational logs. Logs are intended for reliability, security, and debugging, not for building a cloud record of your plants. The backend also applies an overall daily request cap to protect reliability and cost.
8. Google Gemini Processing
Botanica uses the Google Gemini API to analyze the selected photo and generate a structured plant diagnosis. Information sent to Gemini includes the image, the diagnosis prompt, and your language, and the generated output is returned to the backend.
AI provider retention, safety review, abuse monitoring, service improvement, and legal disclosure practices may depend on the Gemini API terms, billing status, account configuration, region, and policies in effect at the time of processing. Do not submit photos that you are not comfortable having processed by Botanica, Cloudflare, and Google Gemini.
9. Purchases, App Store, and RevenueCat
Botanica may offer Botanica Pro through Apple App Store in-app purchase. Apple processes the payment transaction through your Apple Account. Botanica does not receive your full payment card number.
RevenueCat helps validate purchases, restore purchases, manage
product offerings, and determine whether the
plant doctor AI Pro entitlement is active. RevenueCat
may process an app-specific anonymous user identifier, Apple receipt
and transaction data, product identifiers, entitlement status,
subscription status, renewal status, expiration information, device
or app technical information, and related purchase analytics.
Exact product names, prices, trial terms, renewal terms, and availability are controlled by the App Store configuration shown in the purchase sheet before you confirm a purchase.
10. Service Providers
Botanica uses service providers to operate app features:
- Apple, for App Store distribution, iOS permissions, in-app purchase, subscription management, refunds, device services, and App Store account management.
- Cloudflare, for Worker hosting, routing, security, rate limiting, and operational logs for the AI diagnosis backend.
- Google, for Google Gemini API processing of AI diagnosis requests.
- RevenueCat, for purchase validation, entitlement management, restore purchases, and subscription analytics.
- Email providers, when you contact the support address.
11. Sensitive Data
Botanica is not designed to process highly sensitive personal information. Avoid capturing photos that include people, documents, or other personal, medical, financial, government ID, password, API key, confidential, or safety-critical information, and avoid adding such information to plant names or support messages.
AI diagnoses are educational and may be wrong. They are not professional horticultural, agricultural, or safety advice, and they are not a substitute for your own judgment or a qualified expert.
12. Your Choices and Data Deletion
- You can decline camera or photo permissions, though the diagnosis feature needs image access to work.
- You can disable care notifications in the app or in iOS Settings.
- You can delete individual plants inside Botanica, which removes that plant's diagnoses, cure steps, care tips, and saved photos from your device.
- You can remove remaining local app data by deleting Botanica from your device, subject to iOS and backup behavior.
- You can manage or cancel subscriptions through your Apple Account subscription settings.
- You can contact support with privacy or deletion questions at [email protected].
Because Botanica does not create user accounts, we may not be able to identify or delete local data on your device or provider records without information from you. Do not send sensitive photos or information unless it is necessary for your request.
13. Security
Botanica uses HTTPS for the diagnosis request and relies on platform security controls provided by iOS, Apple, Cloudflare, Google, and RevenueCat. Backend secrets, such as Google AI credentials, are intended to stay server-side and are not stored in the production iOS app.
No method of local storage, transmission, or processing is perfectly secure. Keep your device, Apple Account, and backups protected.
14. Data Retention
- Records you create in Botanica stay on your device until you delete them in the app or delete the app; device backups you control may retain copies.
- Support emails and their attachments are kept only as long as needed to handle your request and for a reasonable period afterward for our records.
- Subscription status handled by Apple and RevenueCat is retained under their policies for as long as needed to manage your entitlement.
- Images or text you submit for AI analysis are sent only to generate your result and are not used by Soldra to advertise to you or build a marketing profile; any retention by our backend or the third-party AI provider is governed by their terms.
15. International Processing
Botanica and its providers may process information in countries other than your own. Data protection laws may differ from those in your country or region.
16. Children
Botanica is not directed to children under 13. The app does not knowingly collect personal information from children. Because the AI diagnosis uses the Google Gemini API, the diagnosis feature is intended for users who are at least 18 years old or are using the app with appropriate adult involvement. Do not submit children's personal information in photos or support messages.
17. Privacy Rights
Depending on where you live, you may have privacy rights such as the right to request access, correction, deletion, restriction, objection, portability, or information about certain processing. Because Botanica stores most app data locally and does not create accounts, many controls are available directly on your device.
To ask about provider-side, support, or privacy requests, contact [email protected]. We may need enough information to understand and respond to your request, but please avoid sending unnecessary sensitive content.
18. Your Privacy Rights (GDPR, UK GDPR, and EEA)
If you are in the European Economic Area, the United Kingdom, or another region with similar laws, you have rights over your personal data. Because Botanica is local-first, most of your data stays on your device and is not held by Soldra, so many of these rights are exercised directly on your device by viewing, editing, exporting, or deleting your data in the app or by deleting the app.
Subject to applicable law, you may have the right to:
- Access the personal data we hold about you and receive a copy.
- Correct inaccurate or incomplete personal data.
- Delete your personal data ("right to erasure").
- Restrict or object to certain processing of your personal data.
- Receive your data in a portable format where technically feasible.
- Withdraw consent at any time, without affecting processing already carried out.
- Lodge a complaint with your local data protection supervisory authority.
Where Soldra processes limited personal data (for example, support emails or subscription status), our legal bases are: your consent (such as allowing notifications); performance of a contract (providing the app and any subscription you buy); our legitimate interests (operating, securing, and supporting the app); and compliance with legal obligations. To make a request, email [email protected]. We may need to verify your request before acting on it.
19. California Privacy Rights (CCPA/CPRA)
If you are a California resident, you have rights under the California Consumer Privacy Act as amended by the CPRA. Botanica does not sell or share your personal information, and has not done so in the preceding 12 months. We do not use or disclose sensitive personal information for purposes that would require an opt-out.
Subject to applicable law, you have the right to:
- Know what personal information is collected and how it is used.
- Request access to or deletion of your personal information.
- Correct inaccurate personal information.
- Opt out of the sale or sharing of personal information (we do not sell or share).
- Not be discriminated against for exercising your privacy rights.
Because Botanica keeps your records on your device, you can exercise most of these rights directly in the app. For other requests, contact [email protected].
20. App Store Privacy Disclosure Notes
App Store privacy disclosures should match the actual app behavior. Based on the current implementation, Botanica may collect or process the following data types for app functionality, purchases, diagnostics, and support:
- User content you choose to provide, such as plant photos you diagnose, plant names you enter, support emails, and feedback messages.
- Purchases and subscription information processed by Apple and RevenueCat.
- Identifiers such as an anonymous RevenueCat app user identifier used for entitlement management, and an anonymous install identifier used for diagnosis rate limiting.
- Diagnostics or technical data processed by Apple, RevenueCat, Cloudflare, Google Gemini, and support email systems as needed to operate the app and services.
Botanica does not use these data types for third-party advertising tracking and does not sell personal information.
21. Provider Policies
You can review policies and terms for providers used by Botanica:
22. Changes to This Policy
This policy may be updated when Botanica changes, when service providers or legal requirements change, or when purchase, AI, or data practices change. The effective date above shows when this version took effect.
23. Contact
For privacy questions, support requests, or deletion questions, contact [email protected].