Gauge Log: River Levels — Privacy Policy
Last updated: 2026-10-08
This privacy policy applies to the mobile app "Gauge Log: River Levels" for Android:
- Google Play: package com.simonj.riverlevels, developer "Global Utility App Maker"
The app is developed and operated by Kyu-Hee Jang (Google Play developer name: Global Utility App Maker).
Contact: wkdrb2100@gmail.com
OVERVIEW
Gauge Log does not require an account, and we do not sell personal information. It shows recent water level and flow readings from public river gauges in the United States, England, Germany, and France, lets you log trips with your own rating and note, and can notify you when a gauge you choose crosses a level you set. Your trips, alerts, and settings are kept in the app's storage on your device. To show readings, the app requests public data from government gauge services. The app also uses Google services and an advertising mediation partner for analytics, crash reporting, remote configuration, and advertising.
PUBLIC GAUGE DATA REQUESTS
The app downloads readings directly from these public services: USGS Water Data (api.waterdata.usgs.gov) for US gauges, the Environment Agency flood-monitoring API (environment.data.gov.uk) for England, PEGELONLINE (pegelonline.wsv.de) for Germany, and Hub'Eau (hubeau.eaufrance.fr) for France. For US gauges, the app may also request flood categories from the NOAA National Water Prediction Service (api.water.noaa.gov). The developer does not operate these services and does not receive these requests.
What the requests contain: a reading request contains the gauge's station ID, whether level or flow is wanted, and the time window of the last seven days. A flood-category request downloads NOAA's gauge list and then the details for the matching gauge ID. When you search, the text you type (at least two characters) is sent to USGS for US searches and to Hub'Eau for French searches; for England and Germany the app downloads the agency's station list and filters it on your device, so your search text is not sent. Requests do not contain your location, your trips, notes, or alert settings. Like any internet request, they reveal your device's IP address and basic connection information to the service, which handles it under its own policies.
When requests are made: readings are requested when you open a gauge, switch between level and flow, tap "Refresh readings", or return to the app while a gauge's screen is open and no editor is showing. The app also requests level readings for the starter gauges, the gauges you have used, and the gauges in your current search results when the app starts, whenever that list changes, and when you return to the app on the Gauges tab. Flood categories may be requested after a US gauge's readings load. If you have enabled alerts and allowed notifications, background checks request readings for the gauges those alerts use (see below). Tapping "Data attribution" or "Official station page" opens the agency's web page in your browser.
LOCATION
Location is optional. Android asks for location permission only when you tap "Nearby stations". If you allow it, the app reads your current position once and uses it on your device to sort the station list by distance. The position is kept only in memory while the app is open; the app does not save it, include it in its requests to the gauge services, or add it to analytics events or ad requests. Once location permission is granted, third-party SDKs in the app, such as the InMobi mediation SDK, may be able to read location under their own policies; you can turn location permission off in Android Settings at any time. If you decline, the app shows that location is unavailable and you can search by station name instead. The app does not request background location.
ALERTS AND NOTIFICATIONS
Android asks for notification permission when you save or turn on an alert (or when a restored backup contains enabled alerts). The app first sets up a "gauge-alerts" notification channel; if you allow notifications, it registers a periodic background check. Android decides when the check runs (no more often than about every 15 minutes, and it may delay checks to save battery). Each check stops at once unless notification permission is granted; otherwise, for each enabled alert, it requests that gauge's readings for the last seven days from the public service (the same kind of request described above). The result is compared with your alert on your device, and the app creates a local notification only when a recent reading crosses your threshold (or enters your band), outside your quiet hours, and no more than once every six hours per gauge. A notification shows the gauge name, the reading and unit, the agency, and the reading time, which may be visible on your lock screen depending on your settings. The app keeps a small record of each alert's last state on your device so the same reading does not notify twice.
If you decline notifications, the alert is still saved, but the app does not register background checks at that time and shows no notifications; a background check that runs without notification permission stops without requesting readings. The rest of the app keeps working. You can change notification permission in Android Settings at any time. Notifications are not an official warning: they may be delayed or not delivered.
INFORMATION STORED ON YOUR DEVICE
The app saves each record as a file in its documents storage. Trips contain the gauge, level or flow, the time, your rating (low, good, or high), your note, and, if available, either a copy of the nearest public reading or a reading you entered yourself. Alerts contain the gauge, level or flow, direction (above, below, or within your trip band), threshold, hysteresis, quiet hours, and whether the alert is on. Settings contain your unit choice, whether you finished the introduction, your favourite gauges, and the gauges you have used, meaning gauges you added, logged a trip for, or set an alert on (station ID, name, agency, country, published coordinates, time zone, and official web address). The app also keeps the IDs of deleted records so that a restored backup does not bring them back; this list is kept without a limit. There is no fixed limit on the number of trips or alerts.
To show the last known value when a gauge is offline, the app caches recent readings for each gauge and parameter it has loaded, up to 2,048 readings each. The app may also store basic operating information such as cached advertising settings and a cached More Apps list.
The developer does not run a server that receives your trips, alerts, or settings. The app reads developer-controlled advertising settings and a More Apps list from Google Cloud Firestore, but it does not write to Firestore or upload your records. When you open the developer's other apps in the menu, app icons are loaded from the web addresses in that list.
ANALYTICS, CRASH REPORTING, AND ADS
Google Firebase Analytics may process limited app-usage and technical information, such as app launches, a screen view when the app starts, whether a review request from the exit dialog was attempted, unavailable, or failed, ad revenue events (ad format, value, currency, and precision), app version, device type, and app-instance identifiers. These events do not include gauge IDs, readings, trip notes, alert settings, search text, or location.
Google Firebase Crashlytics may process crash reports and related technical information needed to diagnose app problems.
The app shows ads through Google AdMob: a banner on the Gauges tab, an app-open ad that may appear when the app starts or when you return to it, and an interstitial ad that may appear after you save a new trip (not after the first one each time the app is started). A native ad is also requested in advance for the exit dialog. The app does not start a full-screen ad while a gauge's screen, the trip or alert editor, the Settings menu, or the exit dialog is open. AdMob may also request ads from the InMobi mediation network. Google and InMobi may process advertising identifiers and device, app, consent, network, and ad-performance information to provide and measure ads, and may use an IP address to estimate an approximate location.
PERMISSIONS AND ADVERTISING CHOICES
Feature permissions: location, only for "Nearby stations" as described above, and notifications, for the alerts you turn on. The app does not request camera, microphone, contacts, photos and media, storage access, or background location. It also uses internet access, the Android advertising ID permission, system permissions that Android grants without asking so that background checks and notifications keep working (for example after the device restarts), and vibration, also granted without asking, for short haptic feedback when you tap a button or complete a save.
When the app starts, Google's consent message (UMP) is checked and shown where required (for example in the EEA and UK). If Google reports that ads cannot be requested, the app does not request ads. Personalized ads are requested only when consent is not required or your choice allows personalized advertising; otherwise ads are non-personalized. If the consent check fails (for example, the consent message cannot be loaded), the app still requests ads, and they are non-personalized only. Where Google requires it, the Settings menu shows "Privacy choices", which reopens the consent message so you can change your advertising choice. If your new choice cannot be read, ads are non-personalized; if the message cannot be opened, the app stops requesting ads until it is started again. The app works whatever you choose.
STORAGE AND YOUR CONTROL
On the Trips tab, Delete removes a trip and offers Undo, which saves it again as a new record. On a gauge's screen, Delete removes an alert and its saved alert state and also offers Undo. "Remove saved gauge" takes a gauge off your favourites, but the gauge stays in the app's list of gauges you have used, and its readings keep being requested on the Gauges tab. The app has no button to clear this list or the reading cache.
"Export backup" in Settings writes a manifest and numbered part files to the app's cache. They contain your settings (including favourites and the gauges you have used), trips with notes and readings, alerts, and the IDs of deleted records. A backup can also include a trip or alert kept in an earlier backup set that is no longer among your readable records, unless it was deleted. "Share part" sends a file through the Android share sheet; where you send or save it is your choice, and the app does not delete copies kept elsewhere. The app keeps the newest backup set and older sets that still hold records that are not in a newer set and were not deleted, and deletes other sets when it starts and after each backup; a set that cannot be read is kept. When you delete a trip or alert that is in a backup set the app wrote, the app writes a new backup set without it and removes sets that are no longer needed. Android may also clear the app's cache. "Restore backup" reads the files you pick, merges them so the newer version of each record is kept and deleted records stay deleted, and then deletes the temporary copies the file picker placed in the app's cache.
You can also clear the app's storage in Android Settings or uninstall the app, which removes the app's storage on the device; files you shared or saved elsewhere are not removed. Local data may be included in a Google or device backup depending on your backup settings (the app allows Android system backup); uninstalling normally removes the active copy but may not remove an older backup.
Because we do not receive your trips, alerts, or settings, we cannot delete them for you; the controls above remove them from the app. For questions about data processed by Google or InMobi, or to ask us for help with a privacy request, contact us at the address below.
Data processed by third parties is retained according to their service settings and policies. We use these services under their applicable terms, and we ensure that third-party service providers with whom we share user data provide the same or equal protection of that data as stated in this policy.
- Google Privacy Policy: https://policies.google.com/privacy
- Firebase privacy information: https://firebase.google.com/support/privacy
- Google advertising technologies: https://policies.google.com/technologies/ads
- InMobi Privacy Policy: https://www.inmobi.com/privacy-policy
SECURITY
Your trips, alerts, settings, and backup files are kept in the app's private storage, which the operating system protects from other apps; they are not separately encrypted by the app, so protect your device with a screen lock. Backup files are plain text, so anyone who receives a shared backup file can read your trips and notes. Apart from the limited analytics events and the public gauge data requests described above, the app does not upload your saved data. The app connects to Google services, the ad mediation partner, and the public gauge services over encrypted connections (HTTPS/TLS). No method of storage or transmission is completely secure, but we limit what the app handles to what is described in this policy.
IMPORTANT NOTICE
Gauge Log is not an official warning service. Readings come from the agencies listed above, may be provisional, delayed, missing, or later revised, and are shown as published. Your trip band is a summary of your own ratings, not a safety guide. Alerts depend on Android, network access, and the public services, and may be late or not arrive. Always check official forecasts, warnings, and local authorities before going on or near water, and do not rely on the app for safety decisions.
CHILDREN
The app is not directed to children under 13, and we do not knowingly collect personal information from children.
CHANGES
We may update this policy if the app or its services change. The date above shows the latest revision.
CONTACT
Kyu-Hee Jang (Google Play developer: Global Utility App Maker)
Email: wkdrb2100@gmail.com