I have this idea. It's taken from the Android world. In Android, apps all get their own user, and can only access their own filesystem. They are then added to groups like Sound or Files or whatever to gain access to other things. This is simplifying but gave me an idea.
So my idea is two parts:
- We add more groups to our Unix and Unix-like codebases. Piecemeal access to different folders like a
fs-docsgroup for access to/home/<whoever>/Documents - Each app, when installed, gets a user and a folder (maybe
/opt/<pkgname>or/apps/<pkgname>and a group calledapp-<pkgname>). It requests during install (or maybe runtime via a permissions management application) access to specific groups for its user. Launching an app then becomessudo -u app-<name> /opt/<pkgname>/<binname>.
You login as a user with access to limited permissions and then run the application. Thus you run it sandboxed but without special software like Flatpak or AppImage - just standard Unix groups.
Claude code I believe has its own sandboxing system, but with this system it would be the system itself restricting claude, not the claude code app, truly limiting accidental outreach.
I built a demo package manager using this concept a while back called 'bokspm,' though I kept it private (and now, my current job will not let me open source it)