I don't know what kind of hoops Snap require to access files. Flatpak, however, has a pretty simple system for a fully sandboxed app to open a file or a directory: it just opens a file or directory picker, you pick a file or directory, and the app gets access to that file or directory without getting access to anything outside what you picked. Behind the scenes this is done via the XDG Portal system, but that's irrelevant to the end user who only sees a normal file open dialog.
Then for apps that have dotfile-type directories where you can put config files and other stuff, those simply exist in app-specific directories under .var in your home directory, so they're not difficult to find either.
> Flatpak, however, has a pretty simple system for a fully sandboxed app to open a file or a directory: it just opens a file or directory picker, you pick a file or directory, and the app gets access to that file or directory without getting access to anything outside what you picked.
Unfortunately that still breaks any kind of multi-file format, where opening one file might implicitly require accessing additional other files, and in some cases those additional files might even be distributed all over the directory hierarchy.
Then for apps that have dotfile-type directories where you can put config files and other stuff, those simply exist in app-specific directories under .var in your home directory, so they're not difficult to find either.