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 FXIOS-10617 [ToS] Add Glean usage profile id #23254

Merged
merged 13 commits into from
Nov 27, 2024

Conversation

thatswinnie
Copy link
Contributor

@thatswinnie thatswinnie commented Nov 20, 2024

📜 Tickets

Jira ticket
Github issue

💡 Description

Adds the Glean usage profile id.

📝 Checklist

You have to check all boxes before merging

  • Filled in the above information (tickets numbers and description of your work)
  • Updated the PR name to follow our PR naming guidelines
  • Wrote unit tests and/or ensured the tests suite is passing
  • When working on UI, I checked and implemented accessibility (minimum Dynamic Text and VoiceOver)
  • If needed, I updated documentation / comments for complex code and public methods
  • If needed, added a backport comment (example @Mergifyio backport release/v120)

@mobiletest-ci-bot
Copy link

mobiletest-ci-bot commented Nov 20, 2024

Messages
📖 Project coverage: 32.94%
📖 Edited 4 files
📖 Created 0 files

Client.app: Coverage: 31.64

File Coverage
SendDataSetting.swift 63.3%
TelemetryWrapper.swift 67.7%

Generated by 🚫 Danger Swift against 5ab7ffc

@thatswinnie thatswinnie marked this pull request as ready for review November 20, 2024 16:22
@thatswinnie thatswinnie requested a review from a team as a code owner November 20, 2024 16:22
Copy link
Member

@badboy badboy left a comment

Choose a reason for hiding this comment

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

Couple of things inline.

I don't know the Focus iOS codebase, but can I assume the implementation there would look similar then?

firefox-ios/Client/metrics.yaml Outdated Show resolved Hide resolved
firefox-ios/Client/metrics.yaml Outdated Show resolved Hide resolved
firefox-ios/Client/metrics.yaml Outdated Show resolved Hide resolved
firefox-ios/Client/metrics.yaml Show resolved Hide resolved
firefox-ios/Client/Telemetry/TelemetryWrapper.swift Outdated Show resolved Hide resolved
@thatswinnie
Copy link
Contributor Author

I don't know the Focus iOS codebase, but can I assume the implementation there would look similar then?

Yes, it should look similar (I am not super familiar with the Focus code either). The dev that will handle Focus is back next week and will open a PR.

Copy link
Contributor

mergify bot commented Nov 26, 2024

This pull request has conflicts when rebasing. Could you fix it @thatswinnie? 🙏

@thatswinnie
Copy link
Contributor Author

thatswinnie commented Nov 26, 2024

@adudenamedruby @travis79

Request for data collection review form

All questions are mandatory. You must receive review from a data steward peer on your responses to these questions before shipping new data collection.

  1. What questions will you answer with this data?
    It will give us the ability to count profiles.

  2. Why does Mozilla need to answer these questions? Are there benefits for users? Do we need this information to address product or business requirements?
    Understand usage of Firefox iOS. This change allows us to offer Firefox users more granular choices in data collection.

  3. What alternative methods did you consider to answer these questions? Why were they not sufficient?
    There are no other methods

  4. Can current instrumentation answer these questions?
    No.

  5. List all proposed measurements and indicate the category of data collection for each measurement, using the Firefox data collection categories found on the Mozilla wiki.

Note that the data steward reviewing your request will characterize your data collection based on the highest (and most sensitive) category.

Measurement Description Data Collection Category Tracking Bug #
usage.profile_id
Records a UUID uniquely identifying the profile
1 + 4 #23407
  1. Please provide a link to the documentation for this data collection which describes the ultimate data set in a public, complete, and accurate way.
    Firefox iOS Telemetry Dictionary

  2. How long will this data be collected? Choose one of the following:
    Set to never expire

  3. What populations will you measure?

  • Which release channels? All
  • Which countries? All
  • Which locales? All
  • Any other filters? Please describe in detail below.
  1. If this data collection is default on, what is the opt-out mechanism for users?
    The user can opt out

  2. Please provide a general description of how you will analyze this data.
    The data will be analyzed using Glean.

  3. Where do you intend to share the results of your analysis?
    The results will be shared internally through Glean and with advertising partners.

  4. Is there a third-party tool (i.e. not Glean or Telemetry) that you are proposing to use for this data collection? If so:
    No third-party tools are proposed for this data collection.

Copy link
Member

@travis79 travis79 left a comment

Choose a reason for hiding this comment

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

@adudenamedruby @travis79

Request for data collection review form

All questions are mandatory. You must receive review from a data steward peer on your responses to these questions before shipping new data collection.

1. What questions will you answer with this data?
   _It will give us the ability to count profiles._

2. Why does Mozilla need to answer these questions?  Are there benefits for users? Do we need this information to address product or business requirements?
   _Understand usage of Firefox iOS. This change allows us to offer Firefox users more granular choices in data collection._

3. What alternative methods did you consider to answer these questions? Why were they not sufficient?
   _There are no other methods_

4. Can current instrumentation answer these questions?
   _No._

5. List all proposed measurements and indicate the category of data collection for each measurement, using the [Firefox data collection categories](https://wiki.mozilla.org/Data_Collection) found on the Mozilla wiki.

Note that the data steward reviewing your request will characterize your data collection based on the highest (and most sensitive) category.
Measurement Description Data Collection Category Tracking Bug #
usage.profile_id
Records a UUID uniquely identifying the profile 1 + 4 FXIOS-10617

6. Please provide a link to the documentation for this data collection which describes the ultimate data set in a public, complete, and accurate way.
   [Firefox iOS Telemetry Dictionary](https://dictionary.telemetry.mozilla.org/apps/firefox_ios)

7. How long will this data be collected?  Choose one of the following:
   _Set to never expire_

8. What populations will you measure?


* Which release channels? _All_

* Which countries? _All_

* Which locales? _All_

* Any other filters?  Please describe in detail below.


9. If this data collection is default on, what is the opt-out mechanism for users?
   _The user can opt out_

10. Please provide a general description of how you will analyze this data.
    _The data will be analyzed using Glean._

11. Where do you intend to share the results of your analysis?
    _The results will be shared internally through Glean and with advertising partners._

12. Is there a third-party tool (i.e. not Glean or Telemetry) that you are proposing to use for this data collection? If so:
    _No third-party tools are proposed for this data collection._

This has been approved by Mozilla Trust & Legal, I'm providing the data-review+ here as covered by their review and approval.

Copy link
Member

@badboy badboy left a comment

Choose a reason for hiding this comment

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

one last nit, but then good to go!

firefox-ios/Client/Telemetry/TelemetryWrapper.swift Outdated Show resolved Hide resolved
@thatswinnie thatswinnie merged commit f0fc50b into main Nov 27, 2024
6 checks passed
@thatswinnie thatswinnie deleted the wt/FXIOS-10617-Add-Glean-usage-profile-id branch November 27, 2024 14:17
self?.prefs?.removeObjectForKey(PrefsKeys.Usage.profileId)

// set dummy uuid to make sure the previous one is deleted
if let uuid = UUID(uuidString: "beefbeef-beef-beef-beef-beeefbeefbee") {
Copy link
Contributor

Choose a reason for hiding this comment

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

LOL amazing!

Copy link
Contributor

Choose a reason for hiding this comment

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

I didn't knew Winnie liked beef that much

Copy link
Member

Choose a reason for hiding this comment

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

c0ffee (and decaf) were already taken and I couldn't come up with other fun stuff.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

LOL. I like beef and I cannot lie 😇
But seriously, that string actually came from @badboy

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.

7 participants