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

Apple privacy manifest requirements (File timestamp, System boot time & Disk space) #3708

Closed
johnhatvani opened this issue Mar 25, 2024 · 8 comments

Comments

@johnhatvani
Copy link

johnhatvani commented Mar 25, 2024

Hello!

Starting may 1 apple require 3rd parties to describe their use of some API's. doc link.

I have used some tooling to scan our app for usages of these api's and have found the following for this project:

Used symbols in binary ./Sentry/Sentry.framework/Sentry: mach_absolute_time, NSFileCreationDate, NSFileSystemFreeSize, NSFileSystemSize, stat

which maps to these entries which need declarations:

  • NSPrivacyAccessedAPICategoryFileTimestamp
  • NSPrivacyAccessedAPICategorySystemBootTime
  • NSPrivacyAccessedAPICategoryDiskSpace

I can see that the sentry-cocoa library has already made this change, but I cannot see if sentry-react-native depends on this code? or if the reasons there would be the same

Im happy to bring that change across if it will help, But I can also see that the sentry-cooca library does not declare / use NSPrivacyAccessedAPICategoryDiskSpace we are using an older version of the library (5.5.0) so im not sure if later versions remove the need for those API's

If this is already on the radar could you please link to a discussion or I can bring across the manifest used in sentry-cocoa and discuss usage of NSPrivacyAccessedAPICategoryDiskSpace

Thanks.

@alex1092
Copy link

I'm having the same issue

@kahest
Copy link
Member

kahest commented Mar 25, 2024

@johnhatvani we added the privacy manifest stating the required API usages and reasons for this in version 8.11.0 of the sentry-cocoa SDK: getsentry/sentry-cocoa#3259
The latest additions to the privacy manifest have been shipped with 8.21.0. We have no pending changes currently, the latest version of the manifest file contains the APIs you mention above.

Depending on which version of @sentry/react-native you use, you might need to update the dependency to get the manifest file in via the sentry-cocoa SDK.

@kahest kahest moved this from Needs Discussion to Needs More Information in Mobile & Cross Platform SDK Mar 25, 2024
@getsantry getsantry bot moved this to Waiting for: Community in GitHub Issues with 👀 2 Mar 25, 2024
@krystofwoldrich
Copy link
Member

@johnhatvani The cocoa changes are included in https://github.com/getsentry/sentry-react-native/releases/tag/5.19.3 and later releases.

@johnhatvani
Copy link
Author

thank you

@github-project-automation github-project-automation bot moved this from Needs More Information to Done in Mobile & Cross Platform SDK Mar 25, 2024
@sunny131984
Copy link

@johnhatvani may i know which tools you have used to scan required manifest in existing code.

github-merge-queue bot referenced this issue in valora-inc/wallet Apr 24, 2024
### Description

It seems like the Apple privacy manifest requirements were met with
version 5.19.3
(`https://github.com/getsentry/sentry-react-native/issues/3708#issuecomment-2017636873`).

I followed the migration guide
[here](https://docs.sentry.io/platforms/react-native/migration/#from-4x-to-5x).

### Test plan

In Sentry, for iOS and Android:
- I can see an
[error](https://valora-inc.sentry.io/issues/?end=2024-04-24T10%3A59%3A59&environment=org.celo.mobile.alfajores.dev&project=1250733&query=&referrer=issue-list&start=2024-04-24T09%3A00%3A00&utc=true)
and the breadcrumbs
- I can see [performance
traces](https://valora-inc.sentry.io/performance/?end=2024-04-24T10%3A59%3A59&environment=org.celo.mobile.alfajores.dev&project=1250733&start=2024-04-24T09%3A00%3A00&utc=true)

### Related issues

- Related to RET-1058

### Backwards compatibility

<!-- Brief explanation of why these changes are/are not backwards
compatible. -->

### Network scalability

If a new NetworkId and/or Network are added in the future, the changes
in this PR will:

- [x] Continue to work without code changes, OR trigger a compilation
error (guaranteeing we find it when a new network is added)
shottah referenced this issue in zed-io/kolektivo May 15, 2024
### Description

It seems like the Apple privacy manifest requirements were met with
version 5.19.3
(`https://github.com/getsentry/sentry-react-native/issues/3708#issuecomment-2017636873`).

I followed the migration guide
[here](https://docs.sentry.io/platforms/react-native/migration/#from-4x-to-5x).

### Test plan

In Sentry, for iOS and Android:
- I can see an
[error](https://valora-inc.sentry.io/issues/?end=2024-04-24T10%3A59%3A59&environment=org.celo.mobile.alfajores.dev&project=1250733&query=&referrer=issue-list&start=2024-04-24T09%3A00%3A00&utc=true)
and the breadcrumbs
- I can see [performance
traces](https://valora-inc.sentry.io/performance/?end=2024-04-24T10%3A59%3A59&environment=org.celo.mobile.alfajores.dev&project=1250733&start=2024-04-24T09%3A00%3A00&utc=true)

### Related issues

- Related to RET-1058

### Backwards compatibility

<!-- Brief explanation of why these changes are/are not backwards
compatible. -->

### Network scalability

If a new NetworkId and/or Network are added in the future, the changes
in this PR will:

- [x] Continue to work without code changes, OR trigger a compilation
error (guaranteeing we find it when a new network is added)
@sleekLancelot
Copy link

Hi guys, i am bit confused on this issue, do i need to generate said manifest file, or has this been handled by sentry?

@kahest
Copy link
Member

kahest commented May 24, 2024

Hey @sleekLancelot, thanks for asking - as far as we can, we handle this, but depending on your setup you may need to perform specific steps. We added documentation for this, see here: https://docs.sentry.io/platforms/react-native/data-management/apple-privacy-manifest/

Please let us know if this doesn't answer your questions

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

No branches or pull requests

7 participants