I have also pondered on variations of this idea of users _owning_ their own data and only granting access to their data to apps they trust, as a means to counter the status quo of every company holding users' data hostage in their own walled gardens and preventing data mobility between apps.
However, the one thing that I've always struggled with is how to handle apps that need write access to users' data in order to be useful. For instance, a messaging app needs to be able to write new messages onto the user-owned data store, but if we allow arbitrary reads/writes to some namespaced path to the store, an app simply needs to encrypt the data with some secret key that the user doesn't know in order to build a decentralized walled garden that stifles data mobility in the same way that centralized walled gardens do today.