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

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.

FeatureData typePurposeLinked to the user
Usage analytics (on by default)Usage Data › Product InteractionAnalyticsNo
Usage analytics (on by default)Location › Precise LocationAnalyticsNo
Itineraries and navigationLocation › Precise LocationApp Functionality, AnalyticsNo
Itineraries and navigationDiagnostics › Other Diagnostic DataApp FunctionalityNo
VPS positioningUser Content › Photos or VideosApp FunctionalityNo
VPS positioningLocation › Precise LocationApp FunctionalityNo
VPS positioningDiagnostics › Other Diagnostic DataApp FunctionalityNo

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.