To clarify this directly. I mean what if every (even malicious) 3rd party software running on this OS gets never access to its data and rather 'describes' what to do with?
So for example 'here at index x change this byte to y', 'if at index x is "01" change it to y'. This would obviously be hard for developers to do. That's why I suggest using something like an interface where data types are defined and can be defined by every software. It could range from primites like int,char to literally HTML,JSON and include default operations based on this data type.
Now any software running on this OS needs to handle data with a some kind of interface and will never have directly access to its underlying data.
However this will only apply to files which are publicly accessible like Pictures/Documents, giving the software the possiblity to handle its configuration files ( myapp.conf ) how it wants to, but not the secret Message in secret_text.txt (making sure these files cannot accessed by anyone, but the creator/application).
The GUI is really tricky because it has to display the actual data to the user. Therefore it needs to a part of the OS, otherwise the effort is worthless.
Now I got a few questions I can't answer myself:
- will exploits effect this design in more dramatic way than on Linux/Windows?
- how much of a benefit do I get compared to different approaches?
- in which way are applications limited by this design?
- where should this approach be implemented? (Kernel space/User space)
- due to the reason that the GUI needs to be a part of the OS what are downsides or benefits from this?
So, with this questions in mind, will this be a secure way of handling (sensitive) data?
PS: It is my first question here, if anything is unclear please let me know.