GrapheneOS has storage scopes which make the app think it has full folder/file access but in reality you can choose the exact files or folders to give access. It helps keep invasive apps in line.
On iOS, there's the picker for access. It doesnt trick the app into thinking it has full access. All apps should just be forced to use the private picker style which is convenient and private.
This feature is to make privacy-invasive apps, that want to snoop and degrade functionality if they don't, behave.