← Back to Bloom

Privacy Policy

Effective date: April 20, 2026 · Last updated:

NLAP.APP ("we", "us", or "our") operates the Bloom mobile application ("the App"). This Privacy Policy explains what information is collected, how it is used, and your choices.

In short: Bloom does not collect or transmit any personal data of its own. The only network activity initiated by the App is ad requests to Google AdMob (banner + rewarded video), governed by Google's consent flow (UMP) in GDPR regions. All app settings remain on your device.

1. Information We Collect

Category Data Collected By Purpose
Advertising Advertising ID, device info, IP address, approximate location (country-level) Google AdMob Serve banner and rewarded video ads
GDPR consent Consent string (TCF v2 format), stored via Google UMP SDK Google UMP (on-device) Regulatory compliance in EEA, UK, Switzerland
Crash diagnostics Crash logs, stack traces, device info (model, OS version, memory), anonymous installation ID Sentry (Functional Software Inc.) App stability monitoring and bug fixing
App settings Sticker configuration, floating button position, theme choice, PRO expiry timestamp, onboarding state Stored locally on device (SharedPreferences) App functionality
Address geocoding (optional, only when adding a navigation destination) Address or place name you type → coordinates. Routed by your chosen default app: Korean apps (Kakao Navi/Map, Naver Map, TMAP) use Kakao Local REST API; other apps (Google Maps, Waze, HERE WeGo, etc.) try HERE Geocoding & Search API first (when configured) and fall back to Android Geocoder (Google Play Services). Resulting coordinates and label are stored locally only Kakao Corp (Local API) for Korean apps · HERE Global B.V. (Geocoding API) and/or Google Play Services for other apps Convert your typed address into latitude/longitude for one-tap navi launch
Saved navigation destinations User-chosen label (e.g. "Home"), coordinates from geocoding, default app id (kakaonavi/google_maps/etc.) Stored locally on device (SharedPreferences) 1-tap navigation launch

We do not collect or transmit:

2. Accessibility Service

Bloom uses Android's AccessibilityService for a narrow set of features:

The accessibility service is configured with canRetrieveWindowContent="false" and canPerformGestures="false". Bloom cannot read the content of other apps' screens, intercept or record keystrokes, or perform gestures on behalf of the user. Its authority is limited to firing the global system actions listed above when you tap a sticker.

Read more about the accessibility usage rationale on the How it works page.

3. Notification Listener (Do Not Disturb toggle)

Bloom registers an Android NotificationListenerService (BloomNotificationListenerService) exclusively for the Do Not Disturb (DND) toggle sticker. On some OEM devices (e.g. Samsung One UI), the standard NotificationManager.setInterruptionFilter() call is silently overridden by the OEM's own DND scheduler. The notification listener registration is therefore the sole mechanism Bloom uses for DND toggling — without this permission, the DND sticker simply prompts you to grant the permission and is otherwise inactive.

What Bloom never does with this permission:

The permission is requested at first use of the DND sticker via a prominent disclosure screen. You can revoke it at any time via Settings → Notifications → Notification access → Bloom DND Toggle. After revocation, the next tap on the DND sticker simply re-shows the disclosure screen — there is no silent fallback or alternate behaviour.

4. Vision pipeline (screen capture and camera)

Bloom includes optional Vision stickers that read the screen or use the camera to provide accessibility-oriented utilities. All processing is performed on-device using ML Kit and AndroidX libraries — no images, text, or video ever leave your device.

Three input sources, selected by the user from a mode sheet on each tap:

What Bloom never does in the Vision pipeline:

You can revoke camera permission at any time via System Settings → Apps → Bloom → Permissions → Camera. Screen capture authorisation is the same as the accessibility permission Bloom already needs for its overlay — you can revoke it via System Settings → Accessibility → Installed apps → Bloom, which disables both the floating overlay and the screen-capture Vision stickers at once.

5. Advertising

Bloom displays ads from Google AdMob in two places:

Google AdMob may collect device information and advertising identifiers to serve personalized ads. In the EEA, UK, and Switzerland, Bloom uses Google's User Messaging Platform (UMP) SDK to collect GDPR consent before any ad request is made. You can manage your consent at any time from Bloom → Settings → Manage privacy preferences (shown only where GDPR applies).

You can opt out of personalized advertising in your device settings under Settings > Google > Ads.

For more information, see Google's Privacy Policy.

6. Data Storage

All app settings are stored locally on your device only using Android SharedPreferences. This includes:

This data is:

7. Children's Privacy

Bloom is a general-purpose accessibility tool. It is not directed to children under 13 and does not knowingly collect information from children. COPPA compliance: tagForChildDirectedTreatment is set to FALSE in our AdMob request configuration, and the App does not advertise to children.

8. Third-Party Services

Service Purpose Privacy Policy
Google AdMob Advertising (banner + rewarded video) Link
Google User Messaging Platform (UMP) GDPR / US state-law consent collection Link
Sentry Crash reporting & diagnostics Link
Google Play Services App distribution, signing, Geocoder backend (global geocoding) Link
Kakao Corp (Local REST API) Korean address / POI geocoding when adding a destination for a Korean navi app (Kakao Navi/Map, Naver Map, TMAP). Only invoked on user-initiated search. Link
HERE Global B.V. (Geocoding & Search API) Global address / POI geocoding when adding a destination for a non-Korean navi app (Google Maps, Waze, HERE WeGo, etc.). Only invoked on user-initiated search and only when an API key is configured by the operator. Link

9. Navigation Destinations (Optional Feature)

If you choose to add a navigation destination sticker (e.g. "Home", "Office") via Settings → Stickers → Destinations → + Add, the following happens:

Bloom never accesses GPS / device location for this feature — destinations are derived from the text you type, not from where you currently are.

10. Crash Reporting (Sentry)

Bloom uses Sentry for crash and stability monitoring. The data sent on a crash is limited to:

Bloom configures Sentry with isSendDefaultPii = false and isAttachScreenshot = false, so email addresses, account identifiers, advertising IDs, and screenshots are never transmitted. Identical errors are deduplicated with a 1-hour cooldown to avoid noise. Sentry retention is 90 days. You can opt out by clearing app data (which regenerates the installation ID) or uninstalling the App.

11. Your Rights

We do not collect or store personal data on our own servers. Crash diagnostic data sent to Sentry is retained for 90 days and does not contain personally identifiable information. All locally stored data can be cleared at any time by uninstalling the App or clearing app data in your device settings. In GDPR jurisdictions, you can withdraw or update your advertising consent at any time through Bloom → Settings → Manage Privacy Options, and you can open this policy at any time via Bloom → Settings → Privacy Policy.

12. Changes to This Policy

We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated effective date. Continued use of the App after changes constitutes acceptance of the revised policy.

13. Contact Us

If you have questions about this Privacy Policy, contact us at: