Skip to content

Added Privacy Manifest for both Library and Example App #513

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

Merged
merged 2 commits into from
Sep 26, 2023

Conversation

dinesharjani
Copy link
Contributor

The APIs accessed are really under the purview of the ZIP Foundation library the library itself uses. But given that we might rely on older versions of library dependencies for the sake of convenience & compatibility (until something breaks), I thought it was prudent to add it ourselves as part of what our library does. After all, if we drop ZIPFoundation it's up to us, as library providers, to pick up the slack.

The APIs accessed are really under the purview of the ZIP Foundation library the library itself uses. But given that we might rely on older versions of library dependencies for the sake of convenience & compatibility (until something breaks), I thought it was prudent to add it ourselves as part of what our library does. After all, if we drop ZIPFoundation it's up to us, as library providers, to pick up the slack.
@philips77
Copy link
Member

Could you remove the 2 reasons and add only one: 3B52.1.

3B52.1: Declare this reason to access the timestamps of files or directories that the user specifically granted access to, such as using a document picker view controller.

@philips77
Copy link
Member

Also, for the App I think we need to add User Default APIs with the reason CA92.1:

CA92.1: Declare this reason to access user defaults to read and write information that is only accessible to the app itself.

This reason does not permit reading information that was written by other apps or the system, or writing information that can be accessed by other apps.

We're not using UserDefault directly, but with AppStorage:

@AppStorage("packetsReceiptNotification")
var packetsReceiptNotification: Bool = false
@AppStorage("numberOfPackets")
var numberOfPackets: Int = 23
@AppStorage("alternativeAdvertisingNameEnabled")
var alternativeAdvertisingNameEnabled: Bool = true
@AppStorage("externalMcuDfu")
var externalMcuDfu: Bool = false
@AppStorage("disableResume")
var disableResume: Bool = false
@AppStorage("forceScanningInLegacyDfu")
var forceScanningInLegacyDfu: Bool = false
@AppStorage("showWelcomeScreen")
var showWelcomeScreen: Bool = true

@philips77
Copy link
Member

Also, @dinesharjani, is it the right place to put the PrivacyInfo.xcprovacy file in? A root folder of the repo?

Copy link
Member

@philips77 philips77 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comments above.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add NSPrivacyAccessedAPIType with type "User defaults APIs" and reason CA92.1.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see UserDefaults used by DFU Example App. It's used by McuManager Example app. But if you want me to, I'll add it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I said, the app is using @AppStorage properties.

@dinesharjani
Copy link
Contributor Author

Also, @dinesharjani, is it the right place to put the PrivacyInfo.xcprovacy file in? A root folder of the repo?

It was not picked up by Git if I put it in a folder. I don't know the specifics of what the .gitignore or whatever rules are, so I put it in the root folder like Apple recommended.

@dinesharjani dinesharjani merged commit 440c591 into NordicSemiconductor:main Sep 26, 2023
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

Successfully merging this pull request may close these issues.

2 participants