<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Natural Language Processing for Mobile App Privacy Compliance</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Peter</forename><surname>Story</surname></persName>
							<email>pstory@andrew.cmu.edu</email>
							<affiliation key="aff0">
								<orgName type="department">School of Computer Science</orgName>
								<orgName type="institution">Carnegie Mellon University</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Sebastian</forename><surname>Zimmeck</surname></persName>
							<email>szimmeck@wesleyan.edu</email>
							<affiliation key="aff1">
								<orgName type="department">Department of Mathematics and Computer Science</orgName>
								<orgName type="institution">Wesleyan University</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Abhilasha</forename><surname>Ravichander</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">School of Computer Science</orgName>
								<orgName type="institution">Carnegie Mellon University</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Daniel</forename><surname>Smullen</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">School of Computer Science</orgName>
								<orgName type="institution">Carnegie Mellon University</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ziqi</forename><surname>Wang</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">School of Computer Science</orgName>
								<orgName type="institution">Carnegie Mellon University</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Joel</forename><surname>Reidenberg</surname></persName>
							<affiliation key="aff2">
								<orgName type="department">School of Law</orgName>
								<orgName type="institution">Fordham University</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">N</forename><forename type="middle">Cameron</forename><surname>Russell</surname></persName>
							<affiliation key="aff2">
								<orgName type="department">School of Law</orgName>
								<orgName type="institution">Fordham University</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Norman</forename><surname>Sadeh</surname></persName>
							<email>sadeh@cs.cmu.edu</email>
							<affiliation key="aff0">
								<orgName type="department">School of Computer Science</orgName>
								<orgName type="institution">Carnegie Mellon University</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Natural Language Processing for Mobile App Privacy Compliance</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">8B0BE2B2116CB1BE31A1842E29D7C242</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T06:27+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Many Internet services collect a flurry of data from their users. Privacy policies are intended to describe the services' privacy practices. However, due to their length and complexity, reading privacy policies is a challenge for end users, government regulators, and companies. Natural language processing holds the promise of helping address this challenge. Specifically, we focus on comparing the practices described in privacy policies to the practices performed by smartphone apps covered by those policies. Government regulators are interested in comparing apps to their privacy policies in order to detect non-compliance with laws, and companies are interested for the same reason. We frame the identification of privacy practice statements in privacy policies as a classification problem, which we address with a three-tiered approach: a privacy practice statement is classified based on a data type (e.g., location), party (i.e., first or third party), and modality (i.e., whether a practice is explicitly described as being performed or not performed). Privacy policies omit discussion of many practices. With negative F1 scores ranging from 78% to 100%, the performance results of this three-tiered classification methodology suggests an improvement over the state-of-the-art. Our NLP analysis of privacy policies is an integral part of our Mobile App Privacy System (MAPS), which we used to analyze 1,035,853 free apps on the Google Play Store. Potential compliance issues appeared to be widespread, and those involving third parties were particularly common.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>In the absence of a general privacy law in the United States, the Federal Trade Commission (FTC) is stepping into the void and is creating a "common law of privacy" <ref type="bibr" target="#b14">(Solove and Hartzog 2014)</ref>, which, to a large extent, is based on the notice and choice paradigm. In this paradigm, users are notified of a service's privacy practices and are given a choice to consent to those practices; if the user does not consent to the service's practices, they are not allowed to use the service. Natural language privacy policies are intended to notify users of privacy practices. Privacy policies are complex and lengthy documents: they are often vague, internally contradictory, offer little protection, or are silent on critical points <ref type="bibr">(Marotta-Wurgler 2015)</ref>. While there are other forms of privacy notification, such as mobile app permission requests, these are not a replacement for privacy policies; permission requests are generally insufficient to express what users agree to with sufficient clarity. Machine-readable privacy policies, such as P3P policies <ref type="bibr" target="#b1">(Cranor et al. 2002)</ref>, were suggested as replacements for natural language privacy policies. However, none of these replacements have gained widespread adoption. Thus, despite their shortcomings, natural language privacy policies are the standard instrument for effectuating notice and choice.</p><p>The FTC engages in enforcement actions against operators of apps that are non-compliant with their privacy policies. Such non-compliance is considered an unfair or deceptive act or practice in or affecting commerce in violation of Section 5(a) of the FTC Act <ref type="bibr" target="#b3">(FTC 2014)</ref>. In order to detect whether an app is potentially not compliant with its privacy policy, we built the Mobile App Privacy System (MAPS) <ref type="bibr" target="#b19">(Zimmeck et al. 2019)</ref>. MAPS is of interest to both government regulators and companies. For government regulators, MAPS can identify potential compliance issues, reducing the cost of investigations. For companies, MAPS can help them ensure that their privacy policies fully describe their apps' practices.</p><p>Our focus in this article is on the natural language analysis component of MAPS. We provide a detailed description of the design and performance of our three-tiered classifier design for identifying privacy practice statements ( § 3). We also provide a summary of findings from our recent scan of over 1 million mobile apps on the Google Play Store ( § 4). In this large scale analysis of policies and apps, we found widespread evidence of potential privacy compliance issues. In particular, it appears that many apps' privacy policies do not sufficiently disclose identifier and location data access practices performed by ad networks and other third parties.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Related Work</head><p>Our work leverages earlier studies on the automated analysis of privacy policy text as well as examinations of privacy in the Android ecosystem.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Automated Privacy Policy Text Analysis</head><p>Privacy policies are the main instruments for disclosing and describing apps' or other software's privacy practices. However, the sheer volume of text an individual user would need to read for the software he or she is using makes privacy policies impractical for meaningfully conveying privacy practices <ref type="bibr" target="#b7">(McDonald and Cranor 2008)</ref>. Some research has focused on the structure of privacy policies. For example, the problem of identifying policy sections relating to different topics <ref type="bibr" target="#b11">(Ramanath et al. 2014;</ref><ref type="bibr" target="#b7">Liu et al. 2018)</ref>  <ref type="bibr" target="#b4">(Harkous et al. 2018)</ref>. Different from those studies, however, our domain consists of app policies instead of website policies.</p><p>Various studies analyzed privacy policies in specific domains. Cranor et al. evaluated financial institutions' privacy notices, which, in the US, nominally adhere to a model privacy form released by federal agencies <ref type="bibr" target="#b2">(Cranor, Leon, and Ur 2016)</ref>. They found clusters of institutions sharing consumer data more often than others. They also found institutions that do not follow the law, by disallowing consumers to limit such sharing. Further, Zhuang et al. aimed to help university researchers by automating enforcement of privacy policies of Institutional Review Boards <ref type="bibr" target="#b17">(Zhuang et al. 2018)</ref>. Auditing the disclosure of third party data collection practices on 200,000 website privacy policies, Libert found that the names of third parties are usually not explicitly disclosed in website privacy policies <ref type="bibr" target="#b6">(Libert 2018)</ref>. We focus on classifying first and third party access of contact, location, and unique identifier data in smartphone apps' privacy policies.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Android Privacy Studies</head><p>We are extending the emerging domain of verifying privacy practices of mobile apps against privacy requirements, notably privacy policies. The closest related work to ours analyzed the practices of 17,991 Android apps and determined whether those with a privacy policy adhered to it <ref type="bibr" target="#b18">(Zimmeck et al. 2017)</ref>. Several other studies have also compared privacy policies to apps' code <ref type="bibr" target="#b16">(Yu et al. 2016;</ref><ref type="bibr" target="#b13">Slavin et al. 2016)</ref>. Going beyond this work, our system is capable of large-scale analyses, which we demonstrate by an analysis of 1,035,853 free apps on the Google Play Store. Additionally, our analysis evaluates compliance issues at a finer granularity. This advance is notable because the access of coarse-grained location data (e.g., city) is far less privacyinvasive than the access of fine-grained data (e.g., latitude and longitude).</p><p>We are motivated to study privacy in the Android ecosystem due to numerous findings of potentially non-compliant privacy practices. Story et al. studied the metadata of over a million apps on the Play Store and found that many apps lack privacy policies, even when developers describe their apps as collecting users' information <ref type="bibr">(Story, Zimmeck, and Sadeh 2018)</ref>. Analyzing close to a million Android web apps (i.e., Android apps that use a WebView), <ref type="bibr">Mutchler et al.</ref> found that 28% of those have at least one vulnerability, such as data leakage through overridden URL loads <ref type="bibr" target="#b8">(Mutchler et al. 2015)</ref>. Differences in how apps are treating sensitive data were used to identify malicious apps <ref type="bibr" target="#b0">(Avdiienko et al. 2015)</ref>. More recently, AppCensus revealed that many Android apps collect persistent device identifiers to track users, which is not allowed for advertising purposes according to the Google Play Developer Program Policy <ref type="bibr" target="#b12">(Reyes et al. 2018;</ref><ref type="bibr">Google 2018b)</ref>. The observation of 512 popular Android apps over eight years of version history by <ref type="bibr">Ren et al. came</ref> to the conclusion that an important factor for higher privacy risks over time is the increased number of third party domains receiving personally identifiable information <ref type="bibr" target="#b12">(Ren et al. 2018)</ref>. In line with these observations, it is one of our goals in this study to examine apps' third party practices in the Android ecosystem.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Analysis Techniques</head><p>Our Mobile App Privacy System (MAPS) is comprised of separate modules for the analysis of privacy policies and apps. Our system compares the policy and app analyses in order to identify potential compliance issues.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Privacy Practices</head><p>Our system analyzes privacy practices. A privacy practice, or simply practice, describes a behavior of an app that can have privacy implications. Table <ref type="table">3</ref> contains the list of practices we consider in our model. <ref type="foot" target="#foot_0">1</ref> We account for the fact that disclosures found in privacy policies can vary in specificity. For instance, for the access of location data our model includes practices that pertain to location in general (i.e., Location) as well as more specific practices that explicitly identify the type of access (i.e., Location Cell Tower, Location GPS, and Location WiFi). Our model distinguishes between first party access, where data is accessed by the code of the app itself, and third party access, where data is accessed by advertising or other third party libraries. Finally, our model also distinguishes between a policy describing the performance of a practice (e.g., "We access your location information.") and the description that a practice is not performed (e.g., "We do not access your location information."). When access is neither explicitly described nor explicitly denied, neither modality classifier flags the statement. Note that a given text fragment can refer to multiple practices.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Privacy Policy Analysis</head><p>We characterize the detection of privacy practice descriptions in privacy policy text as a classification problem.</p><p>Dataset We used the APP-350 corpus of 350 annotated mobile app privacy policies to train and test our classifiers <ref type="bibr" target="#b19">(Zimmeck et al. 2019</ref>).<ref type="foot" target="#foot_1">2</ref> The corpus's policies were selected from the most popular apps on the Google Play Store. The policies were annotated by legal experts using a set of privacy practice annotation labels. As they were annotating the policies, the experts also identified the policy text fragments corresponding to the practice annotation labels they applied. All policies were comprehensively annotated. Consequently, it is assumed that all unannotated portions of text do not describe any of the practices and can be used as training, validation, and test data to detect the absence of statements on respective practices.</p><p>We randomly split the annotated privacy policies into training (n = 188), validation (n = 62), and test (n = 100) sets. We used the training and validation sets to develop our classifiers. The test set was set aside in order to prevent overfitting. We did not calculate performance using the test set until after we finished developing our classifiers.</p><p>Classification Task The goal of the classification task is to assign annotation labels to policy segments, that is, structurally related parts of policy text that loosely correspond to paragraphs <ref type="bibr" target="#b15">(Wilson et al. 2016;</ref><ref type="bibr" target="#b7">Liu et al. 2018)</ref>. We focus on segments instead of entire policies to make effective use of the annotated data and to identify the specific policy text locations that describe a certain practice.</p><p>The infrequent occurrence of certain types of statements makes the training of classifiers for some practices more challenging. In particular, statements on third party practices and statements explicitly denying that activities are performed are rare. For example, our training set only includes 7 segments saying that Location Cell Tower information is not accessed by third parties. To address this challenge, we decompose the classification problem into three subproblems, that is, classifying (1) data types (e.g., Location), (2) parties (i.e., 1stParty or 3rdParty)<ref type="foot" target="#foot_2">3</ref> , and (3) modalities (i.e., whether a practice is explicitly described as being performed or not performed). For example, the Location Cell Tower 3rdParty Not Performed classification will be assigned to a segment if the Location Cell Tower, 3rdParty, and Not Performed classifiers all return a positive result for the segment.</p><p>The decomposition of the classification task allows for an economic use of annotated data. If the subproblems were tackled all at once, 68 monolithic classifiers would be needed, most of which would have to be trained on fewer than 100 positive training samples. By dividing the problem, only 22 classifiers are needed (18 "data type", 2 "party", Figure <ref type="figure">1</ref>: By decomposing the classification task into three subproblems more positive training samples are available than for monolithic classifiers. and 2 "modality" classifiers). These classifiers have a much higher number of positive samples available for training, as shown in Figure <ref type="figure">1</ref>.</p><p>Preprocessing As classifier performance depends on adequate preprocessing of policy text as well as domain-specific feature engineering, we normalize whitespace and punctuation, remove non-ASCII characters, and lowercase all policy text. Because stemming did not lead to performance improvements, we are omitting it. In order to run our classifiers on the most relevant set of features, we use an optional preprocessing step of sentence filtering. Based on a grid search, in cases where it improves classifier performance, we remove a segment's sentences from further processing if they do not contain keywords related to the classifier in question <ref type="bibr" target="#b18">(Zimmeck et al. 2017)</ref>. For example, the Location classifier is not trained on sentences which only describe cookies.</p><p>Vectorizing Prior to training, we generate vector representations of the segments. Specifically, we take the union of a TF-IDF vector and a vector of manually crafted features. Our TF-IDF vector is created using the TfidfVectorizer (scikit-learn developers 2016a) configured with English stopwords (stop words='english'), unigrams and bigrams (ngram range=(1, 2)), and binary term counts (binary=True). This configuration is similar to what was used in prior work <ref type="bibr" target="#b7">(Liu et al. 2018)</ref>. Our vector of manually crafted features consists of Boolean values indicating the presence or absence of indicative strings we observed in our training and validation data. For example, we include the string not collect, because we realized that it would be a strong indicator of the negative modality.</p><p>Training Using scikit-learn, version 0.18.1 <ref type="bibr" target="#b10">(Pedregosa et al. 2011)</ref> we train binary classifiers for each data type, party, and modality. For all but four classifiers we use scikit-learn's SVC implementation (scikit-learn developers 2016b). We train those with a linear kernel (kernel='linear'), balanced class weights (class weight='balanced'), and a grid search with   <ref type="table" target="#tab_1">1</ref> shows the effects of our features and preprocessing steps on the F1 scores of our non-rule-based classifiers. The performance is calculated using our training and validation sets. We made sentence filtering an optional part of preprocessing because of the large detrimental effect it has on some of our classifiers, as highlighted in Table <ref type="table" target="#tab_2">2</ref>. In general, our results suggest that the chosen feature and preprocessing steps improve classifier performance. However, ideally they should be chosen on a per-classifier basis to avoid any negative performance impact.</p><p>Performance Analysis Table <ref type="table">3</ref> shows the performance of the classifiers on the privacy policies of the test set. We say a policy describes a practice if at least one segment is flagged by the corresponding data type, party, and positive modality classifiers. Since our definition of potential compliance issues does not depend on the negative modality classifier, we do not include it in the table. Because detecting potential compliance issues is dependent on detecting when practices are not described in policies <ref type="bibr" target="#b18">(Zimmeck et al. 2017)</ref>, negative predictive value, specificity, and negative F1 scores are of particular importance.</p><p>In the closest related work <ref type="bibr" target="#b18">(Zimmeck et al. 2017)</ref>, classifiers for contact, identifier, and location data practices covered multiple specific practices. Thus, a direct performance comparison to our classifiers is not possible. However, with negative F1 scores ranging from 78% to 100%, 23 of our specific classifiers achieve better negative F1 scores than the corresponding course-grained classifiers, and 3 performed equally. These results demonstrate that our approach constitutes an overall improvement over the state of the art. We believe that decomposing the classification task into three subproblems increases performance as it allows for a better exploitation of training data compared to monolithic classifiers.</p><p>Our results reveal that generally + support is lower for third party practices; that is, third party practices are often not as extensively described in privacy policies as first party practices. It should be further noted that higher counts ofsupport generally correlate with higher performance scores. Intuitively, it is easier to classify a policy that does not describe a practice, which makes up the majority of -support instances.</p><p>We reviewed the errors made by our classifiers and identified several potential areas for improvement. First, approaching the classification task at the level of segments, as suggested by prior work <ref type="bibr" target="#b15">(Wilson et al. 2016;</ref><ref type="bibr" target="#b7">Liu et al. 2018)</ref>, can pose difficulties for our subproblem classifiers. For example, if a segment describes a 1stParty performing the Location practice, and a 3rdParty performing Contact, our classifiers cannot distinguish which party should be associated with which practice. Thus, performing classifications at the level of sentences may yield performance improvements. Second, the variety of technical language in privacy policies poses challenges. For example, we observed a false positive when "location" was used in the context of "co-location facility", and a false negative when "clear gifs" was used to refer to web beacons. Such errors might be prevented by training on more data or using domain-specific word embeddings <ref type="bibr" target="#b5">(Kumar et al. 2019</ref>). Finally, a more sophisticated semantic representation might be necessary in certain cases. For example, we observed misclassification of a sentence which said that although the first party does not perform a practice, third parties do perform the practice.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>App Analysis</head><p>MAPS detects apps' privacy practices at app store-wide scale. Detecting which practices an app performs relies on static code analysis, a relatively resource-efficient technique Table <ref type="table">3</ref>: Performance metrics of our classifiers for determining whether or not a privacy policy states that a practice is performed calculated on the test set (n = 100). The negative predictive value (NPV) is the precision for negative instances. Specificity is the recall for negative instances. Negative F1 (Neg. F1) is the F1 for negative instances. In the Support column, + is the number of ground-truth positive instances (cases where policies truly describe the practice being performed) and -is the number of ground-truth negative instances (cases where policies truly do not describe the practice being performed). With negative F1 scores ranging from 78% to 100%, the absence of all practices can be classified relatively accurately. Lower positive F1 scores, for example, 40% for access of contact information by third parties, could be the result of insufficient availability of data. N/A is shown where the metrics are undefined, or where a lack of positive ground truth instances would always make the metric zero.</p><p>compared to dynamic code analysis. Our system operates on four app resources: Android APIs, permissions, strings, and class structure. If a sensitive Android API is called, the app has the required permissions to make the call, and required string parameters (e.g., the GPS PROVIDER string) are passed in, the system will flag the existence of a first or third party practice depending on the package name of the class from which the call originated. We assume a threat model which considers data as compromised from the moment a privacy-sensitive API appears to be called <ref type="bibr" target="#b9">(Neisse et al. 2016</ref>).</p><p>After downloading an app from the Google Play Store our system decompiles it into Smali bytecode using Apktool. 4  It then searches through the bytecode, identifying APIs indicative of a privacy practice being performed. Generally, if a practice occurs in a package corresponding to the app's package ID, the practice is considered a first party practice; otherwise, it is considered a third party practice. In order to evaluate the performance of our system's app analysis, we compare its results against ground truth obtained by a man-4 Apktool, https://ibotpeaches.github.io/Apktool/, accessed: March 18, 2019. ual dynamic analysis.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Compliance Analysis</head><p>Our system combines policy and app analysis results to identify potential compliance issues. We define a potential compliance issue to mean that an app is performing a practice (e.g., Location GPS 1stParty) while its associated policy does not disclose it either generally (e.g., "Our app accesses your location data.") or specifically (e.g., "Our app accesses your GPS data."). We chose this definition because we observed that policies generally either disclose that a practice is performed or omit discussion of the practicestatements denying practices are rare.</p><p>Table <ref type="table">4</ref> shows our system's identification of potential compliance issues and its performance. For the 26 practices for which positive ground truth instances were present, we observe a mean F1 score of 71%. Many potential compliance issues relate to the access of identifiers. However, the three third party location practices Cell Tower, GPS, and WiFi account for 15, 10, and 12 respective findings as well. Notably, all first party practices exhibit a lower number of potential compliance issues than their third party counterparts. Table <ref type="table">4</ref>: Performance metrics of our system's ability to detect potential compliance issues on our test set of app/policy pairs (n = 100). In the Support column, + is the number of ground-truth positive instances of potential compliance issues, -is the number of ground-truth negative instances, and ? is the number of instances where missing ground truth data from our app analyses makes it unclear whether or not potential compliance issues exist.</p><p>4 Privacy Compliance in the Play Store</p><p>Our large-scale analysis of free apps in the Google Play Store provides us with a rich dataset for evaluating the state of privacy in a substantial part of the Android ecosystem.</p><p>Here, we summarize our findings, with a focus on our privacy policy analysis. For a complete description of our findings, please see <ref type="bibr" target="#b19">(Zimmeck et al. 2019</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Analyses at Scale</head><p>Designing and implementing a robust system to identify potential compliance issues for large app populations presents challenges of scale. We address those with a pipeline of distributed tasks implemented in a containerized software stack. We performed our Play Store analysis from April 6 to May 15, 2018. Out of 1,049,790 retrieved free apps, 1,035,853 (98.67%) were analyzed successfully. Of the apps which were not analyzed successfully, 1.03% failed to download, 0.21% failed in the static analysis, 0.08% failed in the policy analysis, and 0.01% failed during our re-analysis.<ref type="foot" target="#foot_3">5</ref> </p><p>Figure <ref type="figure">2</ref>: Third party practices are discussed less frequently than first party practices. Given that users often have less opportunity to observe third party practices directly, it is unfortunate that they are not more widely discussed. A policy both affirming and denying a practice does not necessarily imply a contradiction (e.g., "We disclose your phone number to advertisers, but not to data brokers.").</p><p>Which Practices are Described in Policies?</p><p>35.3% of the apps we analyzed had privacy policies. <ref type="foot" target="#foot_4">6</ref> For apps with privacy policies, Figure <ref type="figure">2</ref> depicts the occurrence of policy statements relating to the practices we examine. It can be observed that most practices are described only infrequently; that is, a policy does not mention it at least once. Further, the statements that are present typically affirm that a practice is occurring. This finding reveals that users seem to be given little assurance of potentially objectionable practices not being performed (e.g., disclosing users' phone numbers to third parties). Silence about privacy practices in privacy policies is problematic because there are no clear statutory default rules of what the privacy relationship between a user and a service should be, in the absence of explicit statements in the policy (Marotta-Wurgler 2015).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Prevalence of Potential Compliance Issues</head><p>Our system detects potential compliance issues by comparing the privacy policy analysis to the static analysis. A potential compliance issue is detected when an app performs a practice that is not described in the app's privacy policy (if the app even has a privacy policy). Note that when our system finds multiple privacy policies for a given app, it pools the practice descriptions discovered across all those policies. This pooling has the effect of making our results rather conservative. One policy may disclose a particular practice while another policy discloses another practice, and together they may cover all practices performed by the associated app. Overall, the average number of potential compliance issues per app is 2.89 and the median is 3.</p><p>Figure <ref type="figure" target="#fig_0">3</ref> shows the percent of apps that perform various practices and the respective percent of apps with potential compliance issues. The figure demonstrates that in many cases the performance of a practice is strongly associated with the occurrence of a potential compliance issue: if a practice is performed, there is a good chance a potential compliance issue exists as well. This result suggests a broad level of potential non-compliance. Identifier-related potential compliance issues are the most common. Three different types of identifiers make up most potential compliance issues: cookies, device IDs, and mobile carriers. In particular, the use of device IDs may constitute a misuse for purposes of ad tracking (Google 2018b). In addition, there are also elevated levels of location-related potential compliance issues. 15.3% of apps perform at least one location-related practice, and 12.1% of apps have at least one location-related potential compliance issue.</p><p>For all data types, third party practices are more common than first party practices and so are third party-related potential compliance issues. One reason for the prevalence of potential compliance issues for third party practices could be that app developers are unaware of the functionality of the libraries they integrate. Perhaps they also hold the mistaken belief that it is not their responsibility but the responsibility of the library developers to disclose to users the practices the libraries are performing. Some libraries' terms of services-for example, the Google Analytics Terms of Service (Google 2018a)-obligate the developer integrating it to explicitly disclose the integration in the developer's privacy policy. However, this type of information transfer from the third party via the developer to the user may be susceptible to omissions and mistakes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Conclusions</head><p>Natural language privacy policies are intended to communicate how a service collects, shares, uses, and stores user data. However, as they are generally lengthy and difficult to read, the average user often struggles to understand which privacy practices apply. Leveraging natural language processing techniques in the policy domain holds the promise to extract policy content and convert it to a format that is easier to comprehend. In this study, we reported on our development of a three-tiered classification model to classify a variety of privacy practices and their omissions in policy text. Compared to a monolithic classifier for a privacy practice, using data type, party, and modality classifiers allows for economic use of training and test data-which is oftentimes expensive to obtain-as well as good performance.</p><p>The classification model we are proposing here is an integral part of the Mobile App Privacy System (MAPS) <ref type="bibr" target="#b19">(Zimmeck et al. 2019)</ref>. Many mobile apps are reliant on the collection and use of a wide range of data for purposes of their functionality and monetization. MAPS presents one use case for implementing the suggested privacy policy classification model. MAPS pairs our policy analysis with static analysis of mobile apps to identify possible discrepancies between the two and flag potential compliance issues. Our results from analyzing 1,035,853 free apps on the Google Play Store suggest that potential compliance issues are rather common, particularly, when it comes to the disclosure of third party practices. These and similar results may be of interest to app developers, app stores, privacy activists, and regulators.</p><p>Recently enacted laws, such as the General Data Protection Directive, impose new obligations and provide for substantial penalties for failing to properly disclose privacy practices. We believe that the natural language analysis of privacy policies, in tandem with mobile app analysis, for example, has the potential to improve privacy transparency and enhance privacy levels overall.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: The percents of apps which perform different practices, have policies that affirmatively describe practices as performed, and have potential compliance issues. In this graph, general descriptions of practices are counted with specific descriptions.</figDesc><graphic coords="7,54.00,54.00,238.49,224.38" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>. Sathyendra et al. classified advertising opt outs and similar consumer choice options on websites (Sathyendra et al. 2017). Other work has focused on building tools for users. Using a simple naive Bayes classifier, Zimmeck and Bellovin provided a browser extension for identifying common privacy practices in policy text (Zimmeck and Bellovin 2014). Tesfay et al. used a machine learning-based approach to identify text addressing various GDPR provisions (Tesfay et al. 2018). Harkous et al. developed PriBot, a chatbot for answering questions about privacy policies</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 1 :</head><label>1</label><figDesc>Effects of different preprocessing and feature configurations on our classifiers' F1 scores. Effects are calculated with regard to a baseline configuration (Baseline), in which the TF-IDF vectors only include unigrams. For the baseline, bigrams (Bigrams) and manually crafted features (C.F.) are not included, and keyword-based sentence filtering (S.F.) is not performed. For example, including bigrams in our TF-IDF vectors leads to an F1 score increase of 42% (from 29% to 71%) for the Contact classifier. Our final configuration (Final) includes bigrams as well as crafted features; sentence filtering is enabled on a per-classifier basis using a grid search.</figDesc><table><row><cell></cell><cell></cell><cell></cell><cell cols="2">Configuration</cell><cell></cell></row><row><cell>Classifier</cell><cell></cell><cell cols="5">Baseline + Bigrams + C.F. + S.F. + Final</cell></row><row><cell>Contact</cell><cell></cell><cell>29%</cell><cell cols="3">+42% +35% +28%</cell><cell>+39%</cell></row><row><cell cols="2">Contact Email Address</cell><cell>73%</cell><cell>+9%</cell><cell cols="2">+8% +12%</cell><cell>+11%</cell></row><row><cell cols="2">Contact Phone Number</cell><cell>76%</cell><cell>+11%</cell><cell cols="2">+2% +11%</cell><cell>+9%</cell></row><row><cell>Identifier Cookie</cell><cell></cell><cell>88%</cell><cell>+2%</cell><cell>+2%</cell><cell>+3%</cell><cell>+2%</cell></row><row><cell>Identifier Device ID</cell><cell></cell><cell>74%</cell><cell>+9%</cell><cell cols="2">+8% +12%</cell><cell>+13%</cell></row><row><cell>Identifier IMEI</cell><cell></cell><cell>77%</cell><cell cols="3">-19% +20% +17%</cell><cell>+17%</cell></row><row><cell>Identifier MAC</cell><cell></cell><cell>84%</cell><cell>-23%</cell><cell>+2%</cell><cell>-2%</cell><cell>-2%</cell></row><row><cell cols="2">Identifier Mobile Carrier</cell><cell>62%</cell><cell>-14%</cell><cell>-3%</cell><cell>0%</cell><cell>-14%</cell></row><row><cell>Location</cell><cell></cell><cell>80%</cell><cell>+4%</cell><cell>+3%</cell><cell>+9%</cell><cell>+6%</cell></row><row><cell>Location Cell Tower</cell><cell></cell><cell>62%</cell><cell>-4%</cell><cell cols="2">+4% +12%</cell><cell>+10%</cell></row><row><cell>Location GPS</cell><cell></cell><cell>76%</cell><cell>-1%</cell><cell cols="2">+3% +16%</cell><cell>+12%</cell></row><row><cell>Location WiFi</cell><cell></cell><cell>74%</cell><cell>+5%</cell><cell>+5%</cell><cell>+1%</cell><cell>+5%</cell></row><row><cell>Single Sign On</cell><cell></cell><cell>63%</cell><cell cols="3">+7% +11% -43%</cell><cell>+4%</cell></row><row><cell cols="2">Single Sign On: Facebook</cell><cell>75%</cell><cell>+3%</cell><cell cols="2">+5% -64%</cell><cell>+6%</cell></row><row><cell>1stParty</cell><cell></cell><cell>95%</cell><cell>+0%</cell><cell>-1%</cell><cell>-1%</cell><cell>+0%</cell></row><row><cell>3rdParty</cell><cell></cell><cell>77%</cell><cell>+4%</cell><cell>+2%</cell><cell>+1%</cell><cell>+1%</cell></row><row><cell>Performed</cell><cell></cell><cell>90%</cell><cell>+1%</cell><cell>+5%</cell><cell>-2%</cell><cell>+6%</cell></row><row><cell>Not Performed</cell><cell></cell><cell>73%</cell><cell cols="2">-2% +13%</cell><cell>+5%</cell><cell>+14%</cell></row><row><cell>Configuration</cell><cell cols="6">Improved Avg. Improvement Decreased Avg. Decrease</cell></row><row><cell>+ Bigrams</cell><cell>11/18</cell><cell>+8.8%</cell><cell></cell><cell>6/18</cell><cell>-10.5%</cell></row><row><cell>+ Crafted Features</cell><cell>16/18</cell><cell>+8.0%</cell><cell></cell><cell>2/18</cell><cell>-2.0%</cell></row><row><cell cols="2">+ Sentence Filtering 12/18</cell><cell>+10.6%</cell><cell></cell><cell>5/18</cell><cell>-22.4%</cell></row><row><cell>Final</cell><cell>15/18</cell><cell>+10.3%</cell><cell></cell><cell>2/18</cell><cell>-8.0%</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 2 :</head><label>2</label><figDesc>Summary of effects of different preprocessing and feature configurations on F1 scores based on the data shown in Table1. For example, adding bigrams (+ Bigrams) to our TF-IDF vectors improved the F1 scores of 11 classifiers by an average of 8.8%, but also decreased the F1 scores for 6 classifiers by an average of 10.5%. Identifier IMSI, Identifier SIM Serial, and Identifier SSID BSSID) due to the limited amount of data and their superior performance. Our rule-based classifiers identify the presence or absence of a data type based on indicative text strings. Table</figDesc><table><row><cell>five-fold cross-validation over the penalty (C=[0.1, 1,</cell></row><row><cell>10]) and gamma (gamma=[0.001, 0.01, 0.1]) pa-</cell></row><row><cell>rameters. We create rule-based classifiers for four data types</cell></row><row><cell>(Identifier,</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">In preliminary tests we also considered city, ZIP code, postal address, username, password, ad ID, address book, Bluetooth, IP address (identifier and location), age, and gender practices. However, we ultimately decided against further pursuing those as we had insufficient data, unreliable annotations, or difficulty identifying a corresponding API for the app analysis.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">The dataset is available at https://data.usableprivacy.org.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">Note that the Single Sign On and Single Sign On: Facebook practices do not use a party classifier, as all data is exchanged between the app developer as first party and the SSO provider as third party.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_3">After the completion of the Play Store analysis we noticed a bug in our static analysis code. As a result, we re-performed the static analyses and re-calculated all statistics. 135 additional analyses failed, yielding a final total of 1,035,853 successfully analyzed apps.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_4">  6  This only counts English-language privacy policies: our system does not identify policies in other languages.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>We would like to thank Jongkyu Talan Baek, Sushain Cherivirala, Roger Iyengar, Pingshan Li, Shaoyan Sam Li, Kanthashree Sathyendra, Florian Schaub, Xi Sun, and Shomir Wilson for their help with this research. This study was supported in part by the NSF Frontier grant on Usable Privacy Policies (CNS-1330596, CNS-1330141, and CNS-1330214) and a DARPA Brandeis grant on Personalized Privacy Assistants (FA8750-15-2-0277). The US Government is authorized to reproduce and distribute reprints for Gov-ernmental purposes not withstanding any copyright notation. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the NSF, DARPA, or the US Government. This work used the Extreme Science and Engineering Discovery Environment (XSEDE), which is supported by National Science Foundation grant number ACI-1548562. The authors acknowledge the Texas Advanced Computing Center (TACC) at The University of Texas at Austin for providing high performance computing resources that have contributed to the research results reported within this paper.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Mining apps for abnormal usage of sensitive data</title>
		<author>
			<persName><forename type="first">V</forename><surname>Avdiienko</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Kuznetsov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Gorla</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Zeller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Arzt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Rasthofer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Bodden</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">37th IEEE/ACM International Conference on Software Engineering, ICSE 2015</title>
				<meeting><address><addrLine>Florence, Italy</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2015-05-16">2015. May 16-24, 2015</date>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="426" to="436" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">F</forename><surname>Cranor</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Langheinrich</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Marchiori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Presler-Marshall</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">M</forename><surname>Reagle</surname></persName>
		</author>
		<idno>REC-P3P-20020416</idno>
		<title level="m">The Platform for Privacy Preferences 1.0 (P3P1.0) specification</title>
				<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
	<note>World Wide Web Consortium. Recommendation</note>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">A large-scale evaluation of U.S. financial institutions standardized privacy notices</title>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">F</forename><surname>Cranor</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">G</forename><surname>Leon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Ur</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Trans. Web</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page">33</biblScope>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<author>
			<persName><surname>Ftc</surname></persName>
		</author>
		<ptr target="https://support.google.com/googleplay/android-developer/answer/6048248?hl=en" />
		<title level="m">Complaint Goldenshores Technologies</title>
				<imprint>
			<date type="published" when="2014-03-18">2014. March 18, 2019. March 18, 2019. March 18, 2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Polisis: Automated analysis and presentation of privacy policies using deep learning</title>
		<author>
			<persName><forename type="first">H</forename><surname>Harkous</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Fawaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Lebret</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Schaub</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">G</forename><surname>Shin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Aberer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">USENIX Security &apos;18</title>
				<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Quantifying the effect of in-domain distributed word representations: A study of privacy policies</title>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">B</forename><surname>Kumar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ravichander</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Story</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Sadeh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">AAAI Spring Symposium on Privacy-Enhancing Artificial Intelligence and Language Technologies</title>
				<imprint>
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">An automated approach to auditing disclosure of third-party data collection in website privacy policies</title>
		<author>
			<persName><forename type="first">T</forename><surname>Libert</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">WWW &apos;</title>
		<imprint>
			<biblScope unit="volume">18</biblScope>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Towards Automatic Classification of Privacy Policy Text</title>
		<author>
			<persName><forename type="first">F</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Wilson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Story</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Zimmeck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Sadeh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">;</forename><surname>Mcdonald</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Cranor</surname></persName>
		</author>
		<idno>CMU-ISR-17-118R and CMU-LTI- 17-010</idno>
	</analytic>
	<monogr>
		<title level="j">I/S: A Journal of Law and Policy for the Information Society</title>
		<imprint>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="540" to="565" />
			<date type="published" when="2008">2018. 2015. March 18, 2019. 2008</date>
			<publisher>Marotta-Wurgler</publisher>
		</imprint>
		<respStmt>
			<orgName>School of Computer Science Carnegie Mellon University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
	<note>The cost of reading privacy policies</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">A large-scale study of mobile web app security</title>
		<author>
			<persName><forename type="first">P</forename><surname>Mutchler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Doupé</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mitchell</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Kruegel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Vigna</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">MoST</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">A privacy enforcing framework for android applications</title>
		<author>
			<persName><forename type="first">R</forename><surname>Neisse</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Steri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Geneiatakis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><forename type="middle">N</forename><surname>Fovino</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computers &amp; Security</title>
		<imprint>
			<biblScope unit="volume">62</biblScope>
			<biblScope unit="page" from="257" to="277" />
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Scikitlearn: Machine learning in Python</title>
		<author>
			<persName><forename type="first">F</forename><surname>Pedregosa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Varoquaux</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Gramfort</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Michel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Thirion</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Grisel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Blondel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Prettenhofer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Weiss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Dubourg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Vanderplas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Passos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Cournapeau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Brucher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Perrot</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Duchesnay</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Machine Learning Research</title>
		<imprint>
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Unsupervised alignment of privacy policies using hidden markov models</title>
		<author>
			<persName><forename type="first">R</forename><surname>Ramanath</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Sadeh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">A</forename><surname>Smith</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACL &apos;14</title>
				<imprint>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">privacy leaks -a longitudinal study of PII leaks across android app versions</title>
		<author>
			<persName><forename type="first">J</forename><surname>Ren</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lindorfer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Dubois</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Rao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Choffnes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Vallina-Rodriguez</surname></persName>
		</author>
		<author>
			<persName><surname>Bug</surname></persName>
		</author>
		<author>
			<persName><surname>Reyes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Rodriguez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Egelman</surname></persName>
		</author>
		<ptr target="http://scikit-learn.org/0.18/modules/generated/sklearn.svm.SVC.html.Ac-cessed" />
	</analytic>
	<monogr>
		<title level="m">Identifying the provision of choices in privacy policy text</title>
				<imprint>
			<date type="published" when="2017-03-18">2018. 2018. 2017. March 18, 2019. March 18, 2019</date>
		</imprint>
	</monogr>
	<note>EMNLP &apos;17. scikit-learn developers. 2016a. sklearn.feature extraction</note>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Toward a framework for detecting privacy policy violation in android application code</title>
		<author>
			<persName><forename type="first">R</forename><surname>Slavin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Hosseini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Hester</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Krishnan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Bhatia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Breaux</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Niu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICSE &apos;16</title>
				<imprint>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">The FTC and the new common law of privacy</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">J</forename><surname>Solove</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Hartzog</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Story</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Zimmeck</surname></persName>
		</author>
		<author>
			<persName><surname>Sadeh</surname></persName>
		</author>
		<author>
			<persName><surname>Tesfay</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Which apps have privacy policies? In APF</title>
				<imprint>
			<date type="published" when="2014">2014. 2018. 2018</date>
			<biblScope unit="volume">114</biblScope>
			<biblScope unit="page" from="583" to="676" />
		</imprint>
	</monogr>
	<note>I read but don&apos;t agree: Privacy policy benchmarking using machine learning and the EU GDPR</note>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">The creation and analysis of a website privacy policy corpus</title>
		<author>
			<persName><forename type="first">S</forename><surname>Wilson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Schaub</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">A</forename><surname>Dara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Cherivirala</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">G</forename><surname>Leon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">S</forename><surname>Andersen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Zimmeck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">M</forename><surname>Sathyendra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">C</forename><surname>Russell</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">B</forename><surname>Norton</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Hovy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Reidenberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Sadeh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACL &apos;16</title>
				<imprint>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Can we trust the privacy policies of android apps?</title>
		<author>
			<persName><forename type="first">L</forename><surname>Yu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Luo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Zhang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">DSN &apos;</title>
		<imprint>
			<biblScope unit="volume">16</biblScope>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Privee: An architecture for automatically analyzing web privacy policies</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhuang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Rafetseder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Hu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Tian</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Cappos</surname></persName>
		</author>
		<author>
			<persName><surname>Zimmeck</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Sensibility testbed: Automated IRB policy enforcement in mobile research apps</title>
				<imprint>
			<date type="published" when="2014">2018. 2014</date>
		</imprint>
	</monogr>
	<note>USENIX Security &apos;14</note>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Automated analysis of privacy requirements for mobile apps</title>
		<author>
			<persName><forename type="first">S</forename><surname>Zimmeck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Zou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Iyengar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Schaub</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Wilson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Sadeh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">M</forename><surname>Bellovin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Reidenberg</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">NDSS &apos;17</title>
				<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">MAPS: Scaling privacy compliance analysis to a million apps</title>
		<author>
			<persName><forename type="first">S</forename><surname>Zimmeck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Story</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Smullen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ravichander</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Reidenberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">C</forename><surname>Russell</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Sadeh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">PETS &apos;19</title>
				<imprint>
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
