final [GrapheneOS] 📱👁️🗨️ on Nostr: We aren't willing to add toggles like this because they leak via indirect access. ...
We aren't willing to add toggles like this because they leak via indirect access. Apps use various OS APIs which apps may then use that cannot get covered by these toggles. An example is DownloadManager:
https://developer.android.com/reference/android/app/DownloadManager
See: "Note that the application must have the Manifest.permission.INTERNET permission to use this class." - The partial toggles do not disable INTERNET permission, while the toggle GrapheneOS and the DivestOS toggle that disables all networks does. That's why DivestOS adds our toggle above the leaky per-network toggles.
If an app does one network only and then calls the OS DownloadManager which chooses to use the other networks, you have leaked traffic towards those networks in that case.
It would be a nice to have if it worked, but we're not going to be adding unreliable features any time soon. You'd be better with an Always On VPN or Tor or disabling the cellular network with Airplane Mode when not using it -- it's up to the user's choice.
https://developer.android.com/reference/android/app/DownloadManager
See: "Note that the application must have the Manifest.permission.INTERNET permission to use this class." - The partial toggles do not disable INTERNET permission, while the toggle GrapheneOS and the DivestOS toggle that disables all networks does. That's why DivestOS adds our toggle above the leaky per-network toggles.
If an app does one network only and then calls the OS DownloadManager which chooses to use the other networks, you have leaked traffic towards those networks in that case.
It would be a nice to have if it worked, but we're not going to be adding unreliable features any time soon. You'd be better with an Always On VPN or Tor or disabling the cellular network with Airplane Mode when not using it -- it's up to the user's choice.