Jeder kennt Matrix. Aber Apps leben längst in kontrollierten kleinen Welten

Manchmal denke ich bei Smartphone-Apps an Matrix.

Nicht, weil mein Handy schwarze Sonnenbrillen trägt oder mir nachts kryptisch zuflüstert, dass ich der Auserwählte bin. Sondern weil sich Android und iOS ein bisschen so anfühlen wie eine perfekt gebaute Simulation: Jede App lebt in ihrer eigenen kleinen Welt. Sie darf Dinge sehen, Dinge anfassen, Dinge benutzen — aber nur, wenn das System es erlaubt.

Die App denkt vielleicht, sie wäre frei. Aber irgendwo im Hintergrund sitzt das Betriebssystem mit verschränkten Armen und sagt:

„Interessanter Versuch, kleiner Taschenrechner. Aber nein, du liest jetzt nicht einfach meine Kontakte aus.“

Und ganz ehrlich: Das ist erstmal gut so.


Smartphone-Apps leben nicht in deiner Wohnung, sondern in Einzelzellen

Auf Android und iOS ist Sandboxing kein Bonus, kein optionales Sicherheitsfeature und kein nettes Extra für besonders paranoide Menschen. Es ist das Grundprinzip.

Android setzt Apps grundsätzlich in eine eigene Anwendungssandbox. Apps sollen dadurch nicht einfach die Daten anderer Apps lesen oder ohne passende Berechtigungen sensible Aktionen ausführen können. Android beschreibt dieses Modell als auf UNIX-artiger Trennung von Prozessen und Dateirechten basierend.

Auch iOS arbeitet mit einem strengen Sandbox- und Berechtigungsmodell. Apps bekommen nicht einfach freien Zugriff auf Systemressourcen oder Nutzerdaten, sondern müssen über definierte Systemmechanismen und Berechtigungen gehen. Kamera, Mikrofon, Kontakte, Standort und ähnliche Dinge sind nicht einfach offene Türen, sondern kontrollierte Zugänge.

Das ist der große Smartphone-Deal:

Eine App ist nicht einfach ein Programm, das auf deinem Gerät herumläuft wie ein gelangweilter Azubi im Lager, der alle Regale öffnen darf. Eine App ist eher ein kleiner Bewohner in einem Hochsicherheitstrakt.

Sie hat ihr eigenes Zimmer, ihre eigenen Daten, ihre eigenen Regeln. Will sie raus, muss sie klingeln. Will sie Kamera, Mikrofon, Standort oder Kontakte, muss sie fragen. Und selbst dann entscheidet am Ende nicht die App, sondern das System — und hoffentlich auch du.

Das ist der Moment, wo mein Kopf direkt auf Matrix schaltet.

Die App sieht nicht die echte Welt. Sie sieht eine vom System kontrollierte Version davon.


Flatpak und Snap: Auch Sandbox, aber anderer Film

Jetzt könnte man sagen:

„Moment mal, Kiru. Flatpak und Snap machen doch auf Linux auch Sandboxen. Ist das dann nicht im Grunde dasselbe?“

Ja. Und nein.

Und genau hier wird es interessant.

Flatpak und Snap versuchen ebenfalls, Programme stärker vom restlichen System zu trennen. Flatpak nutzt dafür unter anderem Berechtigungen und Portale. Portale erlauben Apps aus der Sandbox heraus kontrollierten Zugriff auf Dinge außerhalb der Sandbox, zum Beispiel Dateiauswahl oder Drucken, ohne der App direkt pauschal Zugriff auf alles zu geben.

Snap arbeitet ebenfalls mit Isolation und sogenannten Interfaces. Bei Snap gibt es verschiedene Confinement-Stufen wie strict, classic und devmode. Strikte Snaps sind stärker eingeschränkt, während Classic-Confinement laut Snap-Dokumentation ungefähr dem Zugriff traditioneller, nicht sandboxed Pakete entspricht.

Also ja: Flatpak und Snap bauen kleine Schutzräume.

Aber der Unterschied zu Android und iOS ist brutal wichtig:

Auf dem Smartphone ist die App-Welt das Fundament. Auf dem Linux-Desktop ist die Sandbox eher nachträglich auf ein System draufgeschraubt worden, das historisch nie komplett so gedacht war.


Linux-Desktop: Das alte Haus mit nachträglich eingebauten Sicherheitstüren

Der klassische Linux-Desktop ist eher wie ein altes Haus.

Ein schönes Haus. Ein mächtiges Haus. Ein Haus, in dem du theoretisch jede Wand rausreißen, neue Kabel ziehen und im Keller einen eigenen Kernel kompilieren kannst, während oben Firefox offen ist und irgendwo eine Katze auf der Tastatur liegt.

Aber eben auch ein Haus, das lange nach dem Prinzip funktioniert hat:

„Programme laufen unter deinem Benutzerkonto und dürfen erstmal ziemlich viel von dem sehen, was dein Benutzer sehen darf.“

Das ist nicht automatisch schlecht. Das ist sogar einer der Gründe, warum Linux so flexibel ist. Aber sicherheitstechnisch ist es eben ein anderer Ansatz als bei Smartphones.

Flatpak und Snap versuchen nun, in dieses alte Haus neue Sicherheitstüren einzubauen.

Das Problem: Manche Räume wurden nie dafür geplant.

Da gibt es X11, alte Dateizugriffsmodelle, Desktop-Integrationen, Themes, Drucker, Audio, GPU, Home-Verzeichnis, Portale, D-Bus, Plugins, Erweiterungen und diesen einen Ordner, den irgendein Programm seit 2009 erwartet, weil sonst die komplette Realität beleidigt zusammenklappt.

Wayland macht viele Dinge moderner und sauberer als X11. Aber der Linux-Desktop besteht eben nicht nur aus einem schönen neuen Protokoll, sondern aus gewachsener Realität, alten Programmen, unterschiedlichen Toolkits, Desktopumgebungen, Diensten und historischen Erwartungen.

Smartphone-Apps wachsen in einem Käfig auf.

Linux-Programme müssen manchmal erst lernen, dass es jetzt Käfige gibt.

Und manche gucken dabei ungefähr so beleidigt wie ich, wenn KDE nach einem Update plötzlich mein Panel anders sortiert.


Flatpak fühlt sich eher wie „kontrollierter Ausgang“ an

Flatpak hat für Desktop-Apps einen ziemlich eleganten Gedanken: Die App bekommt eine Sandbox, und wenn sie etwas vom System braucht, soll sie über Portale fragen.

Das ist zum Beispiel bei Dateizugriff wichtig. Eine App muss dann nicht automatisch dein komplettes Home-Verzeichnis bekommen, sondern kann über einen Dateidialog Zugriff auf genau die Datei bekommen, die du auswählst.

Im Idealfall fühlt sich das für den Nutzer normal an:

Du klickst auf „Datei öffnen“, suchst deine Datei aus, fertig.

Im Hintergrund passiert aber etwas anderes als beim klassischen Linux-Programm. Die App bekommt nicht einfach freie Fahrt durch dein Dateisystem, sondern einen kontrollierten Durchgang.

Das ist eigentlich ziemlich cool.

Aber jetzt kommt der Kiru-Realitätsdebuff: In der Praxis hängt viel davon ab, wie gut eine App mit Portalen umgehen kann, welche Berechtigungen sie tatsächlich bekommen hat und ob der Paketbauer vielleicht zur Sicherheit direkt wieder halbe Wohnungsschlüssel verteilt hat.

Eine Flatpak-App kann also sehr ordentlich eingeschränkt sein. Oder sie kann so viele Rechte bekommen, dass die Sandbox eher aussieht wie ein Zaun mit offenem Gartentor und Schild:

„Bitte nicht ausbrechen, wäre lieb.“


Snap ist ähnliches Ziel, aber anderer Charakter

Snap will ebenfalls Apps isolieren und Abhängigkeiten bündeln. Aber Snap fühlt sich anders an.

Mehr Canonical. Mehr Store-Modell. Mehr zentraler Mechanismus. Mehr „wir bauen hier ein ganzes System drumherum“.

Technisch arbeitet Snap mit Interfaces, über die Apps bestimmte Zugriffe bekommen können. Strikte Snaps sind stärker eingeschränkt, Classic-Snaps dagegen verhalten sich laut Dokumentation eher wie klassische, nicht sandboxed Pakete mit vollem Systemzugriff.

Und genau da muss man ehrlich sein:

Wenn ein Snap im Classic-Modus läuft, ist „Sandbox“ als Bauchgefühl gefährlich. Dann ist das eher ein normales Paket mit Snap-Verpackung, aber nicht diese schöne kleine App-Zelle, die man sich vielleicht vorstellt.

Das ist nicht automatisch böse. Manche Programme brauchen diesen Zugriff tatsächlich, zum Beispiel Entwicklerwerkzeuge oder sehr systemnahe Anwendungen.

Aber man sollte sich nicht selbst besoffen reden:

Snap bedeutet nicht automatisch hart eingesperrt.

Genauso wie Flatpak nicht automatisch perfekt sicher bedeutet.

Sandbox ist kein Zauberwort. Sandbox ist ein Werkzeug. Und Werkzeuge können gut benutzt werden — oder halt wie ein Schraubenzieher als Suppenlöffel.


Der große Unterschied: Smartphone-Systeme sind App-Gefängnisse mit hübscher Tapete

Android und iOS sind von ihrer Grundidee her App-Plattformen.

Der Nutzer installiert Apps. Apps fragen Rechte an. Das System vermittelt. Stores kontrollieren zumindest teilweise, was überhaupt rein darf — bei iOS deutlich strenger und zentraler, bei Android mit mehr Ausweichwegen wie Sideloading oder alternativen Stores. Die komplette Nutzererfahrung ist trotzdem darauf gebaut, dass Apps kleine abgegrenzte Einheiten sind.

Das ist bequem. Das ist sicherer. Das ist verständlich.

Aber es ist auch kontrolliert.

Und hier kommt wieder Matrix ins Spiel.

Du bekommst eine schöne Oberfläche. Du bekommst klare Knöpfe. Du bekommst einfache Berechtigungen. Aber du bekommst eben auch ein System, das dir ziemlich genau vorgibt, wie Software auf deinem Gerät zu funktionieren hat.

Auf iOS ist das besonders stark. Android ist offener, aber auch dort ist die App-Sandbox das zentrale Sicherheitsmodell. Android unterscheidet außerdem zwischen weniger sensiblen Berechtigungen, die automatisch gewährt werden können, und gefährlicheren Laufzeitberechtigungen, die Apps aktiv anfragen müssen.

Das Smartphone sagt:

„Hier sind deine Apps. Jede App bekommt ihren Platz. Alles andere läuft über mich.“

Linux sagt eher:

„Hier ist dein System. Viel Spaß. Bitte nicht alles anzünden.“

Und Flatpak/Snap sagen:

„Okay, vielleicht bauen wir jetzt doch ein paar Brandschutztüren ein.“


Warum sich Android/iOS trotzdem geschlossener anfühlen

Das Paradoxe ist:

Android und iOS sind für normale Nutzer oft sicherer verständlich, aber gleichzeitig fühlen sie sich stärker wie ein Käfig an.

Bei Linux kann ich entscheiden, ob ich ein klassisches Paket installiere, ein AppImage starte, ein Flatpak nutze, ein Snap nehme, selbst kompiliere oder mir aus Versehen mit sudo make install ein kleines Artefakt der Verdammnis ins System nagle.

Das ist Freiheit.

Aber Freiheit bedeutet auch: Du kannst dir dein System selbst ins Nirvana konfigurieren. Mit Anlauf. Und danach im Forum fragen, warum dein Login-Screen nur noch beleidigt blinkt.

Smartphones nehmen dir viel davon ab. Dafür nehmen sie dir aber auch Kontrolle ab.

Bei Android und iOS bist du meistens Nutzer.

Bei Linux bist du manchmal Nutzer, manchmal Admin, manchmal Paketmanager, manchmal Archäologe und manchmal der Depp, der nachts um 1 Uhr herausfindet, dass sein Problem ein fehlendes Semikolon in irgendeiner Config war.

Und ja, ich spreche da natürlich nur theoretisch.

Hust.


Flatpak und Snap sind nicht Android für Linux

Das ist der wichtigste Punkt.

Flatpak und Snap bringen App-Isolation auf den Linux-Desktop. Aber sie verwandeln Linux nicht plötzlich in Android oder iOS.

Warum?

Weil Linux darunter weiterhin Linux bleibt.

Du hast weiterhin klassische Paketmanager. Du hast weiterhin Systemdienste. Du hast weiterhin normale Benutzerrechte. Du hast weiterhin Terminals, Configs, systemweite Bibliotheken, Distributionen mit eigenen Philosophien und diesen einen Typen im Forum, der auf jede Frage mit „benutz einfach Gentoo“ antwortet.

Flatpak und Snap legen eine neue Verpackungs- und Sicherheitslogik über den Desktop.

Android und iOS bauen den ganzen Alltag direkt um diese Logik herum.

Das ist ein gewaltiger Unterschied.

Bei Android und iOS ist die Sandbox die Stadtplanung.

Bei Flatpak und Snap ist sie eher ein nachträglich eingebautes Wohnheim im Linux-Altbau.

Kann funktionieren. Kann sogar richtig gut sein. Aber es ist nicht dieselbe Architektur.


Und was heißt das jetzt für normale Nutzer?

Für normale Nutzer heißt das erstmal:

Flatpak und Snap sind nicht schlecht, nur weil sie anders sind als klassische Pakete.

Im Gegenteil. Für Desktop-Apps können sie richtig praktisch sein. Aktuellere Apps, weniger Abhängigkeitschaos, sauberere Trennung vom Basissystem, einfachere Installation über grafische Stores.

Aber man sollte sie auch nicht mystisch überhöhen.

Ein Flatpak ist nicht automatisch sicher wie Fort Knox.

Ein Snap ist nicht automatisch böse, nur weil Canonical draufsteht.

Und eine Android-App ist nicht automatisch vertrauenswürdig, nur weil sie in einer Sandbox sitzt.

Sandboxing reduziert Schaden. Es ersetzt kein Hirn.

Das klingt hart, ist aber wichtig.

Wenn eine App Daten sammeln will, dann kann sie das oft auch innerhalb ihrer erlaubten Rechte tun. Wenn du einer App Standort, Kamera, Mikrofon und Kontakte gibst, dann kann die Sandbox zwar verhindern, dass sie einfach alles andere frisst — aber die Sachen, die du ihr freiwillig gibst, hat sie trotzdem.

Das ist wie bei Matrix:

Nur weil jemand dir eine kontrollierte Realität zeigt, heißt das nicht, dass sie automatisch gut für dich ist.


Mein Fazit: Gleiche Idee, andere Welt

Android, iOS, Flatpak und Snap haben alle denselben Grundgedanken:

Programme sollen nicht einfach alles dürfen.

Das ist sinnvoll. Das ist modern. Und ehrlich gesagt war es auf dem Desktop längst überfällig.

Aber die Umsetzung kommt aus völlig unterschiedlichen Welten.

Android und iOS sind App-Systeme mit eingebautem Kontrollzentrum.

Flatpak und Snap sind Versuche, dem freien, wilden, historisch gewachsenen Linux-Desktop mehr Struktur und Schutz zu geben.

Das eine ist wie eine Stadt, die von Anfang an mit Schleusen, Kameras und Zugangskarten geplant wurde.

Das andere ist wie ein chaotisches, sympathisches Linux-Haus, in dem man nachträglich Sicherheitstüren einbaut, während im Keller noch jemand einen Kernel backt und oben ein Flatpak fragt, ob es bitte kurz an den Drucker darf.

Und genau deshalb muss ich bei Smartphone-Apps an Matrix denken.

Die App lebt in einer Welt, die ihr vom System gezeigt wird.

Bei Linux dagegen merkt man noch, dass unter der Simulation echte Kabel liegen.

Manchmal ist das unbequem.

Manchmal ist das wunderschön.

Und manchmal ist es einfach nur Linux.