GrapheneOS und Storage Scopes

Halli Hallo allerseits,

bei dem probieren und lernen mit GrapheneOS auf dem Google Pixel 6a bin ich mittlerweile auch bei dem Feature „Storage Scopes“ angekommen. Dazu habe ich auch in diesem Forum gesucht jedoch nur sehr wenig Hinweise gefunden. Ausgehend von diesem Beitrag stellen sich mir Fragen.

Storage Scopes steht nicht bei jeder installierten App zur Verfügung, sondern nur bei denen, welche die Berechtigung für den „Zugriff auf alle Dateien“ verlangen.

  1. Warum wird diese spezielle Berechtigung nicht unter
    „Einstellungen → Apps → App → App-Info“ sondern nur unter
    „Einstellungen → Apps → Spezieller App-Zugriff → Zugriff auf alle Dateien → App“ angezeigt?
  2. Wie kann ich Storage Scopes auf eine App anwenden, die zum speichern von Dateien Zugriff auf das Datei-System benötigt jedoch diese Berechtigung vom System nicht bekommt?

Die zweite Frage stellt sich, weil im vorliegenden Fall die App Fossify Voice Recorder die Möglichkeit bietet, die Aufnahmen in einem eigenen Ordner abzuspeichern. Leider wird aber nach der Installation und der dazugehörigen Frage, wo die Dateien abespeichert werden sollen, nur der Ordner „Android“ mit den drei darin befindlichen Standardordnern angezeigt. Alle anderen Ordner sind praktisch nicht vorhanden.

Mit freundlichem Gruß
Teoma

Ebenfalls lassen sich Storage Scopes für Apps aktivieren, welche Zugriff auf Fotos und Videos, Musik und Audio, … anfordern.

Dort musst du eine der Berechtigungen auswählen, für welche du Storage Scopes aktivieren kannst.
Unter App-Info also auf Berechtigungen, dann auf Fotos und Videos o.Ä.
Dort befindet sich die Schaltfläche Storage Scopes, auf diese klicken und dann den Schalter aktivieren.
Schließlich kann an selbigem Ort Storage Scopes, oben rechts, wieder deaktiviert werden.
Wenn sie aktiviert sind, wird die Option „Nicht zulassen“ auf dem vorherigen Bildschirm zu „Nicht zulassen (+ Storage Scopes)“ umbenannt.

Gar nicht, es gibt unter Android zwei Optionen:
Das Storage Access Framework und Berechtigungen.

Berechtigungen:

Wenn eine App keine Berechtigungen anfordert - so auch Fossify Voice Recorder - wird das System dir keine Möglichkeit geben dieser App diese Berechtigungen zu geben.
Storage Scope steht nur für Apps zur Verfügung, welche eine generelle Berechtigung auf alle Dateien oder jene einer bestimmten Art (Fotos und Videos, Musik und Audio) anfordern.
Storage Scopes sind also für Apps nützlich, welche

  1. den Dienst verweigern wenn sie die Berechtigung nicht erhalten, obwohl sie diese nicht benötigen; da ihnen mit Storage Scopes aber nicht erteilter Berechtigung vorgegaukelt wird, dass sie die angeforderten Berechtigungen erhalten haben.
    Zugleich können diese dann auch selbst Ordner erstellen und eigene Dateien in diesen speichern.
  2. die Berechtigung „benötigen“, aber nicht Zugriff auf alle Dateien/Ordner erhalten sollen, sondern nur auf bestimmte, ausgewählte; welche im Storage Scopes Menü einer „whitelist“ hinzugefügt werden können.

Storage Access Framework:

Fossify Voice Recoder verwendet wohl das Storage Access Framework (SAF), aber tut dies auf eine komische Art und Weise: Es bittet dich innerhalb der App einen Pfad anzugeben/zu erstellen, in welchem es die aufgenommenen Dateien speichert und fordert draufhin über das SAF die Berechtigung an, auf diesen Ordner zuzugreifen.
Meines Wissens nach wird, wenn man das sauber umsetzt, eigentlich das SAF aufgerufen, dort wählst/erstellst du dann einen Ordner; dieser wird dann am Ende an die App zurückgegeben, wenn du die Berechtigung zum Zugriff auf einen Ordner erlaubst, oder eben die Ablehnung des Zugriffs, wenn du den Prozess „abbrichst“. Das sorgt dann m.M.n. auch für weniger Verwirrung.

Eine solche Berechtigung kann temporär oder permanent gelten, in letzteren Fall kannst du diese unter App-Info → Speicher und Cache → „Zugriff löschen“ widerrufen - diese Schaltfläche existiert, sobald permanenter Zugriff auf eine Datei/einen Ordner gestattet wurde, erkennbar an „Externer Speicher - N Elemente“ unterhalb des Feldes für den „Insgesamt“ belegten Speicherplatz.


Ich glaube, es gibt noch eine dritte Variante, bei der eine App einfach einen Ordner erstellen kann und dort Ihre Dateien speichert? Dabei besteht aber nur Zugriff auf von der App erstellte Dateien, ist also im Berechtigungskonzept irrelevant, da eine App auch einfach den app-internen Speicher nutzen könnte.

Soweit mein Wissensstand, Ich kann aber nicht garantieren dass dieser zu 100% korrekt ist.

1 „Gefällt mir“

Halli Hallo @Astolfo,

vielen Dank für die detaillierte Erklärung. Das löst einige Knoten.

Trifft das eventuell auch auf die App Total Commander zu? Ich kann unter GrapheneOS nicht mehr, wie gewohnt, auf die Ordner unter Android/data zugreifen. Ich bleibe dann im Dialog bezüglich der Berechtigung hängen, wenn ich den Inhalt von z.B. Fossify Voice Recorder ansehen möchte. Unter Samsung konnte ich dann aktuell noch auf den original Dateimanager zurückgreifen. Bei GrapheneOS läßt der integrierte Dateimanager das auch nur bei wenigen installierten Apps zu. Nicht auf alle.

Ja, das kenne ich bei dieser App auch von Samsung-Geräten her. Dort funktioniert dieser Weg aber reibungslos. Unter GrapheneOS muß ich dann im obersten Verzeichnis einen neuen Ordner erstellen und diesen verwenden (dritte Variante?). Selbst der in dieser App vordefinierte Ordner Intern/Music/Recordings wird nicht als gültig akzeptiert. Wenn ich diesen Dialog nicht korrekt zu Ende führe, kommt bei jedem neuen Start eben diese Abfrage. Und natürlich bei jedem versuchten Start einer Aufnahme. Ich muß mal schauen, ob bei dem Entwickler dieser App Informationen dazu vorliegen. Denn leider kenne ich keinen anderen Voice Recorder als den Samsung eigenen und diesen hier.

Jetzt habe ich aber noch eine Frage abseits dieses Themas. Denn diese bezieht sich auf meinen nächsten Schritt bezüglich dem kennenlernen von GrapheneOS. Können deine Ausführungen auch auf Contact Scopes übertragen werden?

Mit freundlichem Gruß
Teoma

Das ist seit glaube Ich Android 14 so?
Ich weiß nicht, ob GrapheneOS das noch etwas schärfer geschaltet hat, aber seit dieser Android Version ist ein Zugriff auf diese Ordner nicht mehr ohne weiteres möglich.
Insbesondere für normale Apps auf dem Gerät, zu welchen Total Commander zählen würde.

Noch immer SAF, Fossify Voice Recorder hat da einfach ein ganz schlechtes Design.
Wie es bei modernen Apps, wenn sie SAF verwenden, eigentlich aussehen sollte, würde NewPipe zeigen.
Dieses ruft in den Einstellungen, unter „Download“, beim Klick auf „Downloader für Videos“ direkt das SAF auf, welches dir die Option anbietet einen existierenden Ordner zu verwenden oder einen neuen zu erstellen - gleich mit dem Interface der Dateien App vom System, ohne den Zwischenschritt der hier bei Fossifys Voice Recorder nötig ist.

Die einzige Option bei Fossify Voice Recorder ist hier im app-eigenen Dialog direkt unter „Intern“ auf das + zu klicken und einen Namen zu wählen, mit welchem noch kein Ordner existiert.
Der ist dann im „Hauptverzeichnis“ vom Dateisystem und der Speicherort für die Dateien.
Dann im nachfolgenden SAF Dialog „Speichern“ klicken und dann „Diesen Ordner verwenden“ & „Zulassen“.
Eine andere Option kriege Ich hier nicht umgesetzt.

Die „Dritte Variante“ schlussfolgere Ich aus der Beschreibung für Storage Scopes im Berechtigungsmenü, frei übersetzt:
„Eine App welche keine Speicher-Berechtigungen erteilt bekommen hat, hat weiterhin die Berechtigung Dateien zu erstellen und auf Dateien zuzugreifen welche sie erstellt hat, ganz gleich ob Storage Scopes aktiviert sind.“
(Storage Scopes würde auch erlauben, diese zusätzlich um bestimmte Ordner/Dateien zu erweitern, die nicht von der App erstellt wurden)


Zu den Contact Scopes: Nicht ganz.
Diese sind an den gleichen Ort zu finden - als alternative Option für die Kontakte Berechtigung und anderenfalls ebenfalls nicht vorhanden.
Wenn diese aktiv sind, können Apps keine Kontakte auslesen, bis du die gewünschten explizit über Contact Scopes erlaubst.
Sie erhalten dann auch nur Lesezugriff auf die (gestatteten) Kontakte.

Wählst du „Number“ oder „Email“, kann dieses jeweilige Kontaktfeld von der App ausgelesen werden - inklusive des Kontaktnamens.
Wählst du „Contact“ kann jedes Feld des Kontakts und der Name ausgelesen werden, außer das Kontaktfoto.
Bei „Label“ entspricht es jedem Kontakt dem das ausgewählte Label in deinen Kontakten zugeteilt wurde, im selben Umfang wie bei der Option „Contact“, denke Ich.
Quelle: https://grapheneos.org/usage#contact-scopes

Wo Ich jetzt dort war, wäre auch https://grapheneos.org/usage#storage-scopes eine gute Informationsquelle… Stimmt aber soweit überein, wobei es dort noch weitere Infos gibt, gerade der Abschluss zu den Limitationen - wenn eine App neu installiert wird müsstest du entsprechende Ordner logischerweise whitelisten.

2 „Gefällt mir“

Halli Hallo @Astolfo,

Danke für deine Geduld und die Ausführlichkeit deiner Antworten. Da ich nur einen Beitrag als Lösung markieren kann, habe ich deinen ersten Beitrag dazu genommen. Die Links kannte ich bereits. Meine unzureichenden Englisch-Kenntnisse führen manchmal dazu, daß ich mir nicht ganz sicher bin. Von daher frage ich gern auch mal nach.

Mit freundlichem Gruß
Teoma

1 „Gefällt mir“