Declaring App Privacy Details
Fill in your app's privacy labels in App Store Connect for the data the Wemap SDKs send to Wemap.
Overview
Apple asks you to declare the data your app collects, including data collected by third-party SDKs such as
Wemap's. Each Wemap framework ships a privacy manifest (PrivacyInfo.xcprivacy), which Xcode includes in the
privacy report of an archived app. The manifest does not fill in App Store Connect for you. Use the report,
or the tables below, to answer the questions under App Privacy yourself.
Wemap does not use any of this data for tracking, advertising or marketing. It does not share the data with 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.
| Feature | Data type | Purpose | Linked to the user |
|---|---|---|---|
| Usage analytics (on by default) | Usage Data › Product Interaction | Analytics | No |
| Usage analytics (on by default) | Location › Precise Location | Analytics | No |
| Itineraries and navigation | Location › Precise Location | App Functionality, Analytics | No |
| Itineraries and navigation | Diagnostics › Other Diagnostic Data | App Functionality | No |
| VPS positioning | User Content › Photos or Videos | App Functionality | No |
| VPS positioning | Location › Precise Location | App Functionality | No |
| VPS positioning | Diagnostics › Other Diagnostic Data | App Functionality | No |
For every row, answer No to "Is this data used for tracking?".
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 names your app's bundle identifier and the map. 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
isAnalyticsEnabled to false when you create the session. The analytics rows
then 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.
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 bundle identifier and version, and the SDK version, which Wemap keeps with the request. No request carries an identifier of the user or the device.
VPS positioning
Each scan attempt uploads one photo of the user's surroundings to Wemap's positioning service, along with the
device model, the iOS version and your app's bundle identifier. 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. Uploads happen only while VPSARKitLocationSource is started
and the user has granted camera access. That covers a scan the user starts, and the background scans the
source runs on its own to keep the position accurate. Wemap uses the photos only to locate the user and to
troubleshoot positioning problems.
Nothing else to declare
The map, the GPS source, the AR view and the map widgets send nothing to Wemap beyond what is listed above. The GPS position stays on the device, and reaches Wemap only as an itinerary origin. Map tiles are loaded through MapLibre, which ships its own privacy manifest.
Permissions are separate
Privacy labels don't replace the usage descriptions that unlock camera and location access. Declare them as
described in VPS ARKit Location Source (NSCameraUsageDescription) and GPS Location Source
(NSLocationWhenInUseUsageDescription).
Checking your declarations
Archive your app in Xcode, then choose Generate Privacy Report from the archive's context menu in the Organizer. The report lists each Wemap framework with the data types it declares.
This page describes the SDK version it ships with. Review it, and your answers in App Store Connect, whenever you update the Wemap SDKs.