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

System profiler privacy and transparency #1690

Conversation

pilky
Copy link
Contributor

@pilky pilky commented Nov 29, 2020

This PR adds some fixes and enhancements to system profiling. Specifically it adds 2 things:

  • Add SPUUpdater.systemProfileArray property. This allows developers to access this information to display to users
  • Add filtering of system profile array (via -[SPUUpdaterDelegate allowedSystemProfileKeysForUpdater:]). This helps developers improve privacy by choosing which profile items to collect and send with update requests. This filtering happens before any additional feed parameters are added.

It also fixes 2 issues with the system profile code:

  • Fix an issue with the CPU type property that caused the incorrect value to be returned for ARM/Apple Silicon
  • Update a few types in code that incorrectly assumed the profile array had the type NSArray<NSString *, NSString *> (some values are NSNumbers)

This is partly related to #1616 and has been implemented on the 2.x branch

This image provides an example of what these changes enable https://coppiceapp.com/images/blog/designing_for_privacy/privacy-sheet.png

pilky added 4 commits November 3, 2020 10:01
- Expose the system profile array publicly
- Fix the type of the returned value
- Added SPUDelegate method to allow filtering of system profile array
- Expose SUSystemProfiler key constants for cleaner use of the delegate method
@kornelski kornelski merged commit eac4522 into sparkle-project:2.x Nov 30, 2020
@kornelski
Copy link
Member

Thank you

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