Ausfuhr-Erklärung zur Verschlüsselung hinterlegt
ITSAppUsesNonExemptEncryption: false in der Info.plist. Damit entfällt das „Missing Compliance" bei jedem neuen Build in App Store Connect. Die Erklärung trifft zu: die App nutzt ausschließlich Verschlüsselung des Betriebssystems — HTTPS über URLSession und den Schlüsselbund für die Tokens. Eigene Algorithmen gibt es keine; im Quelltext steht nur ein `import Security`, und das für SecItemAdd und SecItemCopyMatching. Als Vorbehalt im Quelltext vermerkt: VLCKit ist ein fremdes Binary mit eigenen Netzwerkbibliotheken. Solange nur Dateien vom eigenen Server laufen, bleibt es bei Standardverfahren — käme etwas mit eigener Verschlüsselung dazu, gehört der Wert überprüft. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -31,6 +31,8 @@
|
|||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
|
<key>ITSAppUsesNonExemptEncryption</key>
|
||||||
|
<false/>
|
||||||
<key>NSAppTransportSecurity</key>
|
<key>NSAppTransportSecurity</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>NSAllowsLocalNetworking</key>
|
<key>NSAllowsLocalNetworking</key>
|
||||||
|
|||||||
@@ -922,6 +922,56 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"downloads.quality.approx %@ %@" : {
|
||||||
|
"comment" : "Platzhalter: Stufenname, geschätzte Größe",
|
||||||
|
"extractionState" : "stale",
|
||||||
|
"localizations" : {
|
||||||
|
"de" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "%@ · etwa %@"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "%@ · about %@"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"downloads.quality.hint" : {
|
||||||
|
"localizations" : {
|
||||||
|
"de" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "Niedrigere Stufen rechnet der Server unterwegs herunter. Das dauert länger, spart aber deutlich Platz."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "Lower levels are transcoded by the server. That takes longer but saves a lot of space."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"downloads.quality.title" : {
|
||||||
|
"localizations" : {
|
||||||
|
"de" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "In welcher Qualität?"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "Which quality?"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"downloads.queued" : {
|
"downloads.queued" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"de" : {
|
"de" : {
|
||||||
@@ -3110,6 +3160,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"signIn.manualHint" : {
|
||||||
|
"comment" : "Hinweis, wenn die Browser-Verknüpfung nicht greift",
|
||||||
|
"localizations" : {
|
||||||
|
"de" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "Hat das Fenster nicht verknüpft? Öffne plex.tv/link und gib diesen Code ein:"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "Window didn't link? Open plex.tv/link and enter this code:"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"signIn.privacy" : {
|
"signIn.privacy" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"de" : {
|
"de" : {
|
||||||
@@ -3583,72 +3650,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"signIn.manualHint": {
|
|
||||||
"comment": "Hinweis, wenn die Browser-Verknüpfung nicht greift",
|
|
||||||
"localizations": {
|
|
||||||
"de": {
|
|
||||||
"stringUnit": {
|
|
||||||
"state": "translated",
|
|
||||||
"value": "Hat das Fenster nicht verknüpft? Öffne plex.tv/link und gib diesen Code ein:"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"en": {
|
|
||||||
"stringUnit": {
|
|
||||||
"state": "translated",
|
|
||||||
"value": "Window didn't link? Open plex.tv/link and enter this code:"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"downloads.quality.title": {
|
|
||||||
"localizations": {
|
|
||||||
"de": {
|
|
||||||
"stringUnit": {
|
|
||||||
"state": "translated",
|
|
||||||
"value": "In welcher Qualität?"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"en": {
|
|
||||||
"stringUnit": {
|
|
||||||
"state": "translated",
|
|
||||||
"value": "Which quality?"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"downloads.quality.hint": {
|
|
||||||
"localizations": {
|
|
||||||
"de": {
|
|
||||||
"stringUnit": {
|
|
||||||
"state": "translated",
|
|
||||||
"value": "Niedrigere Stufen rechnet der Server unterwegs herunter. Das dauert länger, spart aber deutlich Platz."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"en": {
|
|
||||||
"stringUnit": {
|
|
||||||
"state": "translated",
|
|
||||||
"value": "Lower levels are transcoded by the server. That takes longer but saves a lot of space."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"downloads.quality.approx %@ %@": {
|
|
||||||
"comment": "Platzhalter: Stufenname, geschätzte Größe",
|
|
||||||
"localizations": {
|
|
||||||
"de": {
|
|
||||||
"stringUnit": {
|
|
||||||
"state": "translated",
|
|
||||||
"value": "%@ · etwa %@"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"en": {
|
|
||||||
"stringUnit": {
|
|
||||||
"state": "translated",
|
|
||||||
"value": "%@ · about %@"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version" : "1.1"
|
"version" : "1.1"
|
||||||
|
|||||||
+18
@@ -100,6 +100,24 @@ targets:
|
|||||||
CFBundleURLSchemes:
|
CFBundleURLSchemes:
|
||||||
- com.scarriffleservices.flixy
|
- com.scarriffleservices.flixy
|
||||||
|
|
||||||
|
# Die Ausfuhr-Erklärung zur Verschlüsselung.
|
||||||
|
#
|
||||||
|
# `false` heißt: die App nutzt ausschließlich Verschlüsselung, die
|
||||||
|
# unter die Ausnahmeregelung fällt. Das trifft hier zu — HTTPS über
|
||||||
|
# URLSession und der Schlüsselbund für die Tokens, beides vom
|
||||||
|
# Betriebssystem gestellt. Eigene Algorithmen gibt es keine.
|
||||||
|
#
|
||||||
|
# Ohne diesen Eintrag fragt App Store Connect bei JEDEM Build erneut
|
||||||
|
# („Missing Compliance"), und der Build lässt sich bis dahin nicht
|
||||||
|
# verteilen.
|
||||||
|
#
|
||||||
|
# Zu beachten, falls sich das ändert: VLCKit ist ein fremdes Binary
|
||||||
|
# und bringt eigene Netzwerkbibliotheken mit. Solange nur Dateien vom
|
||||||
|
# eigenen Server abgespielt werden, bleibt es bei Standardverfahren.
|
||||||
|
# Käme irgendwann etwas mit eigener Verschlüsselung dazu — DRM etwa —,
|
||||||
|
# gehört dieser Wert überprüft.
|
||||||
|
ITSAppUsesNonExemptEncryption: false
|
||||||
|
|
||||||
# Ohne diesen Schlüssel lehnt ActivityKit jede Anfrage ab — und
|
# Ohne diesen Schlüssel lehnt ActivityKit jede Anfrage ab — und
|
||||||
# zwar wortlos, was die Suche nach dem Grund unangenehm macht.
|
# zwar wortlos, was die Suche nach dem Grund unangenehm macht.
|
||||||
NSSupportsLiveActivities: true
|
NSSupportsLiveActivities: true
|
||||||
|
|||||||
Reference in New Issue
Block a user