Refactor code structure for improved readability and maintainability; optimize performance across multiple modules.
All checks were successful
Deploy to production / deploy (push) Successful in 2m56s
All checks were successful
Deploy to production / deploy (push) Successful in 2m56s
This commit is contained in:
37
android/SECURITY.md
Normal file
37
android/SECURITY.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Native Android Security
|
||||
|
||||
## Umgesetzte Schutzmaßnahmen
|
||||
|
||||
- Die Sitzung liegt ausschließlich in `EncryptedSharedPreferences` mit Android-Master-Key.
|
||||
- Release-Builds enthalten keinen HTTP-Body-Logger. Der detaillierte OkHttp-Logger ist auf
|
||||
Nicht-Release-Builds begrenzt.
|
||||
- Release-Netzwerkverkehr erlaubt kein Cleartext. Nur der lokale Debug-Flavor darf
|
||||
`10.0.2.2` und `localhost` per HTTP ansprechen.
|
||||
- Chat, Galerie, Persönliches und der Adult-Bereich setzen `FLAG_SECURE`. Damit verhindert
|
||||
Android Screenshots, Bildschirmaufnahmen und die Anzeige im App-Switcher.
|
||||
- Uploads werden vor dem Service auf einen erlaubten MIME-Typ und eine Größe begrenzt:
|
||||
Bilder/Verifikationsnachweise 10 MiB, Videos 100 MiB. Bilder werden zusätzlich durch
|
||||
Sharp dekodiert, damit ein behaupteter MIME-Typ nicht genügt.
|
||||
|
||||
## Bewusste Entscheidungen
|
||||
|
||||
### Certificate Pinning
|
||||
|
||||
Certificate Pinning wird aktuell **nicht** erzwungen. Die API verwendet HTTPS und die
|
||||
plattformseitige Trust-Store-Prüfung. Pinning würde bei Zertifikats- oder CDN-Wechseln ohne
|
||||
App-Update zu vollständigen Ausfällen führen. Es wird erst eingeführt, wenn es mindestens zwei
|
||||
parallel gültige Pins, ein dokumentiertes Rotation-Verfahren und Monitoring für Pin-Fehler gibt.
|
||||
|
||||
### Root- und Bootloader-Erkennung
|
||||
|
||||
Die App blockiert gerootete Geräte nicht. Eine lokale Erkennung ist umgehbar und würde legitime
|
||||
Nutzer sowie Emulator-Tests ausschließen. Sensible Daten bleiben verschlüsselt, Screenshots in
|
||||
sensiblen Bereichen sind gesperrt und Berechtigungen werden auf dem Server durchgesetzt.
|
||||
Play Integrity wird bei späteren Hochrisiko-Aktionen als serverseitig prüfbares Signal bewertet,
|
||||
nicht als pauschale Startblockade.
|
||||
|
||||
## Dependency Scanning
|
||||
|
||||
`.github/workflows/android-security.yml` führt bei Pull Requests und Pushes einen
|
||||
OSV-Abhängigkeitsscan sowie Android-Lint für den Produktions-Release aus. Kritische Findings
|
||||
werden vor einem Release bewertet.
|
||||
Reference in New Issue
Block a user