Sandboxing ist ein Sicherheitsmerkmal, das von Apple in OS X Lion eingeführt wurde, um potenzielle Schäden durch schädliche Software zu minimieren und Benutzerdaten zu schützen. Ab 2011 wurde es zur Voraussetzung für alle Apps, die im Mac App Store eingereicht wurden.
Die sandboxfähigen Apps können nur auf ihre zugewiesenen Container zugreifen, die unter ~/Library/Containers und ~/Library/Group Containers platziert sind. Dadurch wird sichergestellt, dass sie nur auf die Informationen zugreifen können, die sie für ihre Funktion benötigen, es sei denn, der Benutzer erlaubt dies.
Der ~/Library/Containers-Ordner auf dem Mac enthält Benutzerdaten, Caches, Protokolle, Anwendungssupport-Dateien, Einstellungen und andere erforderliche Informationen für einzelne sandboxfähige Apps, in der Regel solche, die aus dem Mac App Store heruntergeladen wurden.
Jede sandboxfähige App hat ihren eigenen separaten Container im Containers-Ordner, der sie von anderen Apps und Systemdateien isoliert. Wenn Du einen Container öffnest, findest Du die von Dir erwähnten Ordner wie zum Beispiel die Standardbenutzerverzeichnissen wie Desktop, Dokumente, Downloads, Library, Pictures, System Data, …. Dadurch glaubt die sandboxfähige App, dass sie mit dem Hauptverzeichnis Deines Macs interagiert, obwohl sie tatsächlich auf den Container beschränkt ist.
Zum Beispiel kann eine nicht-sandboxfähige App in ~/Library/Application Support/ schreiben, während eine sandboxfähige App nur in ~/Library/Containers/App-Name/Data/Library/Application Support/ schreiben kann.
Wie Du bemerkt hast gibt es auch mehrere Ordner mit dem gleichen Namen im Containers-Ordner. Experimentiere mit diesen Ordnern nicht, wenn Du die App noch benutzt.
Der ~/Library/Group Containers-Ordner auf dem Mac ist ein Verzeichnis, das Caches, Präferenzen, Anwendungssupport-Dateien und Anwendungsskripte speichert, die möglicherweise zwischen mehreren sandboxfähigen Apps oder Erweiterungen desselben Entwicklers geteilt werden.
Die gemeinsamen Daten werden in einem Container aufbewahrt, um die Kommunikation zwischen Apps zu ermöglichen und gleichzeitig den Sandboxing-Prinzipien von macOS zu entsprechen.