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-5207 [v108] Telemetry for logins component key regeneration logic #12306

Merged
merged 1 commit into from
Nov 15, 2022

Conversation

lougeniaC64
Copy link
Contributor

@lougeniaC64 lougeniaC64 commented Nov 3, 2022

Jira ticket
#12308
Adding telemetry to the key regeneration logic in the logins component in order to monitor the rates in which we recreate the encryption key. This will help us surface any spikes in encryption key errors similar to the ones we previously noticed.

With the exception of some naming changes suggested by Glean, this is identical to what we have implemented for Android (see here).

@lougeniaC64
Copy link
Contributor Author

lougeniaC64 commented Nov 3, 2022

  1. What questions will you answer with this data?

How often do we regenerate the logins encryption key on iOS? Why do we regenerate it?

  1. Why does Mozilla need to answer these questions? Are there benefits for users? Do we need this information to address product or business requirements? Some example responses:

Regenerating the key means loss of all local logins data. If this happens often then we want to investigate why to try to avoid it.

  1. What alternative methods did you consider to answer these questions? Why were they not sufficient?

No alternatives.

  1. Can current instrumentation answer these questions?

No.

  1. 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.
Measurement Description Data Collection Category Tracking Bug #
When the encryption key is regenerated and why technical data #12308
  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.

This collection is documented in the Glean Dictionary at https://dictionary.telemetry.mozilla.org/

  1. How long will this data be collected? Choose one of the following:

I want this data to be collected indefinitely to monitor for any potential data loss

  1. What populations will you measure?

All channels in all countries in all locales, for Firefox iOS

  1. If this data collection is default on, what is the opt-out mechanism for users?

Standard Firefox telemetry controls

  1. Please provide a general description of how you will analyze this data.

Track the error rates. If we determine they are too high, then we will attempt to address the causes.

  1. Where do you intend to share the results of your analysis?

The SACI and iOS teams

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

No

@lougeniaC64 lougeniaC64 changed the title [WIP] Added telemetry for logins key regeneration Add FXIOS-12308 [v108] Telemetry for logins component key regeneration logic Nov 3, 2022
@lougeniaC64 lougeniaC64 marked this pull request as ready for review November 3, 2022 19:31
@lougeniaC64
Copy link
Contributor Author

cc @nbhasin2 and @mhammond for review

@lougeniaC64 lougeniaC64 changed the title Add FXIOS-12308 [v108] Telemetry for logins component key regeneration logic [DO NOT MERGE] Add FXIOS-12308 [v108] Telemetry for logins component key regeneration logic Nov 3, 2022
@nbhasin2 nbhasin2 added the Do Not Merge ⛔️ This issue is a work in progress and is not ready to land label Nov 3, 2022
@lougeniaC64
Copy link
Contributor Author

Oh, forgot I need to request data review. @travis79 let me know if this should land in your queue or someone else's. Thanks!

@lougeniaC64 lougeniaC64 force-pushed the add-ios-login-key-metrics branch from dc891fe to afd3ac1 Compare November 3, 2022 19:47
Copy link
Contributor

@nbhasin2 nbhasin2 left a comment

Choose a reason for hiding this comment

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

lgtm - data review remaining

@lougeniaC64 lougeniaC64 force-pushed the add-ios-login-key-metrics branch from afd3ac1 to 48bb074 Compare November 3, 2022 19:50
@lougeniaC64 lougeniaC64 changed the title [DO NOT MERGE] Add FXIOS-12308 [v108] Telemetry for logins component key regeneration logic [DO NOT MERGE] Add FXIOS-5207 [v108] Telemetry for logins component key regeneration logic Nov 3, 2022
@lougeniaC64 lougeniaC64 force-pushed the add-ios-login-key-metrics branch 2 times, most recently from 0b0dde0 to 97509b3 Compare November 3, 2022 22:17
@lougeniaC64 lougeniaC64 force-pushed the add-ios-login-key-metrics branch from 97509b3 to 524ea2d Compare November 3, 2022 22:20
Copy link
Contributor

@mhammond mhammond left a comment

Choose a reason for hiding this comment

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

🚢

@travis79
Copy link
Member

travis79 commented Nov 4, 2022

  1. What questions will you answer with this data?

How often do we regenerate the logins encryption key on iOS? Why do we regenerate it?

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? Some example responses:

Regenerating the key means loss of all local logins data. If this happens often then we want to investigate why to try to avoid it.

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

No alternatives.

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.

Measurement Description Data Collection Category Tracking Bug #
When the encryption key is regenerated and why technical data #12308

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.

This collection is documented in the Glean Dictionary at dictionary.telemetry.mozilla.org

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

I want this data to be collected indefinitely to monitor for any potential data loss

8. What populations will you measure?

All channels in all countries in all locales, for Firefox iOS

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

Standard Firefox telemetry controls

10. Please provide a general description of how you will analyze this data.

Track the error rates. If we determine they are too high, then we will attempt to address the causes.

11. Where do you intend to share the results of your analysis?

The SACI and iOS teams

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

No

Data Review

  1. Is there or will there be documentation that describes the schema for the ultimate data set in a public, complete, and accurate way?

Yes, through the metrics.yaml file and the Glean Dictionary.

  1. Is there a control mechanism that allows the user to turn the data collection on and off?

Yes, through the "Send Usage Data" preference in the application settings.

  1. If the request is for permanent data collection, is there someone who will monitor the data over time?

Permanent collection to be monitored by @lougeniaC64

  1. Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?

Category 1, Technical data

  1. Is the data collection request for default-on or default-off?

Default-on

  1. Does the instrumentation include the addition of any new identifiers (whether anonymous or otherwise; e.g., username, random IDs, etc. See the appendix for more details)?

No

  1. Is the data collection covered by the existing Firefox privacy notice?

Yes

  1. Does the data collection use a third-party collection tool?

No

Result

data-review+

@lougeniaC64 lougeniaC64 changed the title [DO NOT MERGE] Add FXIOS-5207 [v108] Telemetry for logins component key regeneration logic Add FXIOS-5207 [v108] Telemetry for logins component key regeneration logic Nov 4, 2022
@nbhasin2 nbhasin2 closed this Nov 14, 2022
@nbhasin2 nbhasin2 reopened this Nov 14, 2022
@nbhasin2
Copy link
Contributor

Closing and reopening to try BR

@nbhasin2
Copy link
Contributor

Merging as the tests not being started is not part of this change

image

@nbhasin2 nbhasin2 merged commit 005b29d into mozilla-mobile:main Nov 15, 2022
@lougeniaC64 lougeniaC64 deleted the add-ios-login-key-metrics branch January 4, 2023 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Do Not Merge ⛔️ This issue is a work in progress and is not ready to land
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants