Privacy

The Factual Location Engine SDK collects a variety of data points to enable developers to easily incorporate location data and intelligence into mobile products to better understand users, build personalized interactions and increase user engagement. Developers have the option to keep all data on device* or to share collected data with Factual. If you choose to share data with Factual, please review carefully our Privacy Policy.

Factual proactively created policies and practices to use data responsibly and to protect personal information and location data. Please find below a breakdown of the information collected by Factual Location Engine iOS and Android SDKs.

*at the exception of the required configuration data see details below.

Location Engine Android SDK

Data exchange between Engine and the Factual backend

Configuration

Data sent to the Factual backend. Required calls to enable the Engine SDK. Call is made once per 24 hour or on SDK restart.

NameDescription
API KeyFactual API Key
Engine SDK VersionEngine SDK Version #
Garage Release IDUnique configuration ID for event management

Factual Places Data Request

Periodic calls to request updated tiles to cache places data on device.

NameDescription
Tile VersionFactual Places data set ID
Engine SDK VersionEngine SDK Version #
Tile Area IDLevel 7 Geohash

Data processed on device by Engine

Data are kept by default on the device for 6 months. Deleting the app will delete all data from the device.

Generic Information

NameDescription
Engine SDK StatusStopped, started
Factual User IDFactual user unique identifier
App NameApp bundle
Organization IDAn organization might have many app ids
Device IDDevice unique identifier (either GAID or generated GUID)
Advertiser IDGoogle advertiser id
MakeDevice manufacturer
ModelDevice Model
OSDevice operating system
OS VersionDevice operating system version
Preferred LanguageDevice current language using ISO-639-1
CarrierCarrier name
Carrier CountryCarrier Country (2 letters ISO code)
App StateForeground, Background, Unknown
Connection TypeNetwork connection type

Location Data Information

NameDescription
Entry TimestampTimestamp in milliseconds of when the entry was added
Entry TypeLocation or on demand location
Sensor TimestampWhen the event occured
Request TimestampWhen the location request was made
Received TimestampWhen the OS reported the event to Engine
Dwell TimeDwell time spent by a device at the associated location
Location Data TypeSource of location data. Refer to List 5.20 of the OpenRTB 2.5 spec
LatitudeLatitude of device as reported by OS
LongitudeLongitude of device as reported by OS
Horizontal AccuracyHorizontal accuracy in meters as reported by the OS
SpeedSpeed in meters per second as reported by the OS
ActivityActivity as reported by the OS (Stationary, Walking)
BearingDirection as reported by the OS (North, South…)
AltitudeAltitude in meters as reported by the OS
Altitude AccuracyAltitude accuracy in meters as reported by the OS
Floor LevelFloor of the building on which the device is located, as reported by the OS
Circumstance IDIdentifier of circumstance met (user was at location X)
Action IDAction associated when a circumstance is met (trigger a push notification, in app messaging…)

Permission Required

Permission NameDescription
uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"Enables most accurate location
uses-permission android:name="android.permission.INTERNET"Enables Factual to send data to the cloud
uses-feature android:name="android.hardware.location.gps"Enables GPS access
uses-feature android:name="android.hardware.location.network"Enables location updates via WiFi and Cellular Networks

Compatibility

Android API level support: 21 and above
Google Play Version: 16

Location Engine iOS SDK

Data exchange between Engine and the Factual backend

Configuration

Data sent to the Factual backend. Required calls to enable the Engine SDK. Call is made once per 24 hour or on SDK restart.

NameDescription
API KeyFactual API Key
Engine SDK VersionEngine SDK Version #
Garage Release IDUnique configuration ID for event management

Factual Places Data Request

Periodic calls to request updated tiles to cache places data on device.

NameDescription
Tile VersionFactual Places data set ID
Engine SDK VersionEngine SDK Version #
Tile Area IDLevel 7 Geohash

Data processed on device by Engine

Data are kept by default on the device for 6 months. Deleting the app will delete all data from the device.

Generic Information

NameDescription
Engine SDK StatusStopped, started
Factual User IDFactual user unique identifier
App NameApp bundle
Organization IDAn organization might have many app ids
Device IDDevice unique identifier (either IDFA or generated GUID)
Advertiser IDApple advertiser id
MakeDevice manufacturer
ModelDevice Model
OSDevice operating system
OS VersionDevice operating system version
Preferred LanguageDevice current language using ISO-639-1
CarrierCarrier name
Carrier CountryCarrier Country (2 letters ISO code)
App StateForeground, Background, Unknown
Connection TypeNetwork connection type

Location Data Information

NameDescription
Entry TimestampTimestamp in milliseconds of when the entry was added
Entry TypeLocation or on demand location
Sensor TimestampWhen the event occured
Request TimestampWhen the location request was made
Received TimestampWhen the OS reported the event to Engine
Dwell TimeDwell time spent by a device at the associated location
Location Data TypeSource of location data. Refer to List 5.20 of the OpenRTB 2.5 spec
LatitudeLatitude of device as reported by OS
LongitudeLongitude of device as reported by OS
Horizontal AccuracyHorizontal accuracy in meters as reported by the OS
SpeedSpeed in meters per second as reported by the OS
ActivityActivity as reported by the OS (Stationary, Walking)
BearingDirection as reported by the OS (North, South…)
AltitudeAltitude in meters as reported by the OS
Altitude AccuracyAltitude accuracy in meters as reported by the OS
Floor LevelFloor of the building on which the device is located, as reported by the OS
Circumstance IDIdentifier of circumstance met (user was at location X)
Action IDAction associated when a circumstance is met (trigger a push notification, in app messaging…)

Permission Required

Permission NameDescription
Location “When in Use” or “Always”The user permits location for the app

App Plist Declaration

KeyDescription
NSLocationWhenInUseUsageDescriptionMessage displayed to users on location permission request
NSLocationAlwaysAndWhenInUseUsageDescriptionMessage displayed to users on location permission request
UIBackgroundModes locationLocation updates background mode

Compatibility

iOS supported version: iOS 8 to 12+