Why Google's arguments to restrict storage access are nonsense.

Search This thread

Hendrix7

Senior Member
Nov 18, 2023
224
61
In 2014, Google took away normal MicroSD write access in Android 4.4 KitKat with no official option to bring it back (rooting is non-official). Applications installed by the device owner could only store files in their dedicated package name folder inside Android/data.

Google's reasoning is to ensure no app can leave files behind after uninstallation:

source.android.com said:
The WRITE_EXTERNAL_STORAGE permission must only grant write access to the primary external storage on a device. Apps must not be allowed to write to secondary external storage devices, except in their package-specific directories as allowed by synthesized permissions. Restricting writes in this way ensures the system can clean up files when applications are uninstalled.
(source)

Why this is nonsense:
  • If this was the actual goal, how come they initially only applied these restrictions to MicroSD, not internal storage? This was in 2014, where 32 GB were considered an average amount of internal storage, while MicroSD cards could be much larger, so the same files take a lower percentage of the space.
  • Who is Google to judge which files are to be considered "junk"? That's the decision of the device owner. If the device owner wants to remove "junk", they can use the delete button in their file manager. Google is assuming that third-party apps are malicious by default.
  • There are valid reasons not to delete files left behind by an uninstalled app. What if you used a third-party camera app or text editor? Should all files you created with these apps be deleted if you uninstall the app? Of course not.
  • MicroSD cards were one of the major selling points of Android smartphones over iPhones. Google attacked one of the main reasons people bought Android smartphones in the first place.
  • If the device owner doesn't trust an app with access to the entire MicroSD card, perhaps they should not be using that app in the first place. Why would a user trust the same app with normal write access to internal storage but not the MicroSD card?
  • In any case, the device owner should have been given the final say. A simple toggle in the storage options would have done the job. The device owner must be able to decide if they want so-called "protections" that are muzzles, not shields.

With this, Google created a much bigger problem than they solved. Those supposed "junk files" aren't nearly as bad as losing normal write access to the MicroSD card and external USB OTG, which were among Android smartphones' biggest selling points. It's like attacking a fly using a tank.

Keep in mind, this was at a time when stock Android didn't even have a built-in file manager. Some vendors like Samsung included a file manager, but on stock Android, there was no way you could manage your files on the MicroSD card without root access or from an external device.

Google quickly realized that removing MicroSD write access almost completely was perhaps no good idea, so they brought it back with Android 5.0, however only through Google's Storage Access Framework, which is extremely slow (source 1, source 2) and broke compatibility with all the existing apps developed over the years.

Now, what is Google's justification for removing traditional storage access to MicroSD cards and USB on-the-go, enforcing the use of Storage Access Framework?

source.android.com said:
Third-party apps must go through the Storage Access Framework to interact with files on portable storage; direct access is explicitly blocked for privacy and security reasons.
(source)
The only "protection" storage access framework actually gives you is that it prevents you from granting access to the root directory of the external storage (not to be confused with "root access" which gives you superuser privileges). So an imaginary app that does "bad stuff" can still do it inside the directory you picked.

Unfortunately, these restrictions prevent legitimate apps such as file managers from functioning properly. If you don't trust an app with access to the entire USB stick or SD card, perhaps you should not use that app at all. At the very least, users should have been given the option to grant exceptions to apps which use this access for legitimate purposes, such as file managers.

"Privacy" and "security" are the typical fearmongering. It's a muzzle, not a shield. It's the same kind of "protection" that disconnecting the Internet gives you. You might be more "protected", but you lose something very useful, and that loss outweighs any benefit the "protection" might have given you. You lose authority over your device your property.

Whoever made "bad apps" has indirectly won by taking away your freedom to use your MicroSD and USB-OTG properly. Sure, root access can bring it back, but some smartphone makers are trying to make rooting impossible.

Google has turned Android from something that resembles Linux into something that resembles iOS. And it's excused with the usual "security" and "protection" fearmongering.

Google has a conflict of interest as a provider of cloud storage. Imagine SanDisk owned Android and blocked Google Drive. Everyone would recognize the obvious conflict of interest. And when Android restrictions break applications like file managers, end users complain to the app developers even though it is not their fault. So these restrictions also caused headaches to innocent app developers.

Whenever the big tech elites lock you down more and take your freedom away, they try to convince you "it's for your best" even though it obviously isn't. They did the same thing when taking away user-replaceable batteries, as I have described in my notes on the Galaxy S6 keynote:

So the next time you think "they can never take this feature away!": Oh yes, they can, and all it takes is a little plausible-sounding excuse.

See also:
MicroSD cards give you control over your data.

[This post is in the public domain, CC0 1.0.]
 
Last edited: