Skip to main content
Version: 1.x (beta)

Declaring Data Safety

Fill in your app's Data safety form in Google Play Console for the data the Wemap SDKs send to Wemap.

Overview​

Google Play asks you to declare the data your app collects, including data collected by third-party SDKs such as Wemap's. Android has no manifest that declares it for you, so use the tables below to answer the questions under App content › Data safety yourself.

Wemap does not use any of this data for tracking, advertising or marketing, and sells it to no one. It does not pass the data on to third parties or data brokers. Wemap processes itinerary and VPS data on your behalf to provide the service, and uses analytics data only for its own product measurement. You remain responsible for informing your users in your own privacy policy.

What to declare​

Which rows apply depends on which features you use.

FeatureData typePurposeShared
Usage analytics (on by default)App activity › App interactionsAnalyticsYes
Usage analytics (on by default)Location › Precise locationAnalyticsYes
Itineraries and navigationLocation › Precise locationApp functionality, AnalyticsNo
Itineraries and navigationApp info and performance › DiagnosticsApp functionalityNo
VPS positioningPhotos and videos › PhotosApp functionalityNo
VPS positioningLocation › Precise locationApp functionalityNo
VPS positioningApp info and performance › DiagnosticsApp functionalityNo

Every row is collected: the data leaves the device and Wemap keeps it, so the ephemeral-processing exception does not apply. Wemap acts as your service provider for the rows marked No under Shared, which Google does not count as sharing. The analytics rows are shared: Google exempts only a transfer to a service provider acting on your behalf, and Wemap uses analytics data for its own purposes.

The other questions have the same answer for every row:

  • Is all of the user data collected by your app encrypted in transit? Yes. The SDKs reach Wemap over HTTPS only, and a map whose VPS endpoint is not HTTPS cannot start VPS positioning.
  • Do you provide a way for users to request that their data is deleted? Not for the data sent to Wemap. None of it is linked to a user: itinerary requests carry no identifier of the user or the device, the analytics identifier is random and changes every hour, and the VPS session identifier is random for each location source. Wemap therefore cannot find one user's data, and cannot delete it on request. Answer for the data your app collects itself, and don't promise your users that a deletion request reaches Wemap.
  • Is this data required or optional? It depends on your app — see each feature below.

Usage analytics​

The SDKs report how the map is used, such as a session starting, a navigation starting, recalculating, stopping or arriving, a VPS scan, or a point of interest being opened. A navigation event carries the coordinates of its destination, which is why analytics also declares Precise location. Every event also carries your app's package name and the map id. Events are grouped by a random identifier that changes every hour. It is not derived from the device and is not kept across sessions.

Analytics is on by default, and the SDKs don't ask your users for consent. To turn it off, set SessionConfig.isAnalyticsEnabled to false when you create the session. The session then sends no analytics at all, and the analytics rows no longer apply. If your own privacy policy gives users a choice, create the session once you know their answer: a session created with analytics on reports its creation straight away. Declare the rows optional only if every user of your app can make that choice; otherwise declare them required.

Itineraries and navigation​

To compute an itinerary, the SDK sends its origin and destination to Wemap's routing service. During navigation, the origin is the user's current position. Wemap keeps these coordinates to provide routing and to measure routing quality. Each request also names your app, its package name and version, and the SDK version, which Wemap keeps with the request — hence the Diagnostics row. No request carries an identifier of the user or the device. Declare the rows optional if users can use your app without requesting an itinerary.

VPS positioning​

Each scan attempt uploads one photo of the user's surroundings to Wemap's positioning service, along with the device manufacturer and model, the Android version, and your app's name, package name and version. People in the photos are blurred automatically. Wemap keeps each photo with the position it computes from it, which is why VPS also declares Precise location. The upload happens only while VpsARCoreLocationSource is started — a scan the user starts, or a background scan the source runs to keep the position accurate — and only once the user has granted camera access. Wemap uses the photos only to locate the user and to troubleshoot positioning problems. Declare the rows optional if users can use your app without VPS.

The offline VpsLocalLocationSource runs entirely on the device and sends nothing.

ARCore​

VpsARCoreLocationSource runs on Google Play Services for AR (ARCore), which collects data of its own, sent to Google rather than to Wemap. If you use it, declare ARCore's data as Google lists it in Data safety form in Google Play Console, and show the notice that ARCore's privacy requirements ask for. The GeoAR SDK does not use ARCore.

Nothing else to declare​

The map, the AR view, the GPS and fused location sources, and the map widgets send nothing to Wemap beyond what is listed above. The device's position stays on the device, and reaches Wemap only as an itinerary origin. Map tiles are loaded through MapLibre, which sends no telemetry.

Permissions are separate​

The Data safety form doesn't replace the runtime permissions that unlock camera and location access. Request them as described in VPS Location Source (CAMERA) and GPS Location Source.

Keeping your declarations current​

This page describes the SDK version it ships with. Review it, and your answers in Play Console, whenever you update the Wemap SDKs.