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

feat(ios): Resource Bundle to provide the Privacy Manifest #516

Merged
merged 1 commit into from
Oct 4, 2024

Conversation

breautek
Copy link

No data is collected in accordance to Apple's definition of collected data.

https://developer.apple.com/app-store/app-privacy-details/#data-collection

“Collect” refers to transmitting data off the device in a way that allows you and/or your third-party partners to access it for a period longer than what is necessary to service the transmitted request in real time.

There is one API that requires a declared reason to use, the NSUserDefaults API. The code is in the base Diagnostic utility class so it's available/used regardless of modules instead, but the actual execution path is only ever invoked through the Motion module.

It uses the standard user defaults object which is private to the application. CA92.1 appears to the best reason description, which describes that the SDK reads and writes information that is only accessible by the app itself and not to other apps or processes.

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Documentation changes
  • Other... Please describe: iOS Privacy Manifest Requirements

What is the purpose of this PR?

Adds a resource bundle which contains a privacy manifest declaring required parameters for this plugin. This in itself is not a breaking change, but does require XCode 15 to use. Older XCode versions will simply ignore privacy manifest files.

No actual code changes have been made.

Does this PR introduce a breaking change?

  • Yes
  • No

What testing has been done on the changes in the PR?

This pattern has been tested on several other apache plugins, including the device plugin and file plugin.

What testing has been done on existing functionality?

Other information

CA92.1 is a Apple code which stands for:

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.

No data is collected in accordance to Apple's definition of collected data.

https://developer.apple.com/app-store/app-privacy-details/#data-collection

“Collect” refers to transmitting data off the device in a way that allows you and/or your third-party partners to access it for a period longer than what is necessary to service the transmitted request in real time.

There is one API that requires a declared reason to use, the NSUserDefaults API.
The code is in the base Diagnostic utility class so it's available/used regardless of modules instead, but the actual execution path is only ever invoked through the Motion module.

It uses the standard user defaults object which is private to the application. CA92.1 appears to the best reason description, which describes that the SDK reads and writes information that is only
accessible by the app itself and not to other apps or processes.
@dpa99c dpa99c merged commit 613b071 into dpa99c:master Oct 4, 2024
@breautek breautek deleted the privacy-manifest branch October 4, 2024 13:27
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