Plantri (the “App”) values your privacy and complies with the applicable laws of the Republic of Korea, including the Personal Information Protection Act. This policy explains what information the App collects and how it is used, stored, and deleted.
| Permission | Purpose | Storage |
|---|---|---|
| Photos/Camera | Select photos for memos, journals, and schedule backgrounds | Stored on the device by default; backed up to Firebase Storage only after separate consent |
| Calendar | If you turn on “Calendar sync”, read events from your device calendar (including Google and other accounts added to your device) and show them on your timetable and calendar | We read each event’s title, start and end time, and all-day status, and calendar account names so you can choose which accounts to import. Timed events are saved as your schedule items on the device (SQLite) and, if you are signed in, synchronized to Firebase Firestore under users/{uid}. All-day events are only displayed unless you add one to your schedule. We never change events in your device calendar. |
| Notifications | Deliver morning briefings and schedule alerts | Only notification tokens are stored on the device |
To operate and improve the App, Firebase Analytics measures users and sessions, screen and feature journeys, exits, and execution success or failure. Before continuing to use the App, you must freshly acknowledge and consent to the operational analytics and minimal crash-diagnostic scope. An old optional choice or refusal does not automatically grant this new scope.
Under Settings → Analytics, crash and ad measurement consent, you can withdraw consent on this device. This stops reporting and returns to the required-consent screen without deleting your account email, schedules or memos. These are not fully anonymous counts: Analytics uses an app-instance identifier and a signed-in account’s pseudonymous Firebase UID.
We collect app/device information and language/country. We do not send raw email, names, written journal/schedule/memo/goal content, search text, or advertising identifiers to Analytics.
Release builds use Firebase Crashlytics for minimal diagnosis of crashes and application errors only after the fresh operational acknowledgement above. This is not controlled by the legacy optional-detail flag. Crash consent is applied independently even if the Analytics SDK is temporarily unavailable.
We do not set email address, name, or Firebase UID as a Crashlytics user identifier, and we do not intentionally attach the body text of journals, schedules, memos, or goals to crash reports.
We may optionally ask for your age range and gender to understand service use and improve features. You may skip the survey without losing access to any feature. Responses are stored only as Firebase Analytics user properties and in your own account data under users/{uid}, can be edited under Settings → Profile Survey, and are deleted with your account.
Only when you invoke an AI assistant, goal-planning, coaching, or insight feature and separately consent, we send your request and the limited schedule, goal, or journal context needed for that feature to the OpenAI API. The schedule context can include the titles and times of events imported from your device calendar or Google Calendar (for example, for AI assistant answers and the morning briefing). We do not send your email address or Firebase UID.
We use the Meta App Events SDK to measure whether Plantri ads on Facebook, Instagram and Threads led to installs and Pro purchases, and to optimize who sees those ads. It runs only after you confirm the required consent together with the operational analytics and crash diagnostics scope in Section 1.5; nothing is sent before that.
What we share: that the App was installed and opened, when, and how long it was used; first Pro purchases, free-trial starts and conversions, and subscription renewals, with product ID, amount and currency (purchases confirmed by the store are sent to Meta by the servers of our payment provider RevenueCat); app version, OS version, device model, language/country, time zone, screen size and similar technical information, and IP address; a random identifier the Meta SDK creates inside the App; and a one-way hashed version of your account identifier (Firebase UID) used to link purchases to that information.
What we do not share: advertising identifiers (IDFA, Android advertising ID), email address, name, raw Firebase UID, or the text of your journals, schedules, memos or goals. We do not show the iOS App Tracking Transparency prompt.
You can withdraw consent for this device under Settings → Analytics, crash and ad measurement consent; sending to Meta stops immediately and the Meta identifier stored with RevenueCat for purchase reporting is deleted.
Only if you tap Settings → Calendar → Integrations → Google Calendar → Connect and grant access with your Google Account, Plantri uses the Google Calendar API’s read-only scope (calendar.readonly) to read the information below. Plantri never creates, changes or deletes anything in your Google Calendar.
What we read
How we use it: only to show your events on your own timetable, monthly calendar and home-screen widgets, and to bring timed events into your Plantri schedule so you can plan your day.
Where it is stored
users/{uid}) in Firebase Firestore (Google LLC, United States). Other users cannot access them.Sharing and AI features
Protection: all transfers are encrypted with HTTPS. Under Firestore security rules, other users cannot read or write your cloud data, and Google Cloud encrypts it at rest.
Disconnecting and deleting
| Purpose | Information used |
|---|---|
| User identification and sign-in | Email address and UID |
| Cloud synchronization | Schedules, journals, memos, goals, and related settings |
| Photo backup and restoration | Selected photos, UID, generated filename, and upload time |
| Showing and importing device and Google Calendar events | Calendar information described in Sections 1.3 and 1.10, when you turn on sync or connect |
| Requested AI assistant responses, goal plans, coaching, and insights | Request and relevant context described in Section 1.8 after separate consent |
| Notifications | Notification token and time settings |
| Abuse prevention | App Check and authentication tokens |
| Analytics and feature improvement | Analytics information and optional profile survey responses |
| Error diagnosis and stability improvement | Crash diagnostic information described in Section 1.6 |
| Ad measurement and ad delivery optimization | Install, open and purchase information and technical information described in Section 1.9 |
| Data | Location | Retention |
|---|---|---|
| Schedules, journals, memos, and goals | Firebase Firestore under users/{uid} | Deleted immediately when the account is deleted |
| Consented photo backups | Firebase Storage under users/{uid} | Until the photo is deleted, consent is withdrawn, or the account is deleted |
| On-device cache and images | SQLite and App-only folders | Deleted when the account or App is deleted |
| Authentication data | Firebase Authentication | Deleted immediately when the account is deleted |
| Analytics data | Firebase Analytics | Automatically deleted under Google’s retention policy, generally within 14 months |
| Crash diagnostic data | Firebase Crashlytics | Retained for 90 days before Google begins deletion from live and backup systems |
| Ad measurement data | Meta Platforms, Inc. | Retained and deleted under Meta’s Business Tools Terms and data policy |
| Purchase and subscription records | RevenueCat, Inc. | Kept while you use the service for purchase restoration, refunds and support; deleted on request after account deletion |
You may delete your account and data at any time through Settings → My Account → Delete Account.
| Provider | Services | Country |
|---|---|---|
| Google LLC | Firebase Authentication, Firestore, Storage, App Check, Google Sign-In, Firebase Analytics, Firebase Crashlytics, and push notifications | United States |
| Apple Inc. | Sign in with Apple and App Attest | United States |
| OpenAI, L.L.C. | AI comment generation; submitted text is not used for model training | United States |
| RevenueCat, Inc. | In-app purchase and subscription management; with ad measurement consent, forwarding purchase information to Meta | United States |
We do not send identifying information such as your email address or UID to OpenAI. Required text is sent only after you invoke an AI feature and separately consent. OpenAI API inputs and outputs are not used for model training unless Plantri separately opts in, and may be retained in abuse-monitoring logs for up to 30 days.
Photos are transferred and stored overseas only after you separately consent to cloud photo backup. Without consent, photos stay on the device and cannot be restored after the App is deleted or the device is lost.
| Item | Details |
|---|---|
| Legal basis | Article 28-8(1)(1) of Korea’s Personal Information Protection Act |
| Information | Attached photos, schedule backgrounds, Firebase UID, generated filename, and upload time |
| Recipient | Google LLC (Firebase Storage); privacy contact |
| Destination | United States (US-EAST1) |
| Timing/method | Encrypted HTTPS when a photo is attached or connectivity returns |
| Purpose | Backup and restoration after reinstalling or changing devices |
| Retention | Until deletion, withdrawal of consent, or account deletion |
| Withdrawal | Settings → Cloud Photo Backup; server backups are deleted on withdrawal |
Only when you invoke an AI feature and separately consent, the required text is transferred overseas as follows.
| Item | Details |
|---|---|
| Data transferred | Your AI request and limited schedule, goal, or journal context needed for the feature; email address and UID are excluded. Schedule context can include the titles and times of events imported from your device calendar or Google Calendar |
| Recipient | OpenAI, L.L.C. |
| Destination | United States |
| Timing and method | Encrypted HTTPS through Plantri servers when you invoke an AI feature |
| Purpose | AI assistant responses, goal plans, coaching, and insights |
| Retention and training | Not used for model training; may be retained in abuse-monitoring logs for up to 30 days |
| Refusal and withdrawal | Withdraw under Settings → AI Data Sharing Consent. Refusal limits only AI features |
| Item | Details |
|---|---|
| Data transferred | Install, open and purchase information, technical information, IP address, Meta SDK random identifier and hashed account identifier described in Section 1.9 (advertising IDs, email and raw UID excluded) |
| Recipient | Meta Platforms, Inc., Meta Privacy Policy |
| Destination | United States |
| Timing and method | After required consent, sent over encrypted HTTPS by the Meta SDK when the App is opened and by RevenueCat’s servers when a purchase, trial or renewal occurs |
| Purpose | Measuring installs and purchases from Plantri ads and optimizing ad delivery |
| Retention | Under Meta’s Business Tools Terms and data policy |
| Withdrawal | Settings → Analytics, crash and ad measurement consent. Because this is part of the required scope, withdrawing returns you to the consent screen |
| Item | Details |
|---|---|
| Legal basis | Article 28-8(1)(3) of Korea’s Personal Information Protection Act (processing and storage needed to perform our contract, disclosed in this policy) |
| Data transferred | Firebase UID, store purchase and subscription history (product, amount, currency, country, transaction ID, purchase and expiry times), technical information such as app and OS version, and, if you consented to ad measurement, the Meta SDK random identifier |
| Recipient | RevenueCat, Inc., RevenueCat Privacy Policy |
| Destination | United States |
| Timing and method | Encrypted HTTPS when the App is opened, a purchase is made, or purchases are restored |
| Purpose | Verifying purchases, managing and sharing Pro access across devices, and restoring purchases |
| Retention | Kept while you use the service; deleted on request after account deletion |
| Refusal | This processing is needed to provide purchases, so there is no separate opt-out; no purchase history is sent unless you buy Pro |
Only when you sign in, your account information and records are transferred and stored overseas as follows so they can be synced across devices and restored. If you use the App without signing in, your schedules, to-dos, memos, journals and goals stay only on your device and are not transferred overseas.
| Item | Details |
|---|---|
| Legal basis | Article 28-8(1)(3) of Korea’s Personal Information Protection Act (processing and storage needed to perform our contract, disclosed in this policy) |
| Data transferred | Account information in Section 1.1 (email address, name, UID); records in Section 1.2 (schedules, to-dos and routines, journal entries and quick notes, memos, goals) and app settings; and your profile survey answers in Section 1.7, if you gave them. Photos are included only with the separate consent in Section 5.1 |
| Recipient | Google LLC (Firebase Authentication, Cloud Firestore), privacy contact |
| Destination | United States (Cloud Firestore location: nam5, US multi-region) |
| Timing and method | Encrypted HTTPS when you sign in, and when you create or change records or open the App while signed in |
| Purpose | Managing your sign-in account, syncing across devices, and restoring data after reinstalling or changing devices |
| Retention | Until you delete the records or your account (deleted immediately when the account is deleted) |
| Refusal | If you use the App without signing in, your records are not transferred overseas; device sync and backup/restore are then unavailable |
Except for the ad measurement information shared with Meta Platforms, Inc. under Sections 1.9 and 5.3, Plantri does not provide your personal information to outside third parties, except when required through a lawful process such as a valid request from an investigative authority.
| Recipient | Purpose | Information | Retention |
|---|---|---|---|
| Meta Platforms, Inc. | Ad measurement and ad delivery optimization | Information described in Section 1.9 | Under Meta’s policies |
users/{uid} dataPlantri does not knowingly collect personal information from children under 14. If we learn that a child under 14 attempted to create an account, we will delete it immediately.
We will announce changes and their reasons in the App or on this page at least seven days before they take effect, or 30 days in advance for changes that materially affect user rights. A change that narrows processing or immediately strengthens privacy and user choice may take effect promptly after notice with the reason stated.
This revision (October 10, 2026) explains in more detail how the existing Google Calendar connection and AI features process data. It does not change what we collect or how we use it, so under the exception above it takes effect on the day it is announced.