So prüfen

24. Oktober 2026

Diese Seite listet die Berechtigungen, Bibliotheken, System-Backup-Einstellungen und Netzwerktests von Photo Enclave auf, damit Sie beurteilen können, ob die App hält, was wir sagen: kein Netzwerkzugriff, keine Datenerhebung. Das ist keine unabhängige Prüfung durch Dritte, aber zu jedem Punkt steht, woher die Daten stammen und wie Sie sie nach der Installation selbst prüfen können.

Die Daten gelten für Android 1.2.6.0 (versionCode 1000260, Paket studio.src.safecamera) und iOS 1.2.6 (Build 1260, Bundle-ID src.studio.enclave). Andere Versionen können abweichen.

Android-Berechtigungen

Berechtigungen der Release-APK, nachdem alle Bibliotheken zusammengeführt wurden:

$ aapt2 dump badging secureCam-release.apk
package: name='studio.src.safecamera' versionCode='1000260' versionName='1.2.6.0'
uses-permission: name='android.permission.CAMERA'
uses-permission: name='android.permission.RECORD_AUDIO'
uses-permission: name='android.permission.USE_BIOMETRIC'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE' maxSdkVersion='32'
uses-permission: name='android.permission.READ_MEDIA_IMAGES'
uses-permission: name='android.permission.READ_MEDIA_VIDEO'
uses-permission: name='android.permission.READ_MEDIA_VISUAL_USER_SELECTED'
uses-permission: name='studio.src.safecamera.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION'

Es gibt kein INTERNET und auch kein ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE oder AD_ID. Die letzte Zeile ist eine Berechtigung auf Signaturebene, die AndroidX hinzufügt, um die internen Broadcasts der App zu schützen.

So prüfen Sie es: Laden Sie die installierte APK vom Handy und lesen Sie sie mit aapt2 aus dem Android SDK:

$ adb pull $(adb shell pm path studio.src.safecamera | grep base | cut -d: -f2) base.apk
$ aapt2 dump badging base.apk | grep uses-permission

Android-System-Backup

Das Manifest setzt android:allowBackup auf false und schließt mit android:dataExtractionRules alle Daten von Cloud-Backup und Geräteübertragung aus. Weder ein System-Backup noch ein Gerätewechsel nimmt den Tresor mit. Für ein neues Handy exportieren Sie in der App eine Datei mit „Vollständiges verschlüsseltes Backup“. Sie ist mit einem von Ihnen gewählten Passwort geschützt, das auf dem Gerät bleibt.

Backups, die vor 1.2.6 in Ihrem Google-Konto gespeichert wurden, werden nicht automatisch gelöscht. Sie können sie in den Geräte-Backup-Einstellungen Ihres Google-Kontos entfernen.

So prüfen Sie es: mit der base.apk aus dem vorigen Abschnitt:

$ aapt2 dump xmltree --file AndroidManifest.xml base.apk | grep -E 'allowBackup|dataExtractionRules'
        A: http://schemas.android.com/apk/res/android:allowBackup(0x01010280)=false
        A: http://schemas.android.com/apk/res/android:dataExtractionRules(0x0101063e)=@0x7f140000

Die Ausgabe zeigt allowBackup als false und eine Zeile dataExtractionRules.

Android-Bibliotheken

Direkt deklarierte Bibliotheken der App:

androidx.appcompat:appcompat:1.7.1
androidx.camera:camera-camera2:1.6.2
androidx.camera:camera-core:1.6.2
androidx.camera:camera-lifecycle:1.6.2
androidx.concurrent:concurrent-futures:1.3.0
androidx.constraintlayout:constraintlayout:2.2.1
androidx.documentfile:documentfile:1.1.0
androidx.exifinterface:exifinterface:1.4.2
androidx.legacy:legacy-support-v4:1.0.0
androidx.lifecycle:lifecycle-extensions:2.2.0
com.google.android.material:material:1.14.0
com.google.android.play:review:2.0.2

Es gibt keine Werbe-, Analyse-, Absturzberichts- oder Zahlungsbibliotheken. com.google.android.play:review bittet nur die Play-Store-App, ihren Bewertungsdialog anzuzeigen; die Bewertung verarbeitet Google Play. play-services-basement, play-services-tasks und core-common kommen damit mit. Die App enthält außerdem eigenen nativen Code, der mit ihr kompiliert wird.

Alle 91 aufgelösten Bibliotheken von releaseRuntimeClasspath
androidx.activity:activity:1.8.0
androidx.annotation:annotation-experimental:1.4.1
androidx.annotation:annotation-jvm:1.8.1
androidx.annotation:annotation:1.8.1
androidx.appcompat:appcompat-resources:1.7.1
androidx.appcompat:appcompat:1.7.1
androidx.arch.core:core-common:2.2.0
androidx.arch.core:core-runtime:2.2.0
androidx.asynclayoutinflater:asynclayoutinflater:1.0.0
androidx.camera:camera-camera2-pipe:1.6.2
androidx.camera:camera-camera2:1.6.2
androidx.camera:camera-core:1.6.2
androidx.camera:camera-lifecycle:1.6.2
androidx.camera.featurecombinationquery:featurecombinationquery:1.6.2
androidx.cardview:cardview:1.0.0
androidx.collection:collection-jvm:1.4.2
androidx.collection:collection:1.4.2
androidx.concurrent:concurrent-futures-ktx:1.3.0
androidx.concurrent:concurrent-futures:1.3.0
androidx.constraintlayout:constraintlayout-core:1.1.1
androidx.constraintlayout:constraintlayout:2.2.1
androidx.coordinatorlayout:coordinatorlayout:1.1.0
androidx.core:core-backported-fixes:1.0.0
androidx.core:core-ktx:1.16.0
androidx.core:core-viewtree:1.0.0
androidx.core:core:1.16.0
androidx.cursoradapter:cursoradapter:1.0.0
androidx.customview:customview:1.2.0
androidx.documentfile:documentfile:1.1.0
androidx.drawerlayout:drawerlayout:1.1.1
androidx.dynamicanimation:dynamicanimation:1.1.0
androidx.emoji2:emoji2-views-helper:1.3.0
androidx.emoji2:emoji2:1.3.0
androidx.exifinterface:exifinterface:1.4.2
androidx.fragment:fragment:1.5.4
androidx.graphics:graphics-shapes-android:1.0.1
androidx.graphics:graphics-shapes:1.0.1
androidx.interpolator:interpolator:1.0.0
androidx.legacy:legacy-support-core-ui:1.0.0
androidx.legacy:legacy-support-core-utils:1.0.0
androidx.legacy:legacy-support-v4:1.0.0
androidx.lifecycle:lifecycle-common:2.6.2
androidx.lifecycle:lifecycle-extensions:2.2.0
androidx.lifecycle:lifecycle-livedata-core:2.6.2
androidx.lifecycle:lifecycle-livedata:2.6.2
androidx.lifecycle:lifecycle-process:2.6.2
androidx.lifecycle:lifecycle-runtime:2.6.2
androidx.lifecycle:lifecycle-service:2.6.2
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2
androidx.lifecycle:lifecycle-viewmodel:2.6.2
androidx.loader:loader:1.0.0
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
androidx.media:media:1.0.0
androidx.print:print:1.0.0
androidx.profileinstaller:profileinstaller:1.4.0
androidx.recyclerview:recyclerview:1.2.1
androidx.resourceinspection:resourceinspection-annotation:1.0.1
androidx.savedstate:savedstate:1.2.1
androidx.slidingpanelayout:slidingpanelayout:1.0.0
androidx.startup:startup-runtime:1.1.1
androidx.swiperefreshlayout:swiperefreshlayout:1.0.0
androidx.tracing:tracing-android:1.3.0
androidx.tracing:tracing-ktx:1.3.0
androidx.tracing:tracing:1.3.0
androidx.transition:transition:1.5.0
androidx.vectordrawable:vectordrawable-animated:1.1.0
androidx.vectordrawable:vectordrawable:1.1.0
androidx.versionedparcelable:versionedparcelable:1.1.1
androidx.viewpager:viewpager:1.0.0
androidx.viewpager2:viewpager2:1.0.0
com.google.android.gms:play-services-basement:18.4.0
com.google.android.gms:play-services-tasks:18.2.0
com.google.android.material:material:1.14.0
com.google.android.play:core-common:2.0.4
com.google.android.play:review:2.0.2
com.google.auto.value:auto-value-annotations:1.6.3
com.google.dagger:dagger:2.59
com.google.errorprone:error_prone_annotations:2.15.0
com.google.guava:listenablefuture:1.0
jakarta.inject:jakarta.inject-api:2.0.1
javax.inject:javax.inject:1
org.jetbrains:annotations:23.0.0
org.jetbrains.kotlin:kotlin-bom:1.8.22
org.jetbrains.kotlin:kotlin-stdlib:2.2.10
org.jetbrains.kotlinx:atomicfu-jvm:0.28.0
org.jetbrains.kotlinx:atomicfu:0.28.0
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.9.0
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.9.0
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0
org.jspecify:jspecify:1.0.0

So prüfen Sie es: Der Release-Build ist verkleinert und verschleiert, die Bibliotheken lassen sich daher kaum direkt aus dem Paket ablesen. Ob die App tatsächlich ins Netz geht, prüfen Sie mit „Netzwerktest: Android“ unten.

iPhone- und iPad-Berechtigungen

Info.plist enthält nur vier Zweckbeschreibungen: Kamera, Mikrofon, Face ID und Hinzufügen von Fotos zu „Fotos“ (nur schreiben, nicht lesen). Es gibt keinen Lesezugriff auf die Fotomediathek, keinen Standort, keine Kontakte, kein Bluetooth, keinen Hintergrundmodus und keine Ausnahme von App Transport Security. Die Entitlements sind leer: kein iCloud, keine Push-Mitteilungen, keine App Groups, keine zugeordneten Domains. Die App hat keine Erweiterungen.

So prüfen Sie es: Unter Einstellungen → Datenschutz & Sicherheit → Fotos → Photo Enclave gibt es nur „Nur Fotos hinzufügen“ und „Keine“. Unter Einstellungen → Apps → Photo Enclave steht nichts außer den genutzten Kamera, Mikrofon, Face ID und Fotos.

iOS-Bibliotheken

Es gibt keine Abhängigkeiten über Swift Package Manager, CocoaPods oder Carthage. Die App linkt nur Systemframeworks, libc++ und unsere eigene statische Bibliothek libClientLib_IOS.a, die mit der App kompiliert und ins Binary eingebaut wird und deshalb nicht einzeln erscheint. Unten steht otool -L für den Release-Build 1.2.6. Jeder Eintrag liegt unter /System/Library/Frameworks oder /usr/lib.

Dynamische Bibliotheken
$ otool -L enclave.app/enclave
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 2200.27.0)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 5027.0.69)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1359.0.0)
/System/Library/Frameworks/AVFAudio.framework/AVFAudio (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AVFoundation.framework/AVFoundation (compatibility version 1.0.0, current version 2.0.0)
/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox (compatibility version 1.0.0, current version 1000.0.0)
/System/Library/Frameworks/Combine.framework/Combine (compatibility version 1.0.0, current version 3023.0.0)
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 5027.0.69)
/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (compatibility version 64.0.0, current version 2050.0.0)
/System/Library/Frameworks/CoreImage.framework/CoreImage (compatibility version 1.0.0, current version 7.0.0)
/System/Library/Frameworks/CoreMedia.framework/CoreMedia (compatibility version 1.0.0, current version 3350.77.1)
/System/Library/Frameworks/CoreVideo.framework/CoreVideo (compatibility version 1.2.0, current version 758.27.0)
/System/Library/Frameworks/CryptoKit.framework/CryptoKit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/ImageIO.framework/ImageIO (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/LocalAuthentication.framework/LocalAuthentication (compatibility version 1.0.0, current version 2319.12.210)
/System/Library/Frameworks/Metal.framework/Metal (compatibility version 1.0.0, current version 382.5.3, weak)
/System/Library/Frameworks/Photos.framework/Photos (compatibility version 1.0.0, current version 912.20.123)
/System/Library/Frameworks/PhotosUI.framework/PhotosUI (compatibility version 1.0.0, current version 912.20.123)
/System/Library/Frameworks/QuartzCore.framework/QuartzCore (compatibility version 1.2.0, current version 1223.6.12)
/System/Library/Frameworks/Security.framework/Security (compatibility version 1.0.0, current version 62460.2.3)
/System/Library/Frameworks/SwiftUI.framework/SwiftUI (compatibility version 1.0.0, current version 8.0.85)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 9127.0.85)
/System/Library/Frameworks/VideoToolbox.framework/VideoToolbox (compatibility version 1.0.0, current version 3350.77.1)
/usr/lib/swift/libswiftAVFoundation.dylib (compatibility version 1.0.0, current version 2450.77.1)
/usr/lib/swift/libswiftCore.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/swift/libswiftCoreAudio.dylib (compatibility version 1.0.0, current version 482.102.0, weak)
/usr/lib/swift/libswiftCoreFoundation.dylib (compatibility version 1.0.0, current version 120.100.0)
/usr/lib/swift/libswiftCoreImage.dylib (compatibility version 1.0.0, current version 3.0.0, weak)
/usr/lib/swift/libswiftCoreLocation.dylib (compatibility version 1.0.0, current version 57.0.0, weak)
/usr/lib/swift/libswiftCoreMIDI.dylib (compatibility version 1.0.0, current version 6.0.0, weak)
/usr/lib/swift/libswiftDarwin.dylib (compatibility version 1.0.0, current version 428.0.10, weak)
/usr/lib/swift/libswiftDispatch.dylib (compatibility version 1.0.0, current version 1605.0.2)
/usr/lib/swift/libswiftMetal.dylib (compatibility version 1.0.0, current version 382.5.3, weak)
/usr/lib/swift/libswiftOSLog.dylib (compatibility version 1.0.0, current version 10.0.0, weak)
/usr/lib/swift/libswiftObjectiveC.dylib (compatibility version 1.0.0, current version 973.1.0)
/usr/lib/swift/libswiftQuartzCore.dylib (compatibility version 1.0.0, current version 5.0.0, weak)
/usr/lib/swift/libswiftSpatial.dylib (compatibility version 1.0.0, current version 1.0.0, weak)
/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib (compatibility version 1.0.0, current version 919.0.1)
/usr/lib/swift/libswiftXPC.dylib (compatibility version 1.0.0, current version 167.0.2, weak)
/usr/lib/swift/libswift_Concurrency.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/swift/libswiftos.dylib (compatibility version 1.0.0, current version 1090.0.0)
/usr/lib/swift/libswiftsimd.dylib (compatibility version 1.0.0, current version 25.0.0, weak)
/usr/lib/swift/libswiftCoreGraphics.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/swift/libswiftCoreMedia.dylib (compatibility version 1.0.0, current version 3350.77.1)

So prüfen Sie es: Das App-Store-Paket ist für normale Nutzer nicht zugänglich, dieser Punkt lässt sich also nicht direkt prüfen. Ob die App tatsächlich ins Netz geht, prüfen Sie mit „Netzwerktest: iPhone“ unten.

iOS-System-Backup

Der Tresor-Ordner und die Leinwand der Tarnfunktion sind mit NSURLIsExcludedFromBackupKey markiert und gelangen nicht in iCloud- oder Computer-Backups. Einstellungen werden weiterhin gesichert: Nach einer Wiederherstellung aus einem System-Backup kommen die Einstellungen zurück, der Tresor nicht. Für ein neues Handy exportieren Sie in der App eine Datei mit „Vollständiges verschlüsseltes Backup“. System-Backups von vor 1.2.6 können noch alte Tresorinhalte enthalten.

Datenschutzangaben in den Stores

Diese beiden Angaben haben wir in den Store-Konsolen ausgefüllt. Sie können sie mit den Daten auf dieser Seite vergleichen. Das iOS-Projekt hat keine PrivacyInfo.xcprivacy.

Netzwerktest: iPhone

Methode: Der in iOS eingebaute App-Datenschutzbericht zeichnet die Netzwerkaktivität jeder App auf.

  1. Einstellungen → Datenschutz & Sicherheit → App-Datenschutzbericht, einschalten. Er zeichnet erst ab diesem Moment auf.
  2. Nutzen Sie Photo Enclave normal, einschließlich Fotos und Videos in der App.
  3. Im App-Datenschutzbericht erscheint Photo Enclave unter „Daten- & Sensorzugriff“, der Bericht zeichnet die App also auf. Unter „App-Netzwerkaktivität“ erscheint sie nicht.
  4. Für die Rohdaten tippen Sie unten auf „App-Datenschutzbericht sichern“, kopieren die Datei auf einen Computer und behalten nur die Zeilen der App. Netzwerkeinträge haben den Typ networkActivity.
$ grep src.studio.enclave App_Privacy_Report_v4_*.ndjson > enclave.ndjson
$ grep -o '"type":"[a-zA-Z]*"' enclave.ndjson | sort | uniq -c
  10 "type":"access"

Unser Ergebnis: 24. Oktober 2026, iPhone 15 Pro, iOS 27.0.1, Photo Enclave 1.2.6. Der Bericht deckte etwa 12:18 bis 15:57 Uhr Ortszeit ab. Photo Enclave hatte 10 Zugriffseinträge (Kamera und Mikrofon) und 0 Netzwerkeinträge. Im selben Bericht hatten 6 andere Apps zusammen 22 Netzwerkeinträge, der Bericht hat Netzwerkaktivität in dieser Zeit also aufgezeichnet.

Was das System im Auftrag der App erledigt, etwa die Fotoauswahl, wird dem System zugeordnet.

Netzwerktest: Android

Methode: Mit adb die Netzwerkgruppe, die Sockets und die Datenstatistik des App-Prozesses ansehen. Schalten Sie USB-Debugging ein, lassen Sie Photo Enclave im Vordergrund und führen Sie die Befehle unten aus. Ersetzen Sie 10041 durch die userId auf Ihrem Gerät.

$ adb shell dumpsys package studio.src.safecamera | grep -E 'userId|versionName'
    userId=10041
    versionName=1.2.6.0
$ adb shell cat /proc/$(adb shell pidof studio.src.safecamera)/status | grep Groups
Groups:	9997 20041 50041
$ adb shell cat /proc/net/tcp /proc/net/tcp6 /proc/net/udp /proc/net/udp6 | awk '$8==10041' | wc -l
0
$ adb shell dumpsys netstats detail | grep 'uid=10041'
    uid=10041 set=1

Ohne Computer: Sehen Sie in den App-Details der Systemeinstellungen die Datennutzung von Photo Enclave an (je nach Hersteller „Mobile Daten“ oder „Datennutzung“). Sie sollte 0 sein.

Unser Ergebnis: 24. Oktober 2026, Samsung Galaxy A03s (SM-A037W), Android 13, 1.2.6.0 am selben Tag installiert. Wir haben in der App 3 Fotos aufgenommen und ein 5-Sekunden-Video gedreht und dann die Befehle oben ausgeführt; die Ausgabe ist unverändert. Da die App am selben Tag installiert wurde, deckt netstats ihre gesamte Nutzung ab.

Kontakt

Fragen zu dieser Seite oder ein Ergebnis, das von dem hier gezeigten abweicht: support@src.studio