This Privacy Policy explains how GardenPlan (“we”, “our”, or “us”) collects, uses, shares, and protects your information when you use the GardenPlan mobile application on iOS and Android, the website at gardenplan.cc, and any related services (together, the “Service”). It applies whether you use GardenPlan as a free user, during a free trial, or as a paid subscriber.
We built GardenPlan to be useful and respectful of your data. What you create — your gardens, pots, plant entries, photos, and notes — stays on your device. We do not sell personal information, we do not share your data with advertisers, and we do not use your content to train AI models.
- ✅ No account needed (Sign in with Apple is optional)
- ✅ No advertising, no IDFA, no cross-app tracking
- ✅ Your gardens stay on your device
- ✅ Photos go to AI only after you allow it
- ✅ Your content is never used to train AI
- ✅ We never sell or share personal data
- ✅ City-level location only (no GPS history)
- ✅ Website analytics is opt-in (cookie banner)
1. Who we are (Data Controller)
The data controller responsible for your personal information is GardenPlan. You can reach us at any time at support@gardenplan.cc for privacy questions, data requests, or to exercise the rights described below.
2. Information we collect
2.1 Information you provide
- Garden content. Gardens, spots and pots, plant entries, planting dates, watering and feeding logs, harvest notes, pot photos and notes you create. All of this is stored on your device only.
- Photos you choose to send. A photo you take or pick to scan a plant (identify it and spot problems) or to add a pot from a photo. These photos are sent to our backend for AI processing only after you allow it — see Section 4.
- Onboarding answers. Your space, pot sizes, sun exposure and whether children or pets live with you (for plant-safety filtering). Stored on your device and used only to suggest plants.
- City. Entered by you, or looked up once when you tap “Use my location” — see Section 3. Used for local weather and watering advice.
- Account (optional). If you choose Sign in with Apple, we receive and store your Apple user ID, the email address Apple shares with us (which can be a private relay address) and, the first time only, the name you choose to share. We use these only to keep your GardenPlan Plus purchase on all your devices. Your gardens are not uploaded to your account. You can delete the account at any time in Settings → Account → Delete account.
- Optional contact. Your email address if you contact support or request data deletion.
2.2 Information collected automatically
- Crash & error reports. When the app crashes or hits an unexpected error, we collect a stack trace, the app version, OS version, device model (e.g. “iPhone 15”), language, free memory and disk space, and a short list of recent in-app events (called “breadcrumbs”) so we can reproduce the bug. For a small sample of sessions we also collect performance timings (how long screens and requests take). Reports are sent to Sentry (see Section 5) and carry a random identifier that Sentry generates for this installation. They do not include your name, email, account, IP address, location or screen recordings, and are used solely to fix bugs and improve stability.
- Subscription state. Whether you have an active subscription or trial, retrieved from RevenueCat using a random identifier, or your GardenPlan account ID if you signed in — see Section 5.
- Abuse prevention. To stop misuse of our AI features, our server stores a one-way hash of your IP address with a request count for about two days. The hash is not linked to your photos, pots or account, and the IP address itself is never stored.
- Website analytics (gardenplan.cc). If — and only if — you accept the cookie banner on our marketing website, we use Firebase Analytics (a Google service, also known as Google Analytics 4) to understand which pages are read and how visitors move around the site. The data we collect is aggregated: page paths viewed, language, device class, country (city-level at most), and Core Web Vitals (load speed, responsiveness). The Firebase Analytics cookies (typically _ga and _ga_*) are first-party and do not contain your name, email, or any identifier we control. They expire after 13 months. No data is collected if you decline the banner. No advertising or cross-site tracking cookies are used on the website. The app itself contains no analytics SDK.
2.3 Information we do NOT collect
- We do not collect your address, phone number, or government ID. We only have your name if you sign in with Apple and choose to share it.
- We do not collect your contacts, calendars, or browser history.
- We do not access your microphone or health data.
- We do not use the iOS Identifier for Advertisers (IDFA) and we do not request App Tracking Transparency (ATT) permission, because we do not track you across other apps or websites.
3. Permissions the app requests
GardenPlan only requests permissions when a feature you use needs them. You can revoke any permission at any time in your device settings; the app will continue to work with that feature disabled.
- Camera. Used only when you take a photo: to scan a plant, to add a pot from a photo, or to add a picture to a pot’s photo log (those pictures stay on your device). We never record video and never use the camera in the background.
- Photo Library. Used only when you pick a photo for the same features. The system picker gives us only the photo you select; we do not read the rest of your library.
- Location (While Using the App). Used only when you tap “Use my location” to find your city, and in Sun Mapper (together with the compass) to estimate the sun hours of a spot — there your position is used on your device only. To turn your position into a city name we ask Apple’s geocoder, or, if that fails, BigDataCloud with coordinates rounded to about 1 km. If no position can be found, ipapi.co estimates your city from your IP address. We keep only the city name, never a GPS history.
- Notifications. Used to deliver the care reminders you have enabled (watering, feeding, harvest). All reminders are scheduled locally on your device — we do not run a push-notification server.
4. How the AI features work
Photo scan and Add from a photo
Two features send a photo: Photo scan (identify a plant and spot problems) and Add from a photo (recognise the plant growing in a pot). The photo is resized and stripped of its metadata (including GPS) on your device, sent over an encrypted (HTTPS) connection to our backend, processed by an AI model operated by OpenAI on our behalf, and the result is returned to your device.
- Before the first photo is sent, the app asks for your permission. Nothing is sent unless you tap “Allow”, and you can turn it off at any time in Settings → Your data → Photo scans.
- We do not store the photo on our servers. OpenAI does not use API inputs to train its models; it may keep them for up to 30 days only to monitor abuse, then deletes them.
- Photos are sent without your name, email, account or any other identifying information.
- Scan results are stored on your device in your scan journal. You can clear it at any time from the app, or remove everything with Settings → Your data → Delete all data.
Smart watering decisions
To decide which pots need water today, GardenPlan sends a short description of your planted pots to our backend, which asks a decision model operated by TypeSafe AI on our behalf. We send only: the plant name, pot size and material, light level, growth stage, days since the last watering, the usual watering interval, whether the pot is exposed to rain, and today’s temperature, chance of rain and weather condition (e.g. “rain”). A random ID for each pot reaches our server so answers can be matched to pots; it is not passed to TypeSafe AI. We do not send your location, city, name, email or photos. If the service is unavailable, the app falls back to your on-device watering schedule.
Pot Doctor
When you ask Pot Doctor what is wrong with a pot, the symptoms you pick (for example “yellow leaves”), where on the plant they appear and how long ago it was planted are sent with the same pot and weather details to TypeSafe AI, which returns the likely causes. Anything you type in the note stays on your device: the app only uses it to pick the matching symptoms. No photo, location or identifier is sent.
Morning note (iPhone only)
On iPhones with Apple Intelligence, the short note at the top of the Home screen is written by Apple’s on-device language model. The text and the facts it is written from never leave your device.
5. Service providers (subprocessors)
We rely on a small number of trusted providers. Each receives only the minimum data necessary to do its job, is contractually bound to protect that data, and is listed below with a link to its own privacy policy:
- Apple — App distribution, in-app purchases, Sign in with Apple, and turning coordinates into a city name. Apple Privacy Policy
- Google — Android app distribution and in-app purchases via Google Play. Google Privacy Policy
- RevenueCat — Subscription state management. We send a random app-user ID, or your GardenPlan account ID if you signed in (never your name or email), so RevenueCat can tell us whether your subscription is active. RevenueCat Privacy Policy
- Supabase — Hosts our public plant catalog and plant images, the optional account (Sign in with Apple), the short-lived hashed-IP counters used for rate limiting, and the Edge Functions that pass photo requests to OpenAI and watering and Pot Doctor requests to TypeSafe AI. Supabase Privacy Policy
- OpenAI — Identifies plants and spots problems in photos you choose to send. Inputs are not used to train OpenAI models. OpenAI Privacy Policy
- TypeSafe AI — Returns today’s watering decision for each pot, and Pot Doctor’s likely causes, from the non-identifying pot, symptom and weather details listed above. TypeSafe AI
- Sentry — Receives crash reports, unhandled errors and sampled performance timings so we can fix bugs. We have configured Sentry to not collect IP addresses, account details, request addresses with location or city, screen recordings, or session replays. Reports carry only the random installation ID described in Section 2.2. Sentry Privacy Policy
- Open-Meteo — Provides weather forecasts. We send the city name you set to find its coordinates, then those city coordinates for the forecast; no personal data. Open-Meteo Terms
- BigDataCloud — Turns your rounded coordinates into a city name when Apple’s geocoder is unavailable, only when you tap “Use my location”. BigDataCloud Privacy Policy
- ipapi.co — If no position can be found, looks up an approximate city from your device’s IP address, only when you tap “Use my location”. ipapi Privacy Policy
- Google (Firebase Analytics / Google Analytics 4) — Web-only. Used to count visits to gardenplan.cc and measure page performance. Runs only after you accept the cookie banner on the website; we operate Google Consent Mode v2 with default-deny so no measurement happens otherwise. Cookies are first-party (_ga, _ga_*), expire after 13 months, and contain no personal identifiers. Google Privacy Policy · Google Analytics opt-out browser add-on
We do not share your personal information with any other third party for their own marketing or advertising purposes.
6. How we use information — purposes & legal bases (GDPR)
For users in the European Economic Area, the United Kingdom, and Switzerland, the legal basis for each processing activity is:
- Provide the Service (weather, watering decisions, Pot Doctor, reminders) — performance of a contract.
- Photo scans and Add from a photo — your consent, asked before the first photo is sent. You can withdraw it at any time in Settings → Your data → Photo scans.
- Optional account (Sign in with Apple) — performance of a contract, at your request.
- Process subscriptions — performance of a contract.
- Crash reports and rate limiting — our legitimate interest in operating a stable, secure product and preventing abuse. This data is pseudonymous and not linked to your identity.
- Website analytics — your consent, given in the cookie banner.
- Comply with legal obligations — legal obligation.
7. Data retention
- Local content (gardens, pots, photos, notes). Kept on your device until you delete it or uninstall the app.
- Photos sent to AI. Not stored on our servers after the response is returned. OpenAI may keep them for up to 30 days for abuse monitoring.
- Account. Kept until you delete it in the app; then removed from our systems within 30 days.
- Hashed-IP rate-limit counters. About two days.
- Crash logs and diagnostics. Retained for up to 90 days, then deleted.
- Support emails. Retained for up to 24 months from last reply, then deleted.
- Subscription records (with RevenueCat). Retained for the life of your subscription plus the period required by Apple and Google for tax and accounting (typically 7 years).
8. International transfers
Our service providers are based primarily in the United States and the European Union. When personal data is transferred outside the EEA, UK, or Switzerland, we rely on the European Commission’s Standard Contractual Clauses or equivalent safeguards to protect your information, and we engage only providers that contractually commit to GDPR-equivalent protection.
9. Your rights — EEA, UK, and Switzerland (GDPR)
You have the right to:
- Access the personal data we hold about you.
- Rectify inaccurate data.
- Erase your data (“right to be forgotten”).
- Restrict or object to processing.
- Data portability — receive your data in a structured, machine-readable format.
- Withdraw consent at any time, without affecting the lawfulness of prior processing.
- Lodge a complaint with your local supervisory authority (a list is available at edpb.europa.eu).
To exercise any of these rights, email support@gardenplan.cc. We will respond within 30 days.
10. Your rights — California (CCPA / CPRA)
If you are a California resident, you have the right to:
- Know what personal information we collect, use, disclose, and (do not) sell.
- Delete personal information we hold about you.
- Correct inaccurate personal information.
- Opt-out of sale or sharing. We do not sell your personal information and we do not “share” it for cross-context behavioral advertising as defined by the CPRA.
- Non-discrimination. We will not discriminate against you for exercising any of these rights.
To exercise these rights, email support@gardenplan.cc with the subject line “California Privacy Request.”
11. Children’s privacy (COPPA)
GardenPlan is intended for users aged 13 and older. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has provided us with personal information, please contact us at support@gardenplan.cc and we will delete it within 30 days.
12. How to delete your data and your account
An account is optional, and almost all of your data lives on your device under your control. You can delete it in three ways:
- Account — in the app. Open Settings → Account → Delete account. You confirm with Apple once more; we then revoke the Sign in with Apple link and delete your account (Apple user ID, email and name) from our servers. Your gardens stay on your device. Deleting the account does not cancel a subscription — manage that in your App Store settings.
- Everything on your device. Open Settings → Your data → Delete all data, or delete the app. This erases your gardens, pots, plants, tasks, scans and preferences.
- Subscription records. To also erase the purchase records held by RevenueCat, email support@gardenplan.cc with the subject line “Data deletion request”. We will delete them within 30 days and confirm by reply, except records we are legally required to retain (e.g. tax-mandated receipts kept by Apple or Google).
13. Security
We use industry-standard transport security (HTTPS / TLS 1.2+) for all network traffic. Backend systems use least-privilege access controls and rate limits, secrets are never embedded in the app bundle, and our AI requests go through server-side Edge Functions so API keys never reach client devices. No system is perfectly secure, but we work hard to keep your information safe and will notify users without undue delay in the event of a personal-data breach as required by law.
14. Changes to this Privacy Policy
We may update this Privacy Policy from time to time. If changes are material, we will notify you in the app and update the “Last updated” date at the top of this page. Continued use of the Service after the change takes effect means you accept the updated policy.
15. Contact us
Privacy questions, data requests, or complaints? Email support@gardenplan.cc. We aim to reply within five business days.