{
	"id": "57aaba06-cbd3-4c7a-8116-44235a50296b",
	"created_at": "2026-04-06T00:15:56.563114Z",
	"updated_at": "2026-04-10T13:12:09.517023Z",
	"deleted_at": null,
	"sha1_hash": "a4f2af0382590b811bafc1ae89e9047d09284461",
	"title": "Package visibility filtering on Android",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 41105,
	"plain_text": "Package visibility filtering on Android\r\nArchived: 2026-04-05 17:47:51 UTC\r\nWhen an app targets Android 11 (API level 30) or higher and queries for information about the other apps that are\r\ninstalled on a device, the system filters this information by default. This filtering behavior means that your app\r\ncan’t detect all the apps installed on a device, which helps minimize the potentially sensitive information that your\r\napp can access but doesn't need to fulfill its use cases.\r\nAlso, filtered package visibility helps app stores like Google Play assess the privacy and security that your app\r\nprovides for users. For example, Google Play considers the list of installed apps to be personal and sensitive user\r\ndata.\r\nLimited app visibility affects the results returned by methods that give information about other apps, such as\r\nqueryIntentActivities() , getPackageInfo() , and getInstalledApplications() . The limited visibility also\r\naffects explicit interactions with other apps, such as starting another app's service.\r\nSome packages are visible automatically. Your app can always detect these packages in its queries for other\r\ninstalled apps. To view other packages, declare your app's need for increased package visibility using the\r\n\u003cqueries\u003e element. The use cases page provides examples of how you can selectively expand package visibility.\r\nThe workflows described there allow you to fulfill common app interaction scenarios while protecting user\r\nprivacy.\r\nIn the rare cases where the \u003cqueries\u003e element doesn't provide adequate package visibility, you can use the\r\nQUERY_ALL_PACKAGES permission. If you publish your app on Google Play, your app's use of this permission is\r\nsubject to approval.\r\nThe page about testing package visibility behavior offers suggestions for how to test behavior changes based on\r\npackage visibility when your app relies on interactions with other apps.\r\nAdditional resources\r\nTo learn more about package visibility on Android, view the following materials:\r\nBlog posts\r\nPackage visibility in Android 11, available on Medium.\r\nSource: https://developer.android.com/training/package-visibility\r\nhttps://developer.android.com/training/package-visibility\r\nPage 1 of 1",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"MITRE"
	],
	"origins": [
		"web"
	],
	"references": [
		"https://developer.android.com/training/package-visibility"
	],
	"report_names": [
		"package-visibility"
	],
	"threat_actors": [
		{
			"id": "75108fc1-7f6a-450e-b024-10284f3f62bb",
			"created_at": "2024-11-01T02:00:52.756877Z",
			"updated_at": "2026-04-10T02:00:05.273746Z",
			"deleted_at": null,
			"main_name": "Play",
			"aliases": null,
			"source_name": "MITRE:Play",
			"tools": [
				"Nltest",
				"AdFind",
				"PsExec",
				"Wevtutil",
				"Cobalt Strike",
				"Playcrypt",
				"Mimikatz"
			],
			"source_id": "MITRE",
			"reports": null
		}
	],
	"ts_created_at": 1775434556,
	"ts_updated_at": 1775826729,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/a4f2af0382590b811bafc1ae89e9047d09284461.pdf",
		"text": "https://archive.orkl.eu/a4f2af0382590b811bafc1ae89e9047d09284461.txt",
		"img": "https://archive.orkl.eu/a4f2af0382590b811bafc1ae89e9047d09284461.jpg"
	}
}