Under Trees - Private diary - Privacy Policy

Last updated: September 22, 2026

This Privacy Policy describes how Under Trees - Private diary, package name net.langhoangal.undertrees (the "App") handles information when you use the App.

The App is provided worldwide on Google Play and the App Store by Lang Hoang, an independent app developer based in Vietnam ("I", "me", or "my").

This policy explains what types of data may be collected, how that data is used, and how off-device processing is protected.

1. Account Access

Creating an account is optional and only applies to features that explicitly require sign-in.

Authentication provider: Google.

The local journal does not require a user-facing account on Android or iPhone. Google sign-in is optional and used only when you choose backup and restore. The Android release may create an anonymous Firebase session for supporting services.

2. Children's Privacy

The App is not directed to children under 13. The minimum recommended age for using the App is 16. It is not declared as a child-directed or Families app on Google Play. If you are a parent or guardian and believe a child has provided personal information directly to me, contact me so I can take appropriate action.

3. Local Device Data

The app stores some information locally on your device.

Core journal content, attached media, tags, affirmations, themes, security settings, reminders, and preferences are stored on your device. Local journal and media storage is not encrypted by the app passcode.

4. Types of data that may be collected and processed outside your device

Optional Google account information

Your Google account identifier, name, and email address may be processed to authorize access to the app-specific Google Drive backup area.

Details
  • Category: Personal info
  • Type: User IDs, Email address, Name
  • Collected: Yes
  • Shared: No
  • Required: No
  • Purposes: App functionality, Account management
  • Processed by:
  • Notes:

    Processed only when you choose Google sign-in for backup and restore.

Optional Google Drive backup

A backup can contain journal entries, dates, moods, formatting, tags, affirmations, and related journal data. It is uploaded only when you start a Drive backup. Attached photos and drawings may be included with a user-initiated Google Drive backup.

Details
  • Category: App activity, Photos and videos
  • Type: Other user-generated content, Photos
  • Collected: Yes
  • Shared: No
  • Required: No
  • Purposes: App functionality
  • Processed by:
  • Notes:

    Journal database content is uploaded only when you explicitly create a backup.

    Photos and drawings attached to journal entries are uploaded only when you explicitly create a backup.

Purchase and subscription data

Purchase and subscription records may be processed to validate Premium access and restore purchases.

Details
  • Category: Financial info
  • Type: Purchase history
  • Collected: Yes
  • Shared: No
  • Required: No
  • Purposes: App functionality
  • Processed by: ,
  • Notes:

    Used to validate Premium access and restore purchases.

Anonymous app identifier

An anonymous Firebase identifier may be processed for supporting app services without creating a user-facing account.

Details
  • Category: Personal info
  • Type: User IDs
  • Collected: Yes
  • Shared: No
  • Required: No
  • Purposes: App functionality, Analytics
  • Processed by:
  • Notes:

    The release app may create an anonymous Firebase session. It does not require you to provide a name, email address, or password.

Device and app identifiers

Technical identifiers may be processed for analytics, remote configuration, and related app operations. Technical identifiers may be processed for advertising, fraud prevention, and measurement when ads are shown.

Details
  • Category: Device or other IDs
  • Type: Device or other IDs
  • Collected: Yes
  • Shared: Yes
  • Required: No
  • Purposes: Analytics, App functionality, Advertising or marketing, Fraud prevention, security, and compliance
  • Processed by: , ,
  • Notes:

    Used for analytics, remote configuration, and related app operations.

    Used for ad delivery, measurement, and fraud prevention where ads are available.

App usage and interactions

Basic feature interactions may be processed to understand usage and improve the app; the app's named analytics events do not include your journal text. Interactions with ads may be processed for delivery, measurement, and fraud prevention.

Details
  • Category: App activity
  • Type: App interactions
  • Collected: Yes
  • Shared: Yes
  • Required: No
  • Purposes: Analytics, Advertising or marketing, Fraud prevention, security, and compliance
  • Processed by: ,
  • Notes:

    Feature events such as adding or reading an entry, searching, selecting a theme, and managing tags or affirmations may be measured. Journal text is not sent in these named events.

    Ad-related interaction telemetry may be collected by the advertising SDK.

Crash data

Crash reports may be processed to diagnose problems and improve app stability.

Details
  • Category: App info and performance
  • Type: Crash logs
  • Collected: Yes
  • Shared: No
  • Required: No
  • Purposes: Analytics
  • Processed by:
  • Notes:

    Used to diagnose crashes and improve app stability.

Diagnostics data

Technical diagnostics may be processed by platform services to monitor app quality.

Details
  • Category: App info and performance
  • Type: Diagnostics
  • Collected: Yes
  • Shared: No
  • Required: No
  • Purposes: Analytics
  • Processed by:
  • Notes:

    Technical diagnostics may be processed by .

6. Service Providers

7. Security

I use reasonable administrative and technical measures appropriate to the information handled directly by me.

Information transmitted to the services described in this policy is sent using their SDKs and encrypted network connections where supported.

No method of electronic transmission or storage is completely secure, and absolute security cannot be guaranteed.

8. Data Retention

Local journal data remains on your device until you delete it, clear app storage, or uninstall the app. User-created backups remain in the app-specific Drive area until you remove them or your Google account policy removes them. Provider-processed purchase, advertising, analytics, authentication, and diagnostics data follows each provider's policy.

Local data: Delete individual entries and related media in the app, or remove all local app data by clearing storage or uninstalling.

Server data: backups remain under your Google account in the app-specific data area until deleted. The app may retain an anonymous Firebase identifier through according to Firebase policy.

Third-party data: , , Firebase services, , , the , and retain data according to their own privacy and retention policies.

9. Data Deletion

Delete individual entries and backups from the relevant screens in the app. To remove all local journal data, clear the app's storage in Android settings where available or uninstall the app on Android or iPhone. backups are associated with the Google account you chose and can be removed from the backup screen where available; Google, Apple, and other providers may retain provider-processed data under their own policies. Email support if you need help identifying the applicable deletion path.

View data deletion instructions

10. Contact

For privacy questions, contact:

Email:support@langhoangal.dev

Journal storage and app lock

Under Trees stores the journal database and attached media in the app's private local storage. The passcode and supported biometrics restrict access through the app interface; they do not independently encrypt the journal database, media files, local backups, or backups. Android protects encrypted preferences with Android Keystore. On iPhone, Under Trees applies iOS complete file protection to its private journal and theme files while they remain inside the app container.

Optional Google Drive backup

access is optional on Android and iPhone. When you sign in and create a backup, the app uploads a copy of the journal database and referenced media to 's app-specific data area. These backups are protected by your Google account and transport encryption, but they are not end-to-end encrypted by Under Trees. Both platforms also support local file backup and restore through the device's file picker or share flow.

Advertising, analytics, and purchases

The free Android and iPhone versions may use for ads, and Remote Config for app usage and configuration, and with the applicable platform store for Premium purchases. On iPhone, tracking or personalized advertising is requested only after the applicable consent and App Tracking Transparency choices. Premium removes in-app ads.

Google AdMob

Google AdMob is Google's mobile advertising platform for showing and measuring in-app ads.

Firebase Analytics

Firebase Analytics helps developers understand app usage and product behavior.

Firebase Authentication

Firebase Authentication helps apps sign users in with supported identity providers.

Firebase Crashlytics

Firebase Crashlytics reports crashes and stability issues to help developers fix app problems.

Firebase Remote Config

Firebase Remote Config lets developers adjust app behavior and content remotely.

Google Identity Services

Google Identity Services provides Google sign-in and account identity flows for apps.

Google Play Billing

Google Play Billing handles in-app purchases and subscriptions for Android apps distributed through Google Play.

Google Play Store

Google Play Store is Google's app distribution platform for Android apps and related purchase or delivery services.

RevenueCat

RevenueCat provides subscription and in-app purchase infrastructure for mobile apps.

Apple App Store

Distributes the iPhone app and processes App Store purchases and subscriptions.

Google Drive

Stores journal backups in the app-specific Drive area only when you sign in, authorize access, and start a backup.