App Microscope is a tool to display the Internet Safety Labs safety label (ISL Safety Label) for mobile applications. The information in the ISL Safety Label is designed to highlight safety risks found in the app when using it as it was designed to be used. ISL calls these inherent risks “programmatic harms”.
The current version of App Microscope contains 1722 apps studied in the ISL 2022 K-12 EdTech safety benchmark. Over time, App Microscope will be able to generate safety labels for all apps.
App Microscope is designed for app developers, school technology decision-makers, journalists, privacy advocates and regulatory enforcers, but can be used by everyone to better understand the hidden behaviors of mobile apps.
App Microscope is a free public service, funded in part by a generous grant from the Internet Society Foundation. ISL is a US-based 501(c)(3) non-profit organization.
The purpose of the ISL Safety Label is to help people understand what’s happening “under the hood” of mobile apps.
The safety label is organized into Risk Modules that identify safety risks to people using the app as it was designed to be used. The label is designed to add on harm/risk modules over time. Currently, the label includes only one risk module: Privacy Risks.
Other envisioned risk modules include:
Note that the Apple and Android logos are used only to communicate the version of the app and do not constitute an endorsement or affiliation with Internet Safety Labs. Each mark is the property of its respective owner.
The high-level structure of the ISL Safety Label looks like this:
The ISL Safety Score is a “stoplight” score with four possible values:
Here are the detailed explanations of each score.
Note that this score was previously referred to as “Do Not Use” in the first two 2022 K-12 Edtech Safety Benchmark findings reports.
SOME RISK | HIGH RISK | VERY HIGH RISK | NOT SCORED |
---|---|---|---|
Presence of at least one (1) Software Development Kit (SDK) that is High Risk or Very High Risk | Presence of advertising (any). | App requires school- or institution-provided login credentials to test core functionality. | |
Use of WebView APIs provided by Apple (iOS) and Google (Android). Used to display web content within an app without launching a separate browser. | Presence of one (1) or more registered Data Broker SDKs. | Paid app | |
Presence of up to two (2) of the following data aggregator platforms (as observed by presence of SDKs or network traffic): Apple, Google. | Presence of one (1) or more of the following data aggregator platforms (as observed by presence of SDKs or network traffic): Adobe, Amazon, Facebook, Twitter. These are very high risk platforms because they monetize personal data. | Broken app | |
Presence of a dangling domain - i.e. a webpage that indicates that the domain is currently available for purchase. | App links to and opens MaxPreps.com [using WebView] | ||
Suspicious permission behavior. |
This section provides information on the number and riskiness of SDKs in the app and the number of aggregator platforms receiving data as observed in network traffic.
The App Category Average column displays the average number of SDKs and aggregator platforms for the category of apps. Note that the category is the smallest sub-category as shown in the top part of the label, such as “EdTech -> Other -> Games”.
The “n=number” is the number of apps in that category/subcategory.
This information provides context as to whether the chosen app is behaving better or worse than the category with respect to third parties.
[Source: calculated from ISL app database.]
This section indicates if risky behaviors were observed during manual app test. The following behaviors are key risks:
What is WebView? All mobile apps with an “in-app browser” are using “Webview” code/APIs, and the rules and protections for these in-app browsers differ somewhat between Apple iOS and Android platforms. WebView is a low-level set of functions (APIs) provided by an operating system within a mobile device that allows native apps to present web pages, woven seamlessly into the application without having to open or close a separate browser. WebView allows native apps to selectively become a browser while keeping the user in the app. A 2011 paper on WebView attacks against Android devices explains this legacy development and data supply chain strategy: “WebView is an essential component in both Android and iOS platforms, enabling smartphone and tablet apps to embed a simple but powerful browser inside them. To achieve a better interaction between apps and their embedded “browsers”, WebView provides a number of APIs, allowing code in apps to invoke and be invoked by the JavaScript code within the web pages, intercept their events, and modify those events. Using these features, apps can become customized “browsers” for their intended web applications.” WebView in iOS relies on WebKit, an open-source browser “engine” first introduced 23 years ago in 1998, which later evolved into the Safari engine used by Apple around 2013. The WebView APIs are therefore limited by WebKit capabilities supported in the OS. iOS WebView is restricted and protected by iOS WebKit (built on Safari) limitations, and Android WebView is restricted and protected by a slightly similar concept with Chromium limitations. However, they both ultimately support in-app browsing as a seamless user experience without giving users full control over their own data sharing preferences within these in-app browsers.
The numbers in this column display the percentage of apps in the named category that are positive for the behavior. For example, 60% shown in the Ads Present row means 60% of the apps in the category have ads present. The number of apps in the category (n=32, e.g.) is shown at the very top of the column.
[Source: Calculated from ISL app database.]
This section lists the categories of sensitive permissions the app asks for. ISL has created these categories for ease of understanding the overall risks related to the app’s use of user data accessible from the device. There are eight permission categories (listed in alphabetical order):
[Source: AppFigures, iOS App Store, Google Play Store; permission categories created by ISL.]
This section provides details on the 3rd parties likely to be receiving user data. This section has two main parts: (1) details on the SDKs and (2) details on the Aggregator Platforms observed in the network traffic.
ISL is unable to share the names of the SDKs in the apps, so this section displays the names of the companies behind the SDKs, as well as the ISL designated category.
These are the current SDK categories:
[Source: AppFigures, ISL SDK Risk Database]
[Source: From network traffic collection performed by ISL.]
This section contains detailed information regarding what user information the app accesses. This part of the safety label is currently comprised of a single section: Riskiness of App Permissions.
This column shows the percentage of apps in the app category that use permissions in this permission category. [Source: Calculated from ISL app database.]
This information provides a rough approximation of app category behavioral norms for the permission category. When this number is low (15% or less), and there are one or more permissions shown for the app, it can be viewed as atypical behavior for the category. This may or may not be significant depending on the exact purpose of the app.