Read through @system.geolocation, and only while a ride is on the face, so the map under your position keeps moving between the phone's updates. The fix is sent to the paired phone over Wear Engine; it is not kept on the watch and goes nowhere else.
At a glance
App information
- App name
- G Navigation
- Watch application
com.gnavigation.watch(HarmonyOS Lite Wearable)- Android companion
com.gnavigation.mobile- Supported watches
- HUAWEI WATCH FIT 3 and newer, and HUAWEI WATCH GT 4 and newer, running HarmonyOS 5.0 or later. HUAWEI Band models are not supported.
- Link between them
- Huawei Wear Engine, through Huawei Health
- Developer / data controller
- Nguyen Thanh Hung
- Privacy contact
- hng89tn@gmail.com
This edition describes G Navigation as used with a Huawei watch. The companion app also supports watches from other makers; if yours is one of them, read the full edition at G Navigation — Google Play. Both editions are written from one source and carry the same version number.
Data processed
- Approximate or precise location from the phone, and location-service status.
- The watch's own position while a ride is on the face: latitude, longitude, altitude, accuracy, and fix time. The runtime returns no speed and no bearing, and a fix less accurate than 50 m is discarded.
- Search queries, destinations, origins, routes, route geometry, journey progress, and guidance steps.
- What is drawn on the watch: a small map image around your position, the turn icon, the distance, the street name, and the estimated arrival time.
- Pairing, connection, and watch-capability state; network/Wi-Fi state; the installation state of the specifically declared companion and store apps needed to guide setup. The app does not scan the full installed-app list.
- When you explicitly enable notification access and call alerts: the caller name, source app (Zalo or Messenger), ringing/video-call state, and the action labels on a call notification.
- Minimized technical diagnostics required to detect connection or navigation-session failures.
- When you use a trial or Premium: account identifier, available name/email, app session, a hashed app-scoped Android identifier (or a random installation fallback), trial times, and Premium entitlement state.
- A consent record containing the policy version, acceptance time, and selected language — one on the phone and one on the watch.
Before you accept the policy, neither app initializes maps, location, Wear Engine, journey caches, or navigation-related network requests. The watch shows its own privacy screen before its first ride and stores your answer in a single local flag.
Purposes
- Showing maps, finding places, and ranking results for your current area.
- Calculating car, motorcycle, bicycle, or walking routes; following a route; and rerouting when needed.
- Maintaining the foreground navigation session you start and displaying turn alerts.
- Sending guidance, map frames, and journey state to the paired Huawei watch over Wear Engine, and receiving the watch's own position back so the map on your wrist keeps up with you between phone updates.
- Relaying Zalo/Messenger call alerts and your answer, decline, or hang-up action, when you enable that optional feature.
- Remembering consent, settings, and the state both apps need to run reliably.
- Authenticating accounts, limiting trials per account and device, preventing fraud, and restoring Premium.
Device permissions and access
The watch application declares no system permission at all: its HAP carries no reqPermissions block, and the HarmonyOS Lite Wearable runtime gives a running face the position, the vibrator, and local app storage without a dialog of its own. Everything else below is requested on the phone, and every row marked OPTIONAL can be declined without losing turn-by-turn navigation.
Data sources and recipients
Three things leave this pair of devices: where you are, what you typed into search, and where you asked to go. This section names the source of each one, the road it travels, and every address at the far end.
Where your position comes from, and what it is for. On the phone it is read from the phone's own satellite receiver through Android's location service. On the watch it is read from the watch's own receiver through @system.geolocation, only while a ride is on the face, and it is sent to the paired phone over Wear Engine — it is not kept on the watch and goes nowhere else. Neither device looks the position up from a network positioning service, and no request is sent anywhere in order to obtain it. It is used to draw where you are on the map, to keep the map and the arrow turned the right way, to measure the distance to the next turn so the watch shows the right instruction at the right moment, and to record the ride you can look at afterwards on the phone. It leaves the phone for exactly two requests: a route, which needs a starting point, and a place search, which uses a rough position to put nearby results first. It is not uploaded on a schedule, and no trail of where you have been is sent anywhere.
Where the map comes from. The map data is OpenStreetMap, and the drawing is done on the phone itself by MapLibre GL from the OpenFreeMap styles liberty for the light map and fiord for the dark one, both served from tiles.openfreemap.org. The map frames sent to the watch are cut out of that same picture on the phone; the watch never fetches a tile of its own. The phone asks that host only for the square tiles covering the part of the world on screen, and the request carries no account, no destination and no search text.
How it travels. Every request below leaves the phone over HTTPS. Routes and place searches do not go straight to the routing or search service: the phone sends them to G Navigation's own server, which checks that the session is entitled, makes the upstream request itself, and returns the answer. Those upstream services therefore see our server rather than your device, and the credentials that pay for them are never inside the app. Map tiles are the exception and are fetched directly, because a tile request says nothing about you beyond which part of the map is on screen. The watch itself makes no internet request at all: everything it shows arrives from the phone over Wear Engine.
- OpenFreeMap / MapLibreLoads map styles and tiles for the phone map and for the frames drawn on the watch. Open source: github.com/hyperknot/openfreemap and github.com/maplibre/maplibre-native.
- Photon or NominatimProcesses search queries and the location used to rank results. Open source: github.com/komoot/photon and github.com/osm-search/Nominatim.
- OSRM serverCalculates routes from an origin, a destination, and a vehicle type. Open source: github.com/Project-OSRM/osrm-backend.
- Privately operated ValhallaCalculates motorcycle routes from an origin, a destination, and a travel profile. Open source: github.com/valhalla/valhalla.
- Huawei Wear EngineCarries the current session between the phone and the paired watch. Huawei operates this transport; what travels through it is your guidance, map frames, and journey state.
- Huawei ID / HMS CoreAuthenticates your account with an authorization code and supplies a display name and email if you grant them, and checks AppGallery for an app update after consent.
- G Navigation entitlement serverCreates the app session, limits trials per account and device, prevents fraud, and restores Premium state.
- Backup routing serviceOnly when you choose the “Backup” source for a car or motorcycle route, contacted directly from the phone: receives the start/destination, current position when rerouting and the map area around the route to read speed limits, under a random guest account the app creates for each installation, not linked to your G Navigation account.
Every outside address this app can contact, and what it is for. Apart from G Navigation's own server, described above, the app reaches nothing outside this list, and the watch contacts none of them.
tiles.openfreemap.orgMap styles and vector tiles. Contacted directly by the phone whenever the map is drawn, including the frames it cuts for the watch.g-navigation-get.gg-huawei.workers.devThe app's own download and update page, asked whether a newer build exists.photon.komoot.io,nominatim.openstreetmap.orgThe OpenStreetMap search services that answer a place query. In the AppGallery release our server calls them; a development build with the gateway switched off calls them directly.- An OSRM server and a privately operated Valhalla serverRoute calculation. Only our server holds their addresses, and the AppGallery release never contacts them itself. A development build with the gateway off uses the public
routing.openstreetmap.deandvalhalla1.openstreetmap.deinstead. - Huawei servicesSigning in with a Huawei ID, checking AppGallery for an app update, and pairing the watch are carried out by Huawei's own SDKs, which contact Huawei's servers under Huawei's privacy policy. G Navigation adds nothing of its own to those requests.
- Servers of the backup routing serviceReceive “Backup” requests directly from the phone, only while that source is used.
G Navigation sends only the data the function you asked for needs. It does not sell data and shares nothing with advertising networks or analytics providers. There is no analytics endpoint, no advertising endpoint and no crash-reporting endpoint in the list above, because the app contains none.
Retention and deletion
- Routes are stored on the phone until replaced or deleted by you.
- The watch keeps a journey cache for no more than five minutes, plus your display settings and your privacy answer until the app is removed.
- A watch position fix is used to draw the current frame and is not written to a history.
- G Navigation does not keep names or notification contents as call history. Names may be written into temporary contact entries for watch lookup. App-created entries are cleaned after about 30 seconds without a call; if Android stops the app, cleanup retries when it runs again. Entries you edited or merged are preserved against data loss and can be deleted in Contacts. Up to 300 technical events are stored locally, containing times, source app type, state, action results and errors, but no caller names/numbers, notification contents or audio. Events older than 48 hours are pruned while the app runs or logs are written/read; data may remain on the phone while the app is stopped. Disabling call alerts, withdrawing consent or clearing app data deletes these logs. Logs are not automatically uploaded. Android, the watch and companion apps may retain received data under their own settings; G Navigation cannot delete those copies on their behalf.
- Consent records store the policy version, acceptance time, and selected language.
- Account sessions and account-linked trial records are kept as long as needed to authenticate, restore Premium, and prevent a repeat trial grant, then deleted when the account is deleted. A hashed device marker that is not linked to the account profile is retained for up to three years to prevent repeat trials.
- The G Navigation server does not retain successful-login history, installation-source reports, search text, or route coordinates. Place and route capacity counters are service-wide totals and contain no account or device identifier.
- The Android app disables system backup of its app data.
In G Navigation, open Settings > Account > Delete account to delete the profile and its account-linked server data. Account deletion does not reset trial eligibility; a new account on the same device will not receive a second trial. The hashed device marker described above is retained for up to three years solely to enforce this limit. You can also review this policy, withdraw consent, delete local data, or revoke system permissions. If you cannot access the app, send a request to hng89tn@gmail.com and never send a password. Removing the watch app deletes its local data.
Choice and consent
- Consent is versioned. When a material change raises the policy version, both apps ask you to decide again.
- Withdrawing consent stops navigation-data processing and returns the app to its limited setup shell.
- Background location, notification access, Contacts and call alerts, and the battery-optimization exemption each have their own explanation or choice.
- Declining every optional permission still leaves complete OpenStreetMap turn-by-turn navigation on the phone and on the watch.
Data security
Store releases allow map, search, routing, identity, and policy endpoints to be configured only over HTTPS. The phone-to-watch link runs inside Huawei Wear Engine's own channel rather than a socket of our own. G Navigation limits what it keeps locally to the purposes above, disables Android system backup, and keeps no guidance or call notification as history.
No transmission or storage method is completely secure. If you identify a security or privacy issue, contact the address at the end of this policy.
This policy page
This is a static document in a folder on GitHub Pages. It sets no cookies, runs no JavaScript, uses no analytics, embeds no advertising, and loads no third-party font or tracker. GitHub serves the request for this page, along with the standard network information that accompanies any web request. The full policy covering every watch brand sits on a Cloudflare Worker belonging to the app, linked from section 01.
Policy changes
The version and the update date are shown at the top of this page. If a change materially affects how data is handled, G Navigation raises the policy version and asks for consent again inside the app.
Contact
For support, access, or deletion requests concerning data controlled by the app:
Nguyen Thanh Hung
hng89tn@gmail.com