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

Add privacy manifest #148

Merged
merged 1 commit into from
Dec 20, 2023
Merged

Add privacy manifest #148

merged 1 commit into from
Dec 20, 2023

Conversation

nabs-m
Copy link
Contributor

@nabs-m nabs-m commented Dec 14, 2023

This adds a privacy manifest to the library that declares the reasons for using sensitive APIs. This is a new requirement by Apple and will start being enforced in spring 2024. Any app that consumes Aardvark would get this privacy manifest and doesn't need to redeclare the libraries usage of sensitive APIs.

Out of all sensitive APIs marked by Apple, Aardvark uses 1 file timestamp API, 4 disk space APIs, and the UserDefaults.

Timestamp API

When a bug report is being filed, one of the email attachments lists some files from the app container along with their last modified date. contentModificationDateKey is used here to fetch those dates, which are visible to users in the attachment itself. Below is an example.

This qualifies as reason C617.1 which states:

Declare this reason to access the timestamps, size, or other metadata of files inside the app container, app group container, or the app’s CloudKit container.

File size APIs

Also when a bug report is being filed, in the same attachment as above, disk information is included. This is done here and makes use of the following sensitive APIs:

Below is an example of what this looks like:

This qualifies as reason 7D9E.1 which is specific to filing bug reports and states:

Declare this reason to include disk space information in an optional bug report that the person using the device chooses to submit. The disk space information must be prominently displayed to the person as part of the report.
Information accessed for this reason, or any derived information, may be sent off-device only after the user affirmatively chooses to submit the specific bug report including disk space information, and only for the purpose of investigating or responding to the bug report.

Copy link

@jamieQ jamieQ left a comment

Choose a reason for hiding this comment

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

the additions all seem reasonable to me

@nabs-m nabs-m requested a review from jamieQ December 14, 2023 17:39
@nabs-m nabs-m marked this pull request as ready for review December 20, 2023 16:11
@nabs-m
Copy link
Contributor Author

nabs-m commented Dec 20, 2023

We got rid of UserDefaults references here, so this is ready for review again. Only timestamp and file size APIs are now added to the privacy manifest.

Copy link
Collaborator

@NickEntin NickEntin left a comment

Choose a reason for hiding this comment

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

Thanks for adding this!

<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Declare this reason to access the timestamps, size, or other metadata of files inside the app container, app group container, or the app’s CloudKit container.

Seems right 👍

<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>7D9E.1</string>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Declare this reason to include disk space information in an optional bug report that the person using the device chooses to submit. The disk space information must be prominently displayed to the person as part of the report.

Information accessed for this reason, or any derived information, may be sent off-device only after the user affirmatively chooses to submit the specific bug report including disk space information, and only for the purpose of investigating or responding to the bug report.

Yep 👍

@NickEntin NickEntin merged commit 2ce20b8 into master Dec 20, 2023
2 checks passed
@NickEntin NickEntin deleted the nabs/add-privacy-manifest branch December 20, 2023 23:12
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.

None yet

3 participants