[deleted]
Some permissions are granted automatically, but I don't know exactly which ones are....
Install-time permissions are mentioned on the Android developer website, but I can't find a specific list.
A list of almost all of the permissions on Android is here: https://developer.android.com/reference/android/Manifest.permission. Most permissions have a "protection level." Dangerous permissions aren't granted automatically for user-installed apps. Signature/privileged are for preinstalled apps.
Quickly looking through the list, permissions with the protection level of "normal" seem to be granted automatically for the most part, though I didn't go through the whole list and I'm not familiar with all of them so maybe some are restricted. This page says:
[Normal] permissions allow access to data and actions that extend beyond your app's sandbox but present very little risk to the user's privacy and the operation of other apps.
The ProtonVPN permissions on the website you linked are mostly pretty common I think. ACCESS_NETWORK_STATE
, INTERNET
, QUERY_ALL_PACKAGES
, RECEIVE_BOOT_COMPLETED
, and WAKE_LOCK
are all granted automatically I think. Not sure about the other three. FOREGROUND_SERVICE
is common and is necessary for ProtonVPN to show that persistent notification and to continue running in the background. I find it strange that CHANGE_WIFI_STATE
is a "normal" permission. Maybe that permission is granted when the app is a VPN app? I have no idea what DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
is.
I've seen some cases where a permission is granted automatically (like QUERY_ALL_PACKAGES
), but Google won't publish the app on Google Play, like they say on this page.