Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Privacy Manifest file #263

Open
GJDK opened this issue Feb 7, 2024 · 7 comments
Open

Privacy Manifest file #263

GJDK opened this issue Feb 7, 2024 · 7 comments

Comments

@GJDK
Copy link

GJDK commented Feb 7, 2024

Hi Team,

I am not able to find the manifest file here in the code. Can you please help with that? As it is mandatory for app update from Spring 2024.

Thanks in advance.

@johnalanwoods
Copy link
Contributor

johnalanwoods commented Feb 7, 2024

Edit: is this required to be signed? If not you can just include it yourself and during the build no?

@johnalanwoods
Copy link
Contributor

Looking at these docs: https://developer.apple.com/support/third-party-SDK-requirements/

It seems: Signatures are also required in these cases where the listed SDKs are used as binary dependencies - which I assume covers Libsodium's C based .a object code.

does this mean Swift-Sodium releases now need to be signed by you @jedisct1 ?

@jedisct1
Copy link
Owner

jedisct1 commented Feb 7, 2024

I'm not sure.

https://developer.apple.com/support/third-party-SDK-requirements/ includes a list of affected SDKs, and sodium is not there.

Looks like SDKs from that list have in common that they can perform network access. Which libsodium does not.

@johnalanwoods
Copy link
Contributor

SDKs that require a privacy manifest and signature
... Any version of a listed SDK, as well as any SDKs that repackage those on the list, are included in the requirement.

Agreed, looks like it's not mandatory for Swift-Sodium, which we can address if the need arises.

Interestingly OpenSSL is on the list.

@jedisct1
Copy link
Owner

OpenSSL can setup network connections, and can be used to exfiltrate information.

@GJDK
Copy link
Author

GJDK commented Feb 13, 2024

Hi @jedisct1 , I believe the listed frameworks are explicit one that apple finds out. But if you go through this https://developer.apple.com/support/third-party-SDK-requirements/#:~:text=This%20functionality%20is%20a%20step%20forward%20for%20all%20apps%2C%20and%20we%20encourage%20all%20SDKs%20to%20adopt%20it%20to%20better%20support%20the%20apps%20that%20depend%20on%20them. we can understand that apple is pushing towards getting the privacy manifest file from the 3rd party SDKs. Hence i request to provide the privacy manifest file. Thanks.

@adamsousa
Copy link

Using this tool to scan my apps binaries, I was able to determine that Swift Sodium uses one of the listed "required reason APIs". These APIs must be included in a privacy manifest, whether it be the third party SDK using it or the app including the binary when submitting to the app store.

Either way, some one has to specify this. Apple recommends third party SDKs specify their "required reason APIs" in their own manifest, that way submitted apps including the binary don't have to.

The required reason API being used are stat and fstat which fall under the File timestamp APIs

Used symbols in binary ./Carthage/Checkouts/swift-sodium/Clibsodium.xcframework/watchos-arm64_32_armv7k/libsodium.a: fstat, stat
Used symbols in binary ./Carthage/Checkouts/swift-sodium/Clibsodium.xcframework/tvos-arm64/libsodium.a: fstat, stat
Used symbols in binary ./Carthage/Checkouts/swift-sodium/Clibsodium.xcframework/ios-arm64_i386_x86_64-simulator/libsodium.a: fstat, stat
Used symbols in binary ./Carthage/Checkouts/swift-sodium/Clibsodium.xcframework/tvos-arm64_x86_64-simulator/libsodium.a: fstat, stat
Used symbols in binary ./Carthage/Checkouts/swift-sodium/Clibsodium.xcframework/ios-arm64_armv7_armv7s/libsodium.a: fstat, stat
Used symbols in binary ./Carthage/Checkouts/swift-sodium/Clibsodium.xcframework/macos-arm64_x86_64/libsodium.a: fstat, stat
Used symbols in binary ./Carthage/Checkouts/swift-sodium/Clibsodium.xcframework/ios-arm64_x86_64-maccatalyst/libsodium.a: fstat, stat
Used symbols in binary ./Carthage/Checkouts/swift-sodium/Clibsodium.xcframework/watchos-arm64_i386_x86_64-simulator/libsodium.a: fstat, stat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants