Android SDKs Sec
Android SDKs Sec
Abstract
arXiv:2503.15238v1 [cs.CR] 19 Mar 2025
children-directed apps using WiFi APs as a proxy to GPS locations, rationales and explicit disclosures of SDK data access practices.
violating the COPPA Rule. Similarly, Girish et al. [56] identified Additionally, we advocate for stronger regulatory oversight, plat-
apps and SDKs leveraging local network scans to infer user location forms’ permission re-designs and stricter vetting processes (i.e.,
without user consent in smart home networks. Google Play Protect) to proactively conduct large-scale audits and
Despite these efforts, SDKs exploiting wireless scans for covert enforcement actions against non-compliant tracking practices.
location tracking remain poorly understood. Consequently, exist- Responsible disclosure. We shared a preprint of this paper with
ing app auditing mechanisms and privacy controls (including data Google as operator of the Android platform, and with the European
randomization) have been proven insufficient to detect and pro- Data Protection Supervisor (EDPS), the Spanish Data Protection
tect users against such invasive practices, respectively [56, 122]. To Agency (AEPD), and the French National Commission on Informat-
fill this gap, we empirically analyze how 52 mobile beacon SDKs ics and Liberty (CNIL).
leverage GPS, BLE, and WiFi as side channels to covertly track Research artifacts. To promote transparency, reproducibility, and
individuals’ proximity and locations, covering 9,976 Android apps. future research, we will release the final dataset, beacon detection
To uncover their scanning capabilities, data-sharing, and privacy scripts, static analysis pipeline, and analysis code used in this study,
risks, we develop a hybrid analysis pipeline that combines (i) static excluding proprietary components. These artifacts will be publicly
analysis, including API usage detection and control-flow analysis to available at: https://github.com/wireless-scanning-SDKs/.
study cross-library interactions and (ii) dynamic analysis, using an
instrumented device that injects wireless events and signals at the 2 Background
OS-level to trigger SDK behaviors and observe app runtime behav-
This section provides an overview of BLE (§2.1) and WiFi (§2.2)
iors. To the best of our knowledge, this study is the first large-scale
beacon technologies as location proxies, and an overview of the
empirical analysis of BLE and WiFi scanning SDKs in Android apps
existing Android permissions for restricting apps’ access to BLE
to systematically uncover their characteristics, interrelationships,
and WiFi scanning capabilities (§2.3).
and privacy implications. The key contributions of this work are:
2.1 BLE Beacons
• We identify 52 SDKs with WiFi and BLE scanning features in-
tegrated into at least 9,976 apps with an estimated cumulative A BLE beacon is a non-pairing device broadcasting unique IDs like
install count of 55B devices. We find that beacon SDKs often UUIDs or MAC addresses to infer proximity or location. Unlike
offer a dual purpose, functioning both as beacon enablers and as GPS-based positioning systems, BLE beacons are deployed in fixed
analytics or advertising libraries. Specifically, 43 SDKs support locations—e.g., stores, metro stations or offices—so that they pro-
analytics, 40 SDKs provide location services, and 9 SDKs inte- vide fine-grained indoor location for like retail [70], healthcare,
grate advertising or user profiling features (§5.1). Among them, logistics, or crowd management at events [91]. These fixed signals
we detect 28 SDKs that play a key role in extensive cross-library are collected alongside GPS coordinates and are often aggregated
interactions, potentially enabling colluding SDKs to silently share into publicly accessible databases such as Wigle [127], and pro-
with each other data such as Bluetooth, WiFi scans, and geoloca- prietary ones. This allows SDKs to infer a user’s location solely
tion for advertising and tracking purposes (§5.2). through nearby BLE signals and access to such datasets.
• We observe that 86% of beacon-enabled apps extensively collect BLE beacons are not a Bluetooth SIG standard; rather, they are
personally identifiable information (PII), along with GPS coor- custom standards developed by large providers or groups of compa-
dinates, WiFi, and Bluetooth scan results (§6.2). However, their nies. Popular BLE beacon solutions include iBeacon by Apple [66],
data collection practices extend further, with 19% of beacon SDKs the now deprecated Eddystone by Google [67], and the widely sup-
engaging in ID bridging by linking persistent IDs (e.g., Android ported open-source and platform-agnostic AltBeacon [7], which
ID and MAC addresses) with resettable ones (e.g., AAID) to build is becoming a predominant solution due to their cross-platform
detailed user mobility profiles, potentially violating Google Play interoperability. We note that standard Bluetooth devices can be
Store policies (§6.3). These risks are exacerbated by the use of also scanned to collect device names and MAC addresses, which
persistent proprietary IDs (e.g., Adobe’s Marketing Cloud ID), could be used for environmental sensing (e.g., by inferring locations
unvetted cross-library data sharing, and by exploiting shortcom- based on paired BLE devices), and social network inference [83].
ings of Android’s permission and sandboxing models. Moreover,
71% of apps requesting location permissions fail to provide a 2.2 WiFi Beacons
rationale through Android’s shouldShowRequestPermissionsRa- WiFi Access Points (APs) broadcast beacon frames containing their
tionale() API, leaving users unaware of why access is requested MAC addresses and received signal strength indicator (RSSI) over
(§6.4). We also observe SDKs abuse vulnerabilities in unpatched 802.11b/g/n channels. Mobile devices can passively scan these bea-
devices to bypass the Android permissions governing BLE and cons to locate and connect to nearby APs by sending association
WiFi permissions. frames. WiFi APs are typically deployed in known locations (e.g.,
• These widespread practices undermine existing privacy protec- homes, shops, hotels, and airports) and rarely move once deployed.
tions and controls. In §7, we propose mitigation strategies, in- This means that correlating WiFi SSID and BSSID data2 with free
cluding: SDK sandboxing to restrict cross-library data sharing, online databases (e.g., wigle.com) or commercial location services
performing runtime audits to detect unauthorized tracking, en- 2 SSID is the name of a wireless network that devices use to identify and connect to it.
forcing stricter platform policies to curb ID bridging, and im- BSSID is the unique identifier for a specific access point within a wireless network
proving transparency mechanisms by requiring clear permission (i.e., MAC address).
2
Your Signal, Their Data Proceedings on Privacy Enhancing Technologies YYYY(X)
integrates WPS [10] into iOS devices for enhanced location services, Beacon
Device and location metadata
though Rye et al. [110] recently highlighted the potential for mass (Nearby beacon scan data) con guration
surveillance using this data. Similarly, Google maintains a WPS
populated through WiFi AP data collected from Android devices
Beacon
and its ecosystem, which also serves as a data source for Android’s identi ers SSID/BSSID
coarse location permission [58, 121]. These WPSes expose APIs
BLE beacons
that allow a client to submit WiFi scan data and receive location es- Nearby WiFi
routers
timates in return. Other providers, such as Skyhook Wireless [114]
and Navizon [90], offer hybrid systems combining GPS, WiFi, and Geofence (latitude, longitude)
cellular signals to triangulate device location.
Figure 1: Beacon data ecosystem.
2.3 Permission Overview
Android’s permission model regulates access to WiFi and Bluetooth
scanning functions to protect user privacy and security [39]. Over Platform Fragmentation. Due to the high version fragmentation
successive releases, Android’s permission model has evolved to in the Android ecosystem, many apps and SDKs intentionally ex-
impose stricter controls on BLE and WiFi scanning capabilities, ploit OS vulnerabilities and old (typically less restrictive) versions
particularly due to their dual usage as location proxies. of the Android permission model to perform BLE and WiFi scans.
Bluetooth. Initially, Bluetooth operations required only a generic Another key limitation of the permission model is its inability to
permission for scanning and connecting with nearby devices. How- separate between permissions requested by the host app and those
ever, starting with Android 6, apps also had to request the runtime3 by third-party SDKs [52], even for runtime permissions that grant
ACCESS_COARSE_LOCATION permission, as BLE scans could indi- access to sensitive data. As a result, SDKs can piggyback on the
rectly reveal location data [35]. This was later upgraded in Android permissions requested by the host app for secondary purposes such
10, mandating the ACCESS_FINE_LOCATION permission for Blue- as surveillance or advertising.
tooth scanning due to its increased risk of exposing the precise
location data [73]. However, this security improvement only led to 3 Threat Model
confusion among users, especially when apps that did not inher- We consider an adversary whose primary objective is to collect geo-
ently need location data—such as those for connecting to Bluetooth location data from mobile Android apps by scanning nearby devices
peripherals—were also forced to request location permissions [130]. using Bluetooth or WiFi permissions (see Figure 1). This adversary
To address this issue, Android 12 introduced a finer-grained model can be any party with programmatic access to the device for scan-
with three new permissions: one for scanning (BLUETOOTH_SCAN), ning data, including the app developer (the first party) as well as
one for establishing connections (BLUETOOTH_CONNECT), and one third party SDKs offering advertising, analytics, or location-based
to advertise as a peripheral (BLUETOOTH_ADVERTISE). Developers solutions. We consider three key threats posed by such adversaries:
must request both ACCESS_FINE_LOCATION and ACCESS_COARSE_ (1) Continuous Location Tracking through Proxy Sensors.
LOCATION to allow users to choose between precise or approximate Wireless-enabled location SDKs or Android apps can silently
location access at runtime. Yet, without clear context, users may track users by continuously scanning for nearby WiFi and BLE
unintentionally grant excessive location privileges—e.g., precise signals. Scan results can include: device information (e.g., device
location for Bluetooth pairing. To mitigate this, Android 12 intro- name), network information (e.g., SSID/BSSID, MAC addresses),
duced the neverForLocation flag in 2021 to ensure that Bluetooth and other unique device IDs as in the case of BLE beacons. To
scan data is not misused for location inference. infer user location, wireless scanning data can be correlated
WiFi. Since Android’s first release, apps using WiFi must request with external databases that map MAC addresses, beacons and
the CHANGE_WIFI_STATE and ACCESS_WIFI_STATE permissions to WiFi AP BSSIDs and SSIDs to geographic coordinates as de-
toggle connectivity, modify settings, and provide connection de- scribed in the previous section. SDKs often enrich scan data
tails. Since Android 8, any app that scans the WiFi network is also with precise GPS coordinates and other device or user identi-
required to request at least one location permission (i.e., ACCESS_ fiers like the AAID to construct detailed mobility profiles of
FINE_LOCATION or ACCESS_COARSE_LOCATION). More recently, An- millions of users. 4 Table 7 in the Appendix provides an exhaus-
droid 13 introduced a new runtime permission, NEARBY_WIFI_ tive description of the PII types and user/device IDs considered
DEVICES for connecting to nearby devices via WiFi. Android 13
4 The Android OS allows app and SDK developers to programmatically access a wide
also added support for the neverForLocation tag to specify WiFi
range of IDs with varying properties [41]. The MAC address of a WiFi AP are device-
scan data is not used for location inference. specific, persistent and globally unique IDs. Similarly, the user’s email address, even if
hashed, is a user-specific, persistent and unique ID, unless it is shared by a group of
3 Unlikenormal permissions, which are granted during installation, runtime or danger- users. The AAID is a device-specific, resettable and globally unique ID. The Firebase
ous permissions protect sensitive resources and data (e.g., location) and require explicit ID, instead, is a globally unique and app-specific ID that is resettable by reinstalling
user approval at runtime [39]. the app to which it is scoped.
3
Proceedings on Privacy Enhancing Technologies YYYY(X) Girish et al.
searches using Google’s search engine. 5 This process identi- the shouldShowRequestPermissionRationale() API, which pro-
fied 22 additional SDKs that were not included in the initial list. vides an educational UI explaining why a specific permission is
However, some results are false positives triggered by keyword needed to enable a feature. App developers should declare these
matches while the SDKs do not implement beacon scanning. attributes to ensure transparency so their absence can indicate a
Hence to confirm functionality, we manually review official doc- lack of proper disclosure. These elements are studied in §6.4 to
umentation, API references, integration guides, and discussions assess beacon SDKs’ transparency over data collection.
in SDKs’ developer forum, along with source code repositories Code Analysis. We use Androguard [8] to extract Dalvik byte-
(where available) to identify SDKs that explicitly invoke BLE or code and identify SDK signatures (e.g., class names and APIs) that
WiFi scanning capabilities. 6 indicate beacon SDK functionality and data dissemination. These
• Step 3: Refining & Expanding SDK Selection Through Static signatures are detailed in Table 8. To analyze execution paths, we
Analysis. We refine and expand the set of SDKs populated in construct control flow graphs (CFGs) for each app, where nodes
the previous steps, by applying the static analysis techniques represent methods or functions (with associated class names), and
illustrated in §4.3 to automatically analyze a subset of 362K apps edges denote function calls between them. CFGs trace execution
invoking methods indicative of beacon scanning. These features from source methods (e.g., Android lifecycle methods like onCre-
are extracted from the curated list of SDKs identified in Steps 1 ate() and onResume(), where SDKs typically initialize) to sink APIs
and 2, producing SDK signatures for each SDK that cover from that collect sensitive data, such as location (e.g., LocationMan-
system API calls related to BLE and WiFi scanning (e.g., ‘WifiMan- ager.getLastKnownLocation()) or beacon data (e.g., WiFi scan re-
ager.startScan()’ [38, 42]) to SDK attribution signals such as class sults). A mapping of API calls considered in this process is provided
names, URL endpoints, and custom permissions. Additionally, in Table 10. To attribute SDKs and identify SDKs actively being used
we search for special functionalities such as UUID broadcasting rather than dead code, we match class names in CFG nodes against
and RSSI analysis, which further indicate BLE/WiFi scanning known SDK signatures extracted from decompiled app code.
behavior. For reference, an example set of signals is provided in API Usage. To analyze how beacon-enabled apps interact with
Table 9 in the Appendix. After applying our refinement process, sensitive resources, we traverse the CFG to trace data flows. Starting
we identified a total of 55 SDKs. from sink APIs (e.g., ‘LocationManager.-getLastKnownLocation()’),
Validation. To ensure high-confidence detection and minimize we visit nodes backward to locate the source methods invoking
false positives, we manually analyze the code of up to three repre- these APIs. This approach links sensitive API calls to the Android
sentative apps per SDK to confirm whether these SDKs implement permissions protecting them, allowing us to study the data flows
scanning capabilities. This check allowed us to remove three SDKs within the app and also third-party SDKs that may piggyback on
designed for general connectivity with peripherals rather than for these permissions (§6.1). As an official and updated comprehensive
wireless scanning. At the end of this manual process, we curate a permission mapping database is not available, we construct one by
final signature set of 52 beacon SDKs features and signals, which combining: (1) pre-existing permission mappings from PScout [14],
we use to statically identify at scale apps integrating these SDKs. Androguard, and Axplorer [16]; and (2) mappings derived from
the @RequiresPermission annotations in the AOSP source code,
which we publicly release as part of our research artifacts.
4.3 Static Analysis
Cross-Library Analysis. We statically investigate interactions
We apply static analysis to examine how apps integrate and interact between SDKs embedded within the same app to identify depen-
with identified beacon SDKs. Specifically, we look for unique SDK dencies and data-sharing practices between co-located SDKs. Specif-
signatures (§4.2) to identify their presence across apps, including ically, we identify cross-library interactions by studying function
app manifest metadata (declared permissions, services, and intent calls where one SDK code invokes methods or accesses data from
filters) and code-level attributes. We also inspect execution paths another SDK. We attribute these interactions among SDKs by de-
via control flow analysis to determine how apps invoke, interact tecting function calls between classes associated with beacon SDKs.
with, or delegate scanning capabilities to other integrated SDKs, To distinguish cross-library interactions from app-internal calls, we
as we describe next. Our static analysis follows accepted research compare the class names of the caller and callee classes: if their top-
practices, focusing on studying public code structures and API and second-level domains (1) do not match each other, and (2) do
calls, ensuring that no proprietary insights or trade secrets are not match the host app’s package name, the interaction is flagged
extracted [13, 55, 101, 124]. as cross-library. We manually validate all detected interactions to
Permission Analysis. We use a custom-built parser to analyze avoid mis-reporting cross-SDK interactions.
the manifest of each app, extracting AOSP and custom permissions
requested by apps and beacon SDKs, along with their declared ser- 4.4 Dynamic Analysis
vices, providers, and receivers. We also analyze metadata such as Dynamic analysis allows us to gather actual evidence of beacon SDK
the neverForLocation attribute which indicate whether location runtime behavior by executing apps on instrumented devices [4, 80,
permissions are used exclusively for non-location purposes, and 106, 108]. Specifically, we observe how apps interact with sensitive
resources, handle beacon data (e.g., BLE, WiFi), transmit network
5We use keywords such as “beacon SDK,” “proximity SDK,” “BLE SDK,” and “WiFi traffic, and respond to injected BLE and WiFi signals. To achieve
beacon SDK.” this, we use a device farm comprising eight Android 9 and eight
6We manually identified more than 200 system APIs related to BLE and WiFi scanning
from Android’s official API reference and AOSP (Android Open Source Project) source Android 12 Google Pixel 3a smartphones located in the EU, each
code. These methods are released as part of our open-science approach. running an instrumented version of the operating system. This
5
Proceedings on Privacy Enhancing Technologies YYYY(X) Girish et al.
dual-version approach allows us to analyze how app behaviors Table 1: Top 20 SDKs in the dataset, classified depending
adapt to changes in the Android permission model across different on their beacon types: Bluetooth, WiFi or they operate as
versions and how SDKs may abuse legacy versions. integration partners. For the purpose of each SDK, in addition
Instrumentation. We use a customized AOSP version to trans- to analytics and location, we mark SDKs that offer advertising
parently monitor runtime resource access, such as accesses to (•) and profiling (⋄) services.
permission-protected APIs, BLE/WiFi scans, I/O file operations,
Total Beacon Purpose
and capturing all network traffic, by instrumenting the relevant SDK Name # Apps
Installs Type Type
methods and APIs to capture their activity. We observe reads and BLE WiFi Integration Analytics Location
writes to TLS sockets by instrumenting relevant APIs, allowing us to AltBeacon 4,022 5B ✓ ✓ ✓
Adobe Experience Platform 1,328 8B ✓ ✓
analyze network traffic without interfering with the TLS handshake Kochava • 1,117 15B ✓ ✓ ✓ ✓
Salesforce Marketing Cloud • 1,080 6B ✓ ✓ ✓
or using our own certificates. We also decode common encodings Estimote 510 201M ✓ ✓ ✓
like gzip and base64, along with bespoke obfuscation methods used LeanPlum ⋄ 456 8B ✓ ✓ ✓ ✓
Gimbal • 396 3308M ✓ ✓ ✓ ✓
by popular SDKs (e.g., Forter, JPush, and Yandex) to identify dis- Radius Networks 369 359M ✓ ✓
mParticle 367 2B ✓ ✓
seminated sensitive data, as discussed in §6.2. To complement our Ad4Screen • 198 1B ✓ ✓
static analysis-based SDK detection (§4.3), we instrument the An- Kontakt 195 31M ✓ ✓
CueAudio 190 9M ✓ ✓
droid Runtime (ART) to log classes loaded at runtime by tracking Swrve ⋄ 153 2B ✓ ✓ ✓
Reveal Mobile 109 6M ✓ ✓ ✓ ✓
the FindClass method of the class linker to detect classes loaded Exponea 99 191M ✓ ✓ ✓
during execution. This approach effectively increases the reliability Radar 93 482M ✓ ✓ ✓
IndoorAtlas 92 7M ✓ ✓ ✓ ✓
of static signals and enables the identification of obfuscated classes SignalFrame 89 56M ✓ ✓ ✓
Bazaarvoice 88 420M ✓ ✓ ✓
that static analysis might miss. Huq Sourcekit 81 347M ✓ ✓ ✓ ✓
Automatization. We use Android Monkey [9] to automate app
execution with synthetic UI inputs for 8-10 minutes. To bypass regis-
tration walls, each device is configured with unique pseudonymous behaviors. Beacon injection effectively triggers scanning in most
identifiers (e.g., phone numbers, email addresses, and usernames), cases but may not trigger SDKs relying on custom or proprietary
allowing us to trace the potential dissemination of this data in formats that are not publicly documented. Additionally, Android
network flows for ID bridging. Our automation also handles stan- Monkey automates standard interactions, though it cannot bypass
dard logins, including Single Sign-On (SSO) flows like Google SSO CAPTCHA or 2FA logins yet prior work [108] shows it explores
whenever applicable. code paths 60% similar to human interaction.
Beacon Signal Injection. In addition of automatizing UI inputs, it We run our experiments on EU-based devices where stricter
is essential to simulate realistic beacon signals to trigger runtime privacy rules apply so it is possible that specific SDK behaviors
responses in SDKs implementing them. We achieve this by inject- may vary in jurisdictions with more permissive regulations. Nev-
ing Bluetooth and WiFi scan results during app scans, simulating ertheless, these limitations do not compromise the validity of our
nearby devices or networks directly on our AOSP instrumentation. findings: while we do not claim completeness, our methodology
The injected BLE advertising data conforms to standard beacon effectively uncovers previously undocumented tracking behaviors
formats and includes beacon types such as iBeacon, AltBeacon, within beacon SDKs, highlighting systemic privacy risks and the
Eddystone (URL, UID), and GAEN beacons, formatted according to need to regulate their usage.
their respective standards [7, 65–68]. Additionally, we use a Rasp-
berry Pi 4 to replay intercepted BLE beacon payloads and MAC 5 Beacon SDK Landscape
addresses every 5 seconds, with the goal of exercising further app This section studies the beacon SDK landscape, focusing on their
activity upon beacons detection. Spurious WiFi networks are also purpose, market share (§5.1), and integration capabilities to leverage
injected, including SSIDs and BSSIDs, as well as SSIDs appended complementary features and data sharing (§5.2).
with _nomap and _optout, to evaluate whether SDKs respect router-
owners preferences to exclude their devices from scanning. We use 5.1 SDK Purposes and Prevalence
distinctive palindromic MAC addresses in the injected results to Using our SDK detection method (§4.2), we find the 52 SDKs with
monitor their dissemination in TLS flows to the cloud. beacon capabilities embedded in at least 9,976 apps collectively
installed on 55B devices.7 The market share and feature set of
beacon SDKs varies significantly. Table 1 lists the top-20 SDKs
4.5 Limitations categorized by beacon type (BLE, WiFi, or integration partners)
As with any empirical measurement study, our analysis is inherently and their primary and secondary purposes (e.g., analytics, location
constrained by the black-box nature of testing methods, the opacity services, or advertising). A full list is provided in Table 6 in the
of SDKs, and the continuous evolution of implementations. In fact, Appendix. The most widely used SDKs are AltBeacon (40% of apps),
our list of beacon SDKs extracted with static analysis methods may Adobe Experience Platform (13% of apps), Kochava (11% of apps),
not offer a complete picture of this complex landscape due to code Salesforce Marketing Cloud (11% of apps) and Estimote (5% of
obfuscation, reflection, and dynamic loading [25, 50, 86].
7 Google Play install counts provide an approximate range of market reach, not exact
Dynamic analysis successfully executes 97% of the apps, despite
adoption figures. Prior work has used them as a standard reference for estimating user
challenges like root detection, certificate pinning, emulator checks, base and impact, though they have limitations such as the exclusion of pre-installed
and behavioral fingerprinting, which may limit visibility into SDK or sideloaded apps [123].
6
Your Signal, Their Data Proceedings on Privacy Enhancing Technologies YYYY(X)
Woosmap for geofencing. Woosmap also invokes APIs from third- Table 3: Usage of BLE, Location, and WiFi permissions by the
party SDKs, such as Urban Airship, Salesforce Marketing Cloud, top 15 SDKs, showing manifest declarations, API calls, and
and Batch, via REST/OAuth APIs, enabling seamless data sharing specific BLE_SCAN tags introduced in Android 12+.
and SDK-to-SDK integration.
Beacon SDK ↔ ATS Interaction. We identify 24 beacon SDKs SDK Name # apps # Android 12+ BLE Location WiFi BLE_SCAN
Man. API Man. API Man. API % Req % Tag
sharing BLE/WiFi scan results and geolocation data with 21 non- AltBeacon 4024 1822 95% 91% 96% 0% 73% 0% 57% 18%
beacon ATS SDKs. This behavior is concerning as advertising SDKs Adobe 1328 514 35% 0% 80% 0% 89% 0% 9% 25%
Kochava 1118 499 20% 60% 42% 62% 97% 66% 5% 31%
like CleverTap and Twitter MoPub can use this information for Salesforce 1080 713 33% 0% 80% 0% 72% 0% 12% 25%
secondary purposes. Specifically, 11 ATS SDKs (e.g., UrbanAirship) Estimote 510 197 97% 93% 88% 58% 53% 0% 17% 18%
LeanPlum 456 231 18% 0% 60% 0% 98% 74% 13% 14%
invoke WiFi scanning APIs of 6 different beacon SDKs (e.g., Gim- Gimbal 396 160 98% 82% 99% 81% 99% 58% 24% 3%
Radius Networks 369 94 86% 83% 91% 0% 84% 0% 31% 21%
bal), and 16 ATSes invoke geolocation APIs from 22 beacon SDKs. Ad4Screen 198 75 0% 0% 0% 0% 0% 0% 8% 17%
Interestingly, the Yinzcam Sobek SDK calls APIs from Fluzo, an Au- Kontakt 195 82 94% 91% 99% 0% 62% 0% 84% 3%
Swrve 153 76 14% 0% 42% 0% 86% 0% 5% 25%
tomatic Content Recognition (ACR) SDK, for audio fingerprinting in Exponea 99 68 24% 3% 78% 3% 79% 3% 6% 50%
the La Liga app (version 7.2.1), a potential GDPR violation that was Radar 93 61 38% 32% 99% 0% 80% 0% 25% 7%
Bazaarvoice 88 67 38% 0% 95% 0% 88% 0% 19% 31%
investigated by the Spanish Data Protection Agency (AEPD) [46]. Rover SDK 50 26 98% 70% 94% 0% 84% 0% 12% 67%
Zendrive 34 16 85% 59% 100% 0% 100% 79% 75% 8.30%
Such practices highlight the complexity of data sharing and syn- Sensoro 4 2 100% 75% 100% 75% 75% 0% 100% 50%
chronization across-SDKs for secondary purposes like advertising. Abbreviations Used: # Android 12+ - Number of apps targeting Android 12 or above;
Unfortunately, these capabilities introduce unexpected security % Req - Percentage of BLE_SCAN permission requests; Man. - Manifest;
API - API calls; % Tag - Percentage of apps using the neverForLocation tag.
and privacy concerns due to Android’s coarse-grained sandbox and
permission model. Since there is no security boundary between
libraries within the same app process, one library can interact with
another (e.g., invoking functions) to access IDs and sensitive data suggests the existence of close ties between beacon SDKs and geo-
without restrictions or user awareness [124]. Unlike the same-origin location services. Interestingly, 28% of these apps request audio
policy for limiting cross-site tracking on the web, Android’s lack of permissions, which in some cases could be used for ultrasonic
cross-SDK isolation mechanism allows them to access and share beaconing [12, 88, 98]. However, the analysis of audio-tracking
data within the same app process without any restrictions. technologies is outside the scope of this paper. Finally, over 40% of
apps request phone state permissions to access the IMEI on Android
6 Privacy Analysis 9 and 35% the AAID on Android 12.
Most of the analyzed apps with beacon SDKs (77%) self-disclose We inspect the code of apps requesting these permissions to de-
the collection of user data through Google Play’s data safety labels. termine whether the caller class belongs to the app itself (first-party
The most frequently collected data are device IDs (62%), personal code) or the beacon SDK (third-party code) using the backward
information such as names, emails, and other user IDs (60%), and slicing technique described in §4. This process allows us to infer
location (35%) supposedly for app functionality (69%) and analytics the usage and purpose of API invocations by reasoning about the
(68%), followed by account management (51%), and advertising or business models of the SDKs requesting them according to publicly
marketing (36%). However, this information is self-disclosed by app available information. In line with our static permission analysis,
developers and may be erroneous or intentionally deceptive. we find that API usage for location tracking closely matches de-
In this section, we use our dynamic analysis pipeline (§4.4) to an- clared permissions. For WiFi, we observe an 11% decrease in API
alyze the runtime data collection practices associated with beacon usage compared to declared permissions, suggesting possible over-
SDKs across our 9,652 apps. Specifically, we study their permission permissioning or the presence of obfuscated code. For Bluetooth,
requests (§6.1) and monitor the dissemination of 18 sensitive data 18% of apps invoke Bluetooth APIs without declaring the corre-
types including beacon-specific data and user IDs (§6.2), demon- sponding permissions. This under-permissioning could stem from
strating how beacon data is often bridged with device IDs like the cases like Facebook and Ogury Ad SDKs, which provide multiple
AAID (§6.3). To contextualize our permission analysis in §6.1, we functionalities (i.e., advertising, location services, BLE), while app
conclude with an evaluation of how developers follow permission developers may use them just for very specific purposes.
consent best practices (§6.4). The results presented in this section Meanwhile SDKs like, AltBeacon and Estimote seem to have
constitute actual evidence of the dissemination of geolocation data legitimate high rates of Bluetooth-related permission requests—95%
linked to user IDs from apps to cloud services and across SDKs, and 97%, respectively—for detecting and interacting with beacons.
for potential secondary purposes like identity profiling, mobility Interestingly, 91% of apps integrating AltBeacon and also requesting
tracking, advertising and potentially data brokerage. location permission never invoke the corresponding AltBeacon
location APIs in Java code, indicating that the permission request
could be a requirement for complying with Android versions 11
6.1 Permission Analysis and lower. On the contrary, we observe how the majority of apps
We compare declared permissions in each app’s manifest with stati- integrating Estimote, LeanPlum, Gimbal or Radius Networks make
cally identified APIs to flag cases of over-permissioning. Our analy- use of the corresponding location APIs, as described in §5.
sis shows that 82% of the apps request either fine or coarse-grained The dual purpose of many Android permissions has been crit-
location permissions, 79% of beacon-enabled apps request WiFi icized for causing confusion among developers and users. To il-
permissions and 62% request Bluetooth-related permissions. This lustrate this, we analyze the manifest files to extract the presence
8
Your Signal, Their Data Proceedings on Privacy Enhancing Technologies YYYY(X)
Table 4: SDKs collect location data and exfiltrate identifiers 6.2 Beacon Data Collection
classified under global persistent IDs, app persistent IDs,
We study the runtime data access practices of beacon-enabled apps
global resettable IDs, app resettable IDs, WiFi/Bluetooth
using the dynamic analysis pipeline described in §4.4. We find that
scans, and GPS data (§3). Symbols indicate data collection on
they collectively contact over 25K unique domains, with 86% of
Android 9 (^), Android 12 (▼), or both (⋆). Highlighted rows
apps and 20% of domains collecting at least one of the sensitive
represent SDKs from our dataset; others are co-embedded
data types detailed in Table 4. While our dynamic analysis results
SDKs detected through dynamic analysis.
are a lower-bound estimation of the potential practices due to
Glob.
inherent coverage limitations of runtime analysis, they provide
SDK Glob. Pers. WiFi/BLE scan GPS
(# of Apps) App.
Rst.
App
actual evidence of SDK behaviors and potential privacy abuses.
Pers. Rst. Additionally, dynamic analysis extends SDK detection beyond static
ibeacon UUID
Coarse gelog.
Router MAC
Router SSID
Fine geoloc.
Android ID
BLE Name
Boot ID
HW ID
GSF ID
FID
20%
Intersection
com . geomobile . tiendeo outbound to api . radar . io :443
POST / v1 / logs HTTP /1.1 15%
size
Content - Type : application / json 10%
Host : api . radar . io 5%
..
0
" androidid ":" XXXXXXXXXXXXXX "
20% Global persistent ID
{
20% App resettable ID
" createdAt ": 1720523270332 , 33% WiFi/BLE scan
" level ": " DEBUG " , 40% GPS data
" message ": " Ranged beacon | beacon . type = IBEACON ; beacon . uuid = 01022022 - 49% App persistent ID
fa0f -0100 -00 ac - dd1c6502da1c ; beacon . major = 53479; beacon . minor = 70% Global resettable ID
Table 5: Packages with Yandex SDK, collecting multiple IDs. with the AAID. To protect users’ privacy, the Google Play Store
user data policy explicitly prohibits linking persistent IDs with
Router resettable ones like AAID for advertising or analytics purposes
Android ID
unless explicitly disclosed to users via privacy policies or in-app
WiFi MAC
Scan MAC
Scan SSID
consent dialogs [41]. However, our findings suggests that such link-
Installs
AAID
MAC
IMEI
SSID
ing still occurs, which could potentially enable cross-app tracking,
Package Name profiling, targeted advertising, and third-party data aggregation for
ru.dvaberega 968K x x x resale. We also find non-beacon SDKs like MixPanel, Amplitude,
com.numplates.nomera3 576K x x x x x and New Relic bridging other IDs like the Android ID with the IMEI
com.zenhotels.android 261K x x x x x x x x
com.wromanticgirlgame_10378860 60K x x x x x (in Android 9 and below) in 244 of the analyzed apps. MixPanel
com.weSPPTPBBKotaBogor_13752947 39.4K x x x x x further enriches this profile by adding GSF ID. The privacy impli-
com.ratehawk.android 34.5K x x x x x x x x cations of our findings are concerning. In fact, beacon SDKs like
com.wMadaniQaidahUrdu_15187981 515 x x x x x Huq Sourcekit, Radar, Incognia, and Vizbee seem to opportunis-
com.wBukuMenwa_15656972 179 x x x x x
tically attempt to piggyback on the permissions requested by the
com.AirportTransportation_4990860 85 x x x x x
app developer to collect the full spectrum of IDs along with GPS
and BLE/WiFi data. For geolocation data, SDKs like Huq Sourcekit
Platform, and Colocator, along with non-beacon SDKs like Con- and Radar do not directly invoke location APIs but instead appear
viva, PingID, AppICE, Taobao, Vizbee, and Datadog, combine the to collect location data indirectly via host app permissions. We
AAID with the persistent GSF ID. For example, Figure 7 shows demonstrate the risks of ID bridging with two case studies:
Kochava collecting AAID with connected WiFi MAC. Similarly,
non-beacon SDKs like Yandex and Alipay incorporates the An- • Amplitude: This mobile analytics platform performs extensive
droid ID and WiFi MAC, enabling cross-session tracking linked to data collection practices by bridging precise GPS coordinates
precise network settings, regardless of AAID resets. We observe with IDs like the AAID, the Android IDs, and the IMEI (in An-
these practices in 5% of the apps that we analyze. droid 9 and below). Combining location data with persistent or
• Nearby WiFi Scans: Six SDKs upload nearby WiFi network data resettable IDs for analytics purposes may violate Google’s pol-
(e.g., router scan SSID, router scan MAC), along with user IDs. icy [99]. Additionally, Amplitude collects user email addresses, as
For instance, Cuebiq and Incognia combine AAID and Android seen in apps like br.com.brainweb.ifood (100M+ downloads),
ID alongside both nearby and connected router scan data to track where emails are transmitted during the Sign In with Google
user movements across WiFi contexts, as shown in Figure 8. This OAuth event triggered in our testing. Of particular concern is
data may be collected to enhance location services via crowd- Amplitude’s ability to track every user interaction within the
sourcing. Notably, Yandex combines AAID, Android ID, WiFi app that embeds the SDK. Each user-triggered event is transmit-
MAC, IMEI (in Android 9 and below), and even clipboard data ted to Amplitude’s servers, along with precise GPS coordinates,
with both connected and nearby router data. Table 5 lists popular hence potentially enabling semi-continuous tracking of users’
apps with this behavior integrating the Yandex SDK. interactions and the exact locations where they occur.
• BLE Beacon Data: our analysis shows that three SDKs collect • Adobe Experience Platform collects various user identifiers
BLE beacon IDs such as iBeacon UUIDs or MAC addresses. This through demdex.net and *.omtrdc.net domains, including reset-
approach offers finer granularity than WiFi-based data and GPS table (AAIDs), globally persistent (WiFi MACs, hashed emails),
location indoors. Proximi.io collects iBeacon UUIDs with device geolocation (router SSIDs, GPS), and app- or device-scoped IDs
fingerprints, while the Kontakt SDK gathers iBeacon MAC ad- (Firebase installation IDs, Android IDs). Additionally, Adobe sets
dresses. Radar further integrates iBeacon UUIDs with GPS data, its proprietary marketingCloudId, a “persistent and universal iden-
Android IDs, and AAIDs to enable detailed location-based track- tifier designed to track users across all Adobe Experience Cloud
ing tied to physical BLE infrastructure even after AAID resets. products and subsidiaries” [5]. Such SDK-specific IDs add opacity,
limit user control and enabling potential ID bridging. In over
GPS Data with Global Resettable or Persistent IDs: 39% of SDKs 16 apps, we find the adobedtm tracker to collect hashed emails
collect GPS data along with user IDs. This includes beacon SDKs alongside the marketingCloudId. This data is stored in a dictio-
such as LeanPlum, Huq Sourcekit, and Cuebiq, and non-beacon nary labelled “PII” and logged under an event named PiiInfor-
SDKs like Vizbee, Incognia, and Conviva. Interestingly, Incognia mationReceived, suggesting an intentional collection of PII. We
goes a step further by harvesting the Boot ID, a 64-bit unique hex also observe cross-library interactions and potential data sharing.
string ID generated on a device’s first boot and stored securely, that In com.totalwine.app.store (1M+ downloads), the marketing-
should remain constant for the lifetime of the device unless the CloudId is shared with Appsflyer alongside AAIDs, suggesting a
user performs a factory reset. direct interconnection with Adobe’s identity graph solutions.
AAID Bridging: We find that 14% of SDKs link the AAID with
global persistent IDs such as the IMEI (available only on Android
9 or below) or GSF ID. In more than 180 apps, beacon-enabled an- 6.4 Permission Usage Rationale
alytics and marketing SDKs such as Adobe Experience Platform Android’s official developer guidelines recommend that apps clearly
and LeanPlum appear alongside non-beacon counterparts like Am- communicate the necessity of the permission requests and the po-
plitude, Sentry, and MixPanel, which appear to bridge the IMEI tential impact if the user denies it [36]. Android 6.0 introduced the
11
Proceedings on Privacy Enhancing Technologies YYYY(X) Girish et al.
shouldShowRequestPermissionRationale() method to inform develop- these apps. Their wireless devices, such as headphones or AirTags,
ers if their app should explain to the user the purpose of a requested can be continuously observed by passive scanners. While our fo-
dangerous permission. cus is on mobile apps, similar tracking risks may exist—including
Beacon SDK-enabled apps pose significant privacy risks to users connected platforms (e.g., IoT)—highlighting the need for better
while offering them little to no control over data collection. To transparency, accountability, and regulatory safeguards.
demonstrate this, we measure their compliance with Android’s Beacon SDKs and Location Surveillance. In §6 we demonstrate
permission request guidelines when requesting dangerous permis- how beacon SDKs continuously scan for WiFi, Bluetooth, and GPS
sions. We do this by statically searching for instances where beacon signals, supporting a vast data ecosystem of targeted advertising
SDKs invoke the shouldShowRequestPermissionRationale() and re- and data brokers [75]. For instance, Singlespot, a French marketing
questPermissions() methods. We then parse the permission strings firm, claims to have collected data from 2 million users and sells it
associated with these function calls. Finally, we analyze the app’s for up to $20,000 via platforms like Datarade [113]. If persistent iden-
UI components to detect any consent dialogs, such as alerts and tifiers are linked to specific geolocations, SDKs can then leverage
banners, that might be used to explain the permissions. By contex- WPS, data brokers and public databases to infer the users’ location
tually linking all these elements, we infer whether the app clearly and accurately track their movements. Such knowledge is harmful
provides a rationale for the requested permissions. to users’ privacy because it can disclose information about their
We find that 24% of apps in our dataset do not implement the personal beliefs or sexual orientation, or it can even reveal classified
shouldShowRequestPermissionRationale() API and include a ratio- information such as the location of secret facilities [30, 45, 62, 128].
nale for permission requests. Among those that do implement the Beyond first-hand data collection, beacon SDKs may also share or
API, 92% rely on third-party SDKs to provide such explanations cor- repurpose the data they obtained [75]. As we analyzed in §5.2, SDKs
rectly, a transparency feature beyond the control of app developers. co-located on the same app can exchange the collected information.
Additionally, the presence of these justifications varies significantly This interconnectivity enables pervasive data flows across orga-
across permission types: 71% of apps requesting location data fail to nizations, where user-tagged beacon data spreads across multiple
justify access, only 13% of apps justify FINE_LOCATION access, 7% third parties. Similarly, as shown in §6.3, proprietary identifiers like
for COARSE_LOCATION, and 8% for BACKGROUND_LOCATION, Adobe’s Marketing Cloud ID get linked with persistent and reset-
in all cases primarily handled by third-party SDKs. The lack of table user IDs and then shared with other SDKs. These practices
justification is even worse for Bluetooth permissions, with 97% of circumvent user control and blur accountability.
apps providing no explanation despite its known tracking risks. Platform Policy Enforcement. Google Play has introduced poli-
Our results suggest that, most developers underestimate BLE data cies designed to protect user privacy by imposing strict rules on
risks compared to location data. what data apps can collect and how they use it. According to these
On the other hand, only five beacon SDKs in our dataset use policies, developers are responsible for ensuring that any SDKs
the shouldShowRequestPermissionRationale() API to explain specific embedded in their apps do not sell or misuse sensitive user informa-
dangerous permissions. Estimote shows rationales for coarse loca- tion they collect [100]. For instance, one policy explicitly prohibits
tion in 75% of apps embedding it. Radar, Salesforce Marketing Cloud, linking user data or resettable IDs (e.g., AAID) with persistent de-
and Singlespot show fine location rationales in 42%, 54%, and 55% vice IDs or PII for advertising [99]. However, while analyzing apps
of apps, respectively. Additionally, InMarket provides rationales for in practice, we find that 14% of SDKs (§ 6.3) bridge resettable iden-
accessing background location in 52% of apps. In contrast, SDKs like tifiers with persistent ones. Such identifier bridging undermines
Swrve and IndoorAtlas delegate this responsibility entirely to app Android’s privacy safeguards, as resetting identifiers no longer
developers despite invoking permission-protected APIs themselves. limits continuous user tracking. A second recital mandates clear
Swrve implements a callback to check if the rationale was shown to user disclosure for any location data collected for ads, ensuring
the user [118], allowing it to piggyback on the app’s permissions. transparency and data minimization. Unfortunately, these policies
These findings highlight systemic transparency failures in how shift the burden to developers. As they rush their market release,
beacon-enabled apps handle permission requests, leaving users regulatory complexity, inexperience, and incomplete SDK docu-
with little insight or control despite the dual usage of these permis- mentation hinders compliance. To enforce compliance and detect
sions. Stricter auditing, policy interventions and broader ecosystem policy violations, marketplaces could implement stricter indepen-
reforms are necessary to address these gaps as we discuss next. dent audits before app release, runtime monitoring, and publicly
disclose audit results for transparency.
7 Discussion Regulation and Transparency. Regulatory efforts in the EU and
Our study reveals the pervasive tracking risks of beacon-enabled the US aim to mitigate privacy risks and enhance transparency
SDKs in Android. By analyzing behaviors, cross-library interactions, in mobile platforms. GDPR [48] mandates data minimization and
and data collection practices, we show how beacon SDKs track consent, yet enforcement remains a challenge due to opaque SDK
users across apps and services. Building on Dehaye and Reardon’s data-sharing practices. Meanwhile, CNIL and AEPD have issued
premise [32], our findings challenge the assumption that BLE-based guidelines to curb passive wireless tracking [29, 31]. CNIL advises
distance authentication is secure against global passive adversaries. app developers to map data flows, SDK providers to document
The belief that large-scale Bluetooth surveillance is economically compliance, and marketplaces to enforce vetting. However, en-
unfeasible is flawed, as SDKs turn millions of everyday apps into forcement gaps persist as widespread over-permissioning (§6.1),
passive scanners. This shifts costs—power and data collection—to proprietary identifier use by SDKs (§6.3), and uncontrolled SDK-
users while enabling tracking of individuals who never installed driven data sharing beyond user control enable large-scale tracking,
12
Your Signal, Their Data Proceedings on Privacy Enhancing Technologies YYYY(X)
making regulatory oversight difficult. Our empirical findings re- social networks (LBSNs) [43, 44, 135, 137, 138], crowdsourced lo-
veal how beacon SDKs evade existing protections through wireless cation tracking [61, 112, 126, 133], and how GPS data from mobile
scanning, cross-SDK interactions, and non-compliant tracking. By apps [43, 44, 137] inadvertently reveals sensitive information such
highlighting these risks, our analysis calls for strengthening audits, as military base locations or can be exploited for stalking and harass-
mandating SDK disclosures, and stricter enforcement to ensure ment [133, 138]. On the other hand, studies of Call Detail Records
compliance and curb unchecked data collection. (CDRs) and Twitter geolocation data revealed the uniqueness and
Defense Measures. Our work highlights systemic transparency predictability of human mobility patterns [30, 45, 57]. De Mon-
failures and policy gaps in the data collection practices of beacon- tjoye et al. [30] demonstrated that with just four location points it
enabled apps and Android’s transparency features. Mitigating these is possible to uniquely identify 95% of individuals However, there
risks requires stronger privilege separation and sandboxing to limit is a gap in the literature on how location data is collected, who
cross-library data sharing. While Google’s Privacy Sandbox is in operates these location data services within the mobile ecosystem,
the right direction, it only isolates advertising SDKs [59]. Stricter and how they can be misused to track users and their movements.
runtime audits and app store vetting are needed to detect covert Mobile App Privacy. Privacy risks in mobile apps have been
SDK behavior, yet these rely solely on platform enforcement, leav- extensively studied using static [13, 82, 89, 96, 125, 137] and dy-
ing users with no control over beacon data collection and sharing. namic [43, 80, 105, 106, 120] analysis techniques to uncover ma-
This lack of control is worsened by the absence of transparency licious behaviors, third-party code implications [52, 85, 105, 132],
mechanisms in the beacon ecosystem. As shown in §6.4, the should- transparency issues [11, 49, 80], and regulatory compliance gaps [77,
ShowRequestPermissionRationale() API designed to improve user 79, 94, 95, 136]. However, the limitations of relying solely on static
awareness is rarely used, exposing gaps in permission governance. or dynamic analysis [18, 25, 55, 101] have led to hybrid approaches
Existing privacy controls offer little protection against abuse. The that more effectively expose side and covert channels [102, 106, 124]
FCC suggests setting Bluetooth to hidden mode, but this only pre- and privacy risks from analytical SDKs [33, 105, 115, 117]. Despite
vents device discovery, not beacon scanning [20]. Addressing these several proposed solutions like privacy policies and labels, discrep-
risks requires a multi-layered approach, including stricter app store ancies still persist between stated and actual data usage [11, 63, 132].
policies, independent audits, and technical safeguards to curb un- Our work does not use formal privacy accounting frameworks that
regulated beacon tracking. While our work focuses on policy and rely on mathematical models to estimate privacy issues, such as
platform-level privacy controls, future research can explore usabil- data de-anonymization or re-identification [30, 43, 44, 133]. On
ity improvements to enhance user awareness and transparency. the contrary, we align with prior empirical privacy research that
combines static and dynamic analysis to measure the prevalence
8 Related work of beacon data-collection behaviors and estimate the number of
WiFi and BLE Scanning. Studies have shown how WiFi probe affected users [52, 80, 83, 95, 105, 106, 108].
requests, which lack encryption and authentication, are exploited
to track users and establish social links using SSIDs and BSSIDs [27, 9 Conclusions
53]. This data contributes to large databases created through tech- This paper presents the first large-scale empirical analysis of wireless-
niques like wardriving, enabling passive location tracking by third scanning SDKs in the Android ecosystem. By combining static and
parties [111]. Rye and Levin [110] highlighted the risks by revealing dynamic analysis with signal injection and runtime monitoring,
how Apple’s WiFi Positioning System (WPS) mapped geolocations we reveal how 52 SDKs across 9,976 apps exploit Bluetooth and
for over 2 billion BSSIDs globally, enabling mass surveillance. On WiFi scanning to infer user location and collect sensitive data. Our
the other hand, vulnerabilities in Bluetooth have been exploited to findings reveal that this ecosystem is tightly connected with adver-
track users [17, 28, 51, 74, 81], spoof, and perform denial-of-service tising and tracking purposes and operates with minimal oversight.
attacks [78] and exfiltrate private data [103]. Achara et al. [4] high- Most SDKs collect geolocation data for such secondary purposes
lighted how Android’s WiFi permissions were exploited by apps and violate platform policies by engaging in ID bridging—linking
to infer user locations, prompting stricter controls by linking WiFi persistent and resettable identifiers to construct detailed user pro-
data to location permissions. files without user consent or knowledge for persistent user track-
Several studies also identified privacy abuses across apps and ing. Some SDKs even intentionally exploit side channels to access
SDKs. Reyes et al. [108] exposed children’s apps harvesting WiFi sensitive data and IDs without requesting the pertinent Android
data to infer locations, violating COPPA. Reardon et al. [106] un- permissions. We provide concrete evidence of non-compliance with
covered covert channels in Android used to infer user locations. platform policies and inadequate enforcement of existing rules. Our
Dehaye and Reardon [32] showed SDKs like X-Mode harvesting study demonstrates that existing privacy protections are insuffi-
Bluetooth scans for user tracking to demonstrate the existance of cient, highlighting the need for stricter regulatory control, robust
global passive adversaries in the context of contact tracing apps. SDK sandboxing to limit cross-library data sharing, proactive audits
Building on this, our work provides the first empirical, large-scale to curb policy violations, and stronger transparency mechanisms
analysis of the Android beacon ecosystem, revealing how SDKs to prevent large-scale tracking and ensure user control.
utilize GPS, BLE beacons, and WiFi signals to track user proximity
with high precision and link this data to the user or device IDs.
Location. Location privacy has drawn significant research atten- Acknowledgments
tion due to the rise of location-based services (LBS). A large body We thank the reviewers and the shepherd for their valuable feed-
of work has focused on GPS data dissemination in location-based back and suggestions for improving our paper. We used OpenAI’s
13
Proceedings on Privacy Enhancing Technologies YYYY(X) Girish et al.
ChatGPT to correct grammatical errors and to improve the clar- Automated Software Engineering (ASE).
ity and coherence of our paper. The AI model was used with the [19] Wolfie Christl. 2024. Tracking Indoor Location, Movement and Desk Occu-
pancy in the Workplace. https://crackedlabs.org/en/data-work/publications/
following prompt: "please improve the clarity and coherence of the indoortracking.
text while maintaining the original intent". This research was par- [20] Federal Communications Commission. 2024. How to Protect Yourself Online.
https://www.fcc.gov/consumers/guides/how-protect-yourself-online.
tially supported by project PID2022-143304OB-I00 (PARASITE) [21] Federal Trade Commission. 2016. Mobile Advertising Network InMobi
funded by MCIN/AEI /10.13039/501100011033/ and by the ERDF Settles FTC Charges It Tracked Hundreds of Millions of Consumers’ Loca-
“A way of making Europe”, the Spanish National Cybersecurity tions Without Permission. https://www.ftc.gov/news-events/news/press-
releases/2016/06/mobile-advertising-network-inmobi-settles-ftc-charges-it-
Institute (INCIBE) under Proyectos Estratégicos de Ciberseguri- tracked-hundreds-millions-consumers.
dad – CIBERSEGURIDAD EINA UNIZAR, and by the Recovery, [22] Federal Trade Commission. 2024. FTC Order Prohibits Data Broker X-
Transformation and Resilience Plan funds, financed by the Eu- Mode/Outlogic from Selling Sensitive Location Data. https://www.ftc.gov/news-
events/news/press-releases/2024/01/ftc-order-prohibits-data-broker-x-mode-
ropean Union (Next Generation), the Natural Sciences and Engi- social-outlogic-selling-sensitive-location-data. In FTC Press Releases.
neering Research Council of Canada (NSERC) (funding reference [23] Federal Trade Commission. 2024. FTC v. Kochava Inc. https://www.ftc.gov/legal-
library/browse/cases-proceedings/ftc-v-kochava-inc.
number RGPIN/04237-2018), and the Spanish AEI grant CYCAD [24] Federal Trade Commission. 2024. How "Location, Location, Lo-
(PID2022-140126OB-I00). Dr. Srdjan Matic was partially funded by cation" Can Lead to "Enforcement, Enforcement, Enforcement".
the Atracción de Talento grant (Ref. 2020-T2/TIC-20184), funded https://www.ftc.gov/business-guidance/blog/2024/01/how-location-location-
location-can-lead-enforcement-enforcement-enforcement. In FTC Business
by Madrid regional government. Prof. N. Vallina-Rodriguez was Guidance Blog.
appointed as 2019 Ramon y Cajal fellow (RYC2020-030316-I) funded [25] Andrea Continella, Yanick Fratantonio, Martina Lindorfer, Alessandro Puc-
by MCIN/AEI/10.13039/501100011033 and ESF Investing in your fu- cetti, Ali Zand, Christopher Kruegel, Giovanni Vigna, et al. 2017. Obfuscation-
Resilient Privacy Leak Detection for Mobile Apps Through Differential Analysis..
ture. The opinions, findings, and conclusions, or recommendations In Proceedings of the Network and Distributed System Security Symposium (NDSS).
expressed are those of the authors and do not necessarily reflect [26] Cue. 2024. Cue - Creating Unforgettable Experiences. https://www.
connectwithcue.com/.
the views of any of the funding bodies. [27] Mathieu Cunche, Mohamed Ali Kaafar, and Roksana Boreli. 2012. I know who
you will meet this evening! linking wireless devices using wi-fi probe requests.
In IEEE Symposium on a World of Wireless, Mobile and Multimedia Networks
References (WoWMoM). IEEE.
[1] 2007. Gimbal Ad Platform. https://infillion.com/gimbal-ad-platform-learn- [28] Aveek K. Das, Parth H. Pathak, Chen-Nee Chuah, and Prasant Mohapatra. 2016.
more/. Uncovering Privacy Leakage in BLE Network Traffic of Wearable Fitness Track-
[2] 2020. CVE-2020-0454 Detail. https://nvd.nist.gov/vuln/detail/CVE-2020-0454. ers. In International Workshop on Mobile Computing Systems and Applications.
https://nvd.nist.gov/vuln/detail/CVE-2020-0454 National Vulnerability Data- [29] Commission Nationale de l’Informatique et des Libertés (CNIL). 2024. Recom-
base, National Institute of Standards and Technology (NIST). mandation relative aux applications mobiles. https://www.cnil.fr/sites/cnil/files/
[3] 2024. Ausspioniert mit Standortdaten. https://interaktiv.br.de/ausspioniert-mit- 2024-09/recommandation-applications-mobiles.pdf.
standortdaten/en/. [30] Yves-Alexandre de Montjoye, Cesar Hidalgo, Michel Verleysen, and Vincent
[4] Jagdish Prasad Achara, Mathieu Cunche, Vincent Roca, and Aurélien Fran- Blondel. 2013. Unique in the Crowd: The privacy bounds of human mobility. In
cillon. 2014. Wifileaks: Underestimated privacy implications of the AC- Nature.
CESS_WIFI_STATE Android permission. In Proceedings on Security and privacy [31] Agencia Española de Protección de Datos. 2024. Tecnologías de seguimiento
in wireless and mobile networks. Wi-Fi: Orientaciones para responsables del tratamiento. https://www.aepd.es/
[5] Adobe. 2023. Identifying Visitors in Adobe Target Delivery API. guias/orientaciones-wifi-tracking-seguimiento.pdf.
https://experienceleague.adobe.com/docs/target-dev/developer/api/delivery- [32] Paul-Olivier Dehaye and Joel Reardon. 2020. Proximity Tracing in an Ecosystem
api/identifying-visitors.html. of Surveillance Capitalism. In Proceedings of the Workshop on Privacy in the
[6] Kevin Allix, Tegawendé F. Bissyandé, Jacques Klein, and Yves Le Traon. 2016. Electronic Society.
AndroZoo: Collecting Millions of Android Apps for the Research Community. In [33] Soteris Demetriou, Whitney Merrill, Wei Yang, Aston Zhang, and Carl A Gunter.
Proceedings of the 13th International Conference on Mining Software Repositories. 2016. Free for all! assessing user data exposure to advertising libraries on an-
[7] AltBeacon. 2024. AltBeacon Specification. https://github.com/AltBeacon/spec. droid.. In Proceedings of the Network and Distributed System Security Symposium
[8] Androguard. 2024. Androguard. https://github.com/androguard/androguard. (NDSS).
[9] Android Developers. 2025. UI/Application Exerciser Monkey. https://developer. [34] Loleta Detweiler. 2023. How To Name Bluetooth Devices. https://robots.net/
android.com/studio/test/other-testing-tools/monkey tech/how-to-name-bluetooth-devices.
[10] Apple. 2024. Location Services and Privacy. https://support.apple.com/en- [35] Android Developers. 2024. Android 6.0 Changes: Behavior Changes.
us/HT207056. https://developer.android.com/about/versions/marshmallow/android-6.0-
[11] Ioannis Arkalakis, Michalis Diamantaris, Serafeim Moustakas, Sotiris Ioannidis, changes#behavior-hardware-id.
Jason Polakis, and Panagiotis Ilia. 2024. Abandon All Hope Ye Who Enter Here: [36] Android developers. 2024. App permissions best practices | Android Developers.
A Dynamic, Longitudinal Investigation of Android’s Data Safety Section. In https://developer.android.com/training/permissions/usage-notes.
Proceedings of the USENIX Security Symposium. [37] Android Developers. 2024. Bluetooth Permissions. https://developer.
[12] Daniel Arp, Erwin Quiring, Christian Wressnegger, and Konrad Rieck. 2017. android.com/develop/connectivity/bluetooth/bt-permissions#assert-never-
Privacy Threats through Ultrasonic Side Channels on Mobile Devices. In IEEE for-location.
European Symposium on Security and Privacy. [38] Android Developers. 2024. Find Bluetooth Devices. https://developer.android.
[13] Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden, Alexandre Bartel, com/develop/connectivity/bluetooth/find-bluetooth-devices.
Jacques Klein, Yves Le Traon, Damien Octeau, and Patrick McDaniel. 2014. [39] Android Developers. 2024. Permissions on Android. https://developer.android.
Flowdroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint com/guide/topics/permissions/overview.
analysis for android apps. In ACM sigplan notices. [40] Android Developers. 2024. Request Location Permissions. https://developer.
[14] Kathy Wain Yee Au, Yi Fan Zhou, Zhen Huang, and David Lie. 2012. PScout: android.com/develop/sensors-and-location/location/permissions.
Analyzing the Android Permission Specification. In Conference on Computer [41] Android Developers. 2024. User Data and Identifiers in Android. https://
and Communications Security (CCS). developer.android.com/identity/user-data-ids.
[15] Azira. 2024. Homepage. https://azira.com. [42] Android Developers. 2024. Wi-Fi Scan. https://developer.android.com/develop/
[16] Michael Backes, Sven Bugiel, Erik Derr, Patrick McDaniel, Damien Octeau, and connectivity/wifi/wifi-scan.
Sebastian Weisgerber. 2016. On Demystifying the Android Application Frame- [43] Karel Dhondt, Victor Le Pochat, Yana Dimova, Wouter Joosen, and Stijn Vol-
work: Re-Visiting Android Permission Specification Analysis. In Proceedings of ckaert. 2024. Swipe Left for Identity Theft: An Analysis of User Data Privacy
the USENIX Security Symposium. Risks on Location-based Dating Apps. In Proceedings of the USENIX Security
[17] Johannes Becker, David Li, and David Starobinski. 2019. Tracking Anonymized Symposium.
Bluetooth Devices. In Proceedings on Privacy Enhancing Technologies (PoPETs). [44] Karel Dhondt, Victor Le Pochat, Alexios Voulimeneas, Wouter Joosen, and Stijn
[18] Shauvik Roy Choudhary, Alessandra Gorla, and Alessandro Orso. 2015. Auto- Volckaert. 2022. A Run a Day Won’t Keep the Hacker Away: Inference Attacks
mated Test Input Generation for Android: Are We There Yet?. In Proceedings on on Endpoint Privacy Zones in Fitness Tracking Social Networks. In Conference
14
Your Signal, Their Data Proceedings on Privacy Enhancing Technologies YYYY(X)
15
Proceedings on Privacy Enhancing Technologies YYYY(X) Girish et al.
[99] Google Play. 2023. Developer Program Policy. https://support.google.com/ [124] Jice Wang, Yue Xiao, Xueqiang Wang, Yuhong Nan, Luyi Xing, Xiaojing Liao,
googleplay/android-developer/answer/9857753 JinWei Dong, Nicolas Serrano, Haoran Lu, XiaoFeng Wang, et al. 2021. Under-
[100] Google Play. 2024. User Data Policy for Android Developers. standing malicious cross-library data harvesting on android. In Proceedings of
https://support.google.com/googleplay/android-developer/answer/10144311? the USENIX Security Symposium.
sjid=18338717510598425318-EU. [125] Fengguo Wei, Sankardas Roy, Xinming Ou, and Robby. 2018. Amandroid: A
[101] Sebastian Poeplau, Yanick Fratantonio, Antonio Bianchi, Christopher Kruegel, precise and general inter-component data flow analysis framework for security
and Giovanni Vigna. 2014. Execute this! analyzing unsafe and malicious dy- vetting of android apps. In ACM Transactions on Privacy and Security (TOPS).
namic code loading in android applications.. In Proceedings of the Network and [126] Mira Weller, Jiska Classen, Fabian Ullrich, Denis Waßmann, and Erik Tews. 2020.
Distributed System Security Symposium (NDSS). Lost and found: stopping bluetooth finders from leaking private information. In
[102] Sajjad Pourali, Nayanamana Samarasinghe, and Mohammad Mannan. 2022. Hid- Proceedings on Security and Privacy in Wireless and Mobile Networks (WiSec).
den in plain sight: exploring encrypted channels in android apps. In Conference [127] WiGLE. 2024. WiGLE All the Networks. Found by Everyone. https://wigle.net.
on Computer and Communications Security (CCS). [128] WIRED. 2024. Anyone Can Buy Data Tracking US Soldiers and Spies to Nuclear
[103] Joseph Priest and Daryl Johnson. 2015. Covert Channel over Apple iBeacon. In Vaults and Brothels in Germany. https://www.wired.com/story/phone-data-us-
Proceedings on Security and Management (SAM). soldiers-spies-nuclear-germany/.
[104] Exodus Privacy. 2024. Homepage. https://exodus-privacy.eu.org/en/. [129] Wired. 2024. Jeffrey Epstein Island Visitors Data Broker Leak. https://www.
[105] Abbas Razaghpanah, Rishab Nithyanand, Narseo Vallina-Rodriguez, Srikanth wired.com/story/jeffrey-epstein-island-visitors-data-broker-leak/.
Sundaresan, Mark Allman, Christian Kreibich, Phillipa Gill, et al. 2018. Apps, [130] Arol Wright. 2021. Android 12 no longer needs your location to scan nearby
trackers, privacy, and regulators: A global study of the mobile tracking ecosys- Bluetooth devices. https://www.xda-developers.com/android-12-location-scan-
tem. In Proceedings of the Network and Distributed System Security Symposium nearby-bluetooth-devices/.
(NDSS). [131] Senator Ron Wyden. 2024. Wyden Reveals Phone Data Used to Target Abortion
[106] Joel Reardon, Álvaro Feal, Primal Wijesekera, Amit Elazari Bar On, Narseo Misinformation at Visitors to Hundreds of Reproductive Health Clinics.
Vallina-Rodriguez, and Serge Egelman. 2019. 50 ways to leak your data: An https://www.wyden.senate.gov/news/press-releases/wyden-reveals-phone-
exploration of apps’ circumvention of the android permissions system. In Pro- data-used-to-target-abortion-misinformation-at-visitors-to-hundreds-of-
ceedings of the USENIX Security Symposium. reproductive-health-clinics.
[107] Joel Reardon, Nathan Good, Robert Richter, Narseo Vallina-Rodriguez, Serge [132] Yue Xiao, Chaoqi Zhang, Yue Qin, Fares Fahad S Alharbi, Luyi Xing, and Xiaojing
Egel-man, and Quentin Palfrey. 2020. Jpush away your privacy: A case study of Liao. 2024. Measuring Compliance Implications of Third-party Libraries Privacy
Jiguang’s Android SDK. (2020). Label Disclosure Guidelines. In Conference on Computer and Communications
[108] Irwin Reyes, Primal Wijesekera, Joel Reardon, Amit Elazari Bar On, Abbas Security (CCS).
Razaghpanah, Narseo Vallina-Rodriguez, Serge Egelman, et al. 2018. “Won’t [133] Tingfeng Yu, James Henderson, Alwen Tiu, and Thomas Haines. 2024. Secu-
somebody think of the children?” examining COPPA compliance at scale. In rity and Privacy Analysis of Samsung’s { Crowd-Sourced } Bluetooth Location
Proceedings on Privacy Enhancing Technologies (PoPETs). Tracking System. In Proceedings of the USENIX Security Symposium.
[109] Ian Rose and Matt Welsh. 2010. Mapping the urban wireless landscape with [134] Jiexin Zhang, Alastair R. Beresford, and Stephan A. Kollmann. 2019. LibID: reli-
Argos. In Proceedings of the ACM conference on embedded networked sensor able identification of obfuscated third-party Android libraries. In Proceedings of
systems. the SIGSOFT International Symposium on Software Testing and Analysis (ISSTA).
[110] Erik Rye and Dave Levin. 2024. Surveilling the Masses with Wi-Fi-Based Posi- [135] Fanghua Zhao, Linan Gao, Yang Zhang, Zeyu Wang, Bo Wang, and Shanqing
tioning Systems. In IEEE Symposium on Security and Privacy (SP). Guo. 2018. You are where you app: An assessment on location privacy of social
[111] Piotr Sapiezynski, Radu Gatej, Alan Mislove, and Sune Lehmann. 2015. Op- applications. In 2018 IEEE 29th International Symposium on Software Reliability
portunities and challenges in crowdsourced wardriving. In Proceedings of the Engineering (ISSRE).
Internet Measurement Conference (IMC). [136] Kaifa Zhao, Xian Zhan, Le Yu, Shiyao Zhou, Hao Zhou, Xiapu Luo, Haoyu Wang,
[112] Narmeen Shafqat, Nicole Gerzon, Maggie Van Nortwick, Victor Sun, Alan Mis- and Yepang Liu. 2023. Demystifying Privacy Policy of Third-Party Libraries
love, and Aanjhan Ranganathan. 2023. Track You: A Deep Dive into Safety Alerts in Mobile Apps. In 2023 IEEE/ACM 45th International Conference on Software
for Apple AirTags. In Proceedings on Privacy Enhancing Technologies (PoPETs). Engineering (ICSE).
[113] Singlespot. 2024. Singlespot - Pricing, Reviews, Data & APIs. https://datarade. [137] Qingchuan Zhao, Chaoshun Zuo, Giancarlo Pellegrino, and Li Zhiqiang. 2019.
ai/data-providers/singlespot/profile. Geo-locating Drivers: A Study of Sensitive Data Leakage in Ride-Hailing Ser-
[114] Skyhook. 2024. Skyhook Wi-Fi Location. https://www.skyhook.com/wifi- vices. Proceedings of the Network and Distributed System Security Symposium
location-solutions. (NDSS).
[115] Sooel Son, Daehyeok Kim, and Vitaly Shmatikov. 2016. What Mobile Ads [138] Shuang Zhao, Xiapu Luo, Bo Bai, Xiaobo Ma, Wei Zou, Xinliang Qiu, and Man Ho
Know About Mobile Users.. In Proceedings of the Network and Distributed System Au. 2016. I know where you all are! exploiting mobile social apps for large-scale
Security Symposium (NDSS). location privacy probing. In Information Security and Privacy: 21st Australasian
[116] Statista. 2024. Mobile Android Version Market Share Worldwide 2018- Conference, ACISP 2016, Melbourne, VIC, Australia, July 4-6, 2016, Proceedings,
2024. https://www.statista.com/statistics/921152/mobile-android-version- Part I 21.
share-worldwide/.
[117] Ryan Stevens, Clint Gibler, Jon Crussell, Jeremy Erickson, and Hao Chen. 2012.
Investigating user privacy in android ad libraries. In Workshop on Mobile Security Appendix
Technologies (MoST).
[118] Swrve. 2024. Swrve Geo SDK Integration Guide. https://docs.swrve.com/
developer-documentation/integration/swrve-geo-sdk/.
[119] Byron Tau. 2023. FBI Once Bought Mobile-Phone Data for Warrantless Tracking.
Other Agencies Still Do. https://www.wsj.com/articles/fbi-once-bought-mobile-
phone-data-for-warrantless-tracking-other-agencies-still-do-ad65ebe9.
[120] Marcos Tileria and Jorge Blasco. 2022. Watch over your tv: a security and
privacy analysis of the android tv ecosystem. In Proceedings on Privacy Enhancing
Technologies.
[121] Narseo Vallina-Rodriguez, Jon Crowcroft, Alessandro Finamore, Yan Grunen-
berger, and Konstantina Papagiannaki. 2013. When assistance becomes depen-
dence: characterizing the costs and inefficiencies of A-GPS. In ACM SIGMOBILE
Mobile Computing and Communications Review.
[122] Mathy Vanhoef, Célestin Matte, Mathieu Cunche, Leonardo S Cardoso, and
Frank Piessens. 2016. Why MAC address randomization is not enough: An
analysis of Wi-Fi network discovery mechanisms. In Proceedings of the Asia
conference on computer and communications security (ASIA CCS).
[123] Haoyu Wang, Zhe Liu, Jingyue Liang, Narseo Vallina-Rodriguez, Yao Guo, Li
Li, Juan Tapiador, Jingcun Cao, and Guoai Xu. 2018. Beyond Google Play: A
Large-Scale Comparative Study of Chinese Android App Markets. In Proceedings
of the Internet Measurement Conference (IMC).
16
Your Signal, Their Data Proceedings on Privacy Enhancing Technologies YYYY(X)
Advertising
Analytics
Profiling
Location
AltBeacon 4,022 ✓ ✓
Adobe Experience Platform 1,328 ✓
Kochava 1,117 ✓ ✓ ✓
Salesforce Marketing Cloud 1,080 ✓ ✓ ✓
Estimote 510 ✓ ✓
LeanPlum 456 ✓ ✓ ✓
Gimbal 396 ✓ ✓ ✓
Radius Networks 369 ✓ ✓
mParticle 367 ✓
Ad4Screen 198 ✓
Kontakt 194 ✓
CueAudio 190 ✓ ✓
Swrve 153 ✓ ✓ ✓
Reveal Mobile 109 ✓ ✓
Exponea 99 ✓
Radar 93 ✓ ✓
IndoorAtlas 92 ✓ ✓
SignalFrame 89 ✓
Bazaarvoice 88 ✓ ✓
Huq Sourcekit 81 ✓ ✓
Yinzcam Sobek 80 ✓ ✓ ✓
BlueKai (acquired by Oracle) 73 ✓
Cuebiq 73 ✓ ✓
Rover SDK 50 ✓ ✓ ✓
Coulus Coelib 47 ✓
Colocator 40 ✓ ✓
X-Mode 38 ✓ ✓
Zendrive 34 ✓ ✓ ✓
Dynamic Yield 27 ✓
Pilgrim by Foursquare 25 ✓
Sense360 24 ✓ ✓
Locuslabs 23 ✓ ✓
InMarket 23 ✓ ✓
Singlespot 18 ✓
Roximity 17 ✓
Zapr 17 ✓ ✓ ✓
Swirl 16 ✓ ✓
Bluecats 14 ✓
Areametrics 8 ✓
OpenLocate 8 ✓
Point Inside 7 ✓ ✓
PredicIO 6 ✓ ✓ ✓
MOCA 5 ✓ ✓ ✓
BeaconsInSpace (Fysical) 5 ✓
Unacast Pure 5 ✓
Woosmap SDK 5 ✓ ✓
Sensoro 4 ✓ ✓
Signal360 4 ✓
Placer 4 ✓ ✓ ✓
Proximi.io 3 ✓ ✓
Tamoco 3 ✓ ✓
pulseid 1 ✓ ✓
Table 7: Description of PII types considered in this study. Abbreviations used: Pers - Persistent; Reset - Resettable.
18
Your Signal, Their Data Proceedings on Privacy Enhancing Technologies YYYY(X)
Table 10: Android framework APIs (Java) that enable wireless beacon scanning.
Table 11: Market share of the top-15 SDKs per top-10 app category.
SDK Name # Apps Lifestyle Shopping Sports Business Travel & Local Finance News & Magazines Education Entertainment Weather
AltBeacon 4024 18% (721) 6% (240) 3% (137) 12% (498) 8% (338) 3% (133) 1% (59) 8% (302) 3% (114) 1% (32)
Adobe Experience Platform 1328 3% (45) 7% (89) 9% (120) 4% (47) 5% (65) 13% (179) 16% (212) 1% (13) 7% (97) 18% (245)
Kochava 1118 3% (34) 3% (36) 7% (73) 2% (20) 2% (18) 5% (60) 2% (25) 4% (42) 7% (75) 0% (2)
Salesforce Marketing Cloud 1080 9% (98) 23% (244) 3% (33) 10% (103) 8% (83) 18% (197) 2% (24) 1% (12) 2% (24) 0% (0)
Estimote 510 34% (174) 3% (14) 1% (6) 12% (60) 13% (65) 1% (6) 0% (2) 13% (64) 3% (14) 0% (0)
LeanPlum 456 3% (15) 7% (33) 1% (6) 2% (10) 14% (63) 5% (21) 1% (3) 14% (66) 2% (8) 0% (2)
Gimbal 396 10% (40) 6% (23) 42% (167) 1% (5) 1% (5) 20% (80) 3% (10) 5% (21) 6% (24) 0% (0)
Radius Networks 369 44% (162) 6% (23) 2% (9) 6% (21) 4% (13) 1% (3) 1% (3) 3% (12) 2% (7) 0% (1)
mParticle 367 3% (11) 6% (21) 6% (21) 3% (11) 16% (59) 8% (30) 14% (53) 1% (4) 9% (32) 0% (0)
Ad4Screen 198 5% (10) 19% (38) 3% (5) 2% (3) 7% (14) 12% (23) 29% (58) 1% (2) 2% (3) 0% (0)
Kontakt 195 9% (17) 15% (30) 7% (13) 21% (40) 7% (13) 2% (4) 2% (3) 4% (7) 5% (9) 1% (1)
CueAudio 190 0% (0) 0% (0) 98% (187) 0% (0) 0% (0) 0% (0) 0% (0) 0% (0) 1% (2) 0% (0)
Swrve 153 2% (3) 8% (13) 3% (4) 0% (0) 7% (11) 5% (8) 1% (2) 2% (3) 5% (7) 1% (1)
Reveal Mobile 109 0% (0) 0% (0) 0% (0) 0% (0) 0% (0) 0% (0) 13% (14) 0% (0) 1% (1) 86% (94)
Exponea 99 4% (4) 38% (38) 0% (0) 2% (2) 10% (10) 15% (15) 0% (0) 3% (3) 4% (4) 0% (0)
Total apps per category 12% (1385) 9% (999) 8% (935) 8% (903) 7% (847) 7% (795) 5% (600) 5% (562) 4% (473) 4% (420)
19
Proceedings on Privacy Enhancing Technologies YYYY(X) Girish et al.
Table 12: Data collected by Vizbee. POST / track / json HTTP /1.1^ M
User - Agent : Dalvik /2.1.0 ( Linux ; U ; Android 12;
Coarse Geolocation
AOSP on sargo Build / SP2A .220505.008) ^ M
Content - Type : application / json ; charset = UTF -8^ M
Host : control . kochava . com ^ M
Router MAC
Router SSID
Android ID
Content - Length : 1729^ M
Installs
^M
AAID
Package Name " action ":" install " ," kochava_app_id ":" kobiubiuclub
com.gotv.nflgamecenter.us.lite 120.1M x x x x x -3 b00 " ," kochava_device_id ":"
com.cnn.mobile.android.phone 50M x x x x KA31101723813375tdacae51f18644fed9ef9b8467b07d2be
com.handmark.sportcaster 18.6M x x x x " ," sdk_protocol ":"14" ," sdk_version ":"
com.turner.tnt.android.networkapp 7.6M x x x x AndroidTracker 3.11.0" ," nt_id ":" bc770 -1 -
com.nfl.fantasy.core.android 7.4M x x x x x acccf2f1 -33 da -4 dbc -80 bf -6 a5981859f3f " ," data
com.neulion.android.tablet.nfl.wnfln 3.9M x x x x x ":{" screen_brightness ":0.2902 ,"
com.turner.trutv 1.7M x x x x
device_orientation ":" portrait " ," volume ":0.32 , "
com.fox.weather 959.7K x x x x x
aaid ": " X7dD24S2 - CcD4 -4 Cfv - hhgg - bbbb7yk245f6 "
com.gannett.local.library.news.kare 198.8K x x x x x
com.raycom.wtol 194.1K x x x x x ," device ":" AOSP on sargo - Android " ," disp_h
com.gannett.local.library.news.wxia 151.0K x x x x x ":2220 ," disp_w ":1080 ," package ":" com . biubiuclub
com.gannett.local.library.news.kxtv 54.7K x x x x x . biubiuclubchat " ," installed_date ":1723813319 ,"
app_name ":" BiubiuClub " ," app_version ":"291" ,"
Table 13: SDKs that present rationale behind dangerous app_short_string ":"2.9.1" ," os_version ":"
permission requested using shouldShowRequestPermission- Android
Rationale().
" network_conn_type ": " wifi " ," ssid ": , " routerssid :
ABC - WIFI " , " bbsid ": " routermac : XX : XX : XX : XX :
SDK % Ctx C. Loc F. Loc B. Loc
XX : XX " , " network_metered ": false ," nvp ":0 ,"
Estimote 75% ✓ carrier_name ":"" ," usertime ":1723813375 ," uptime
InMarket 52% ✓ ":0.945 ," state_active ": true ,"
Radar 42% ✓ ✓
app_limit_tracking ": false ," platform ":" android
Singlespot 55% ✓
Salesforce Marketing Cloud 54% ✓ "} ," sdk_id ":" c946 - s88450 -" ," send_date
Abbreviations Used: SDK - Software Development Kit, % Ctx - % of apps that Show ":"2024 -08 -16 T13 :02:56.954 Z "
Context, C. Loc - Access Coarse Location, F. Loc - Access Fine Location, B. Loc - Access
Background Location.
Figure 7: The Kochava SDK in com.biubiuclub.biubiuclubchat
collects AAID and router MAC address and transmits them
to control.kochava.com
20
Your Signal, Their Data Proceedings on Privacy Enhancing Technologies YYYY(X)