Add FXIOS-15343 [AI Kill Switch] Add nimbus context value for disabling AI#32929
Add FXIOS-15343 [AI Kill Switch] Add nimbus context value for disabling AI#32929
Conversation
| - 'https://github.com/mozilla-mobile/firefox-ios/issues/23736' | ||
| - 'https://mozilla-hub.atlassian.net/browse/FXIOS-15343' | ||
| data_reviews: | ||
| - 'https://github.com/mozilla-mobile/firefox-ios/pull/23737#issuecomment-2541639916' |
There was a problem hiding this comment.
Please add a data-review request to this ticket and flag a data steward c.f. https://wiki.mozilla.org/Data_Collection
Please add the completed data-review to the data_reviews section (following the format of the existing link, i.e., link to the comment where the data review is granted.)
💪 Quality guardian1 tests files modified. You're a champion of test coverage! 🚀 🧹 Tidy commitJust 5 file(s) touched. Thanks for keeping it clean and review-friendly! 📊 Telemetry changes detectedChanges with additions detected in Glean telemetry files: Any additions to telemetry will require a data review. Please fill out a data review form (found in the data review repo) as necessary, and tag @adudenamedruby for data review. ✅ New file code coverageNo new file detected so code coverage gate wasn't ran. Client.app: Coverage: 39.39
Generated by 🚫 Danger Swift against 426f94f |
Request for data collection review formAll questions are mandatory. You must receive review from a data steward peer on your responses to these questions before shipping new data collection.
Note that the data steward reviewing your request will characterize your data collection based on the highest (and most sensitive) category.
No |
|
@freshstrangemusic data review added |
| - 'https://mozilla-hub.atlassian.net/browse/FXIOS-15343' | ||
| data_reviews: | ||
| - 'https://github.com/mozilla-mobile/firefox-ios/pull/23737#issuecomment-2541639916' | ||
| - 'https://github.com/mozilla-mobile/firefox-ios/pull/32929' |
There was a problem hiding this comment.
We still need the actual data review to be granted. This is just the request
When a data steward signs off on this, please update the URL here to point to the comment they leave.
Because * The risk_ai flag on experiments currently only generates targeting for Desktop using the `browser.ai.control.default` preference * Fenix ([Bug 2028993](https://bugzilla.mozilla.org/show_bug.cgi?id=2028993) / [D291861](https://phabricator.services.mozilla.com/D291861)) and iOS (mozilla-mobile/firefox-ios#32929) have added `user_disabled_ai` to their RecordedNimbusContext, shipping in v151 * Experiments using AI features need to exclude mobile users who have opted out of AI functionality This commit * Adds `user_disabled_ai == false` targeting expression when `risk_ai` is true and the application is Fenix or iOS * Adds version validation requiring >= v151 for mobile apps with `risk_ai` enabled * Adds model and serializer tests for both Fenix and iOS Fixes #15160
|
r+ Data Review Form1) Is there or will there be documentation that describes the schema for the ultimate data set in a public, complete, and accurate way? Yes, telemetry is documented at https://dictionary.telemetry.mozilla.org/apps/firefox_ios 2) Is there a control mechanism that allows the user to turn the data collection on and off? Yes, Firefox iOS provides data controls in the app settings 3) If the request is for permanent data collection, is there someone who will monitor the data over time? This will be reviewed by a data-steward on the Firefox iOS team (@adudenamedruby) yearly. 4) Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under? Type 2 5) Is the data collection request for default-on or default-off? Default on 6) 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 7) Is the data collection covered by the existing Firefox privacy notice? Yes 8) Does the data collection use a third-party collection tool? No |
ih-codes
left a comment
There was a problem hiding this comment.
Might also be useful to add a unit test for the false case if you think it makes sense!
I'll approve from a telemetry naming perspective.
| type: boolean | ||
| has_accepted_terms_of_use: | ||
| type: boolean | ||
| user_disabled_ai: |
There was a problem hiding this comment.
Maybe we should continue with the has/is boolean naming pattern? 🤔 has_user_disabled_ai ?
There was a problem hiding this comment.
I went back and forth on this one... I wasn't sure if it mattered at all if our naming patterns were consistent with Android's implementation https://phabricator.services.mozilla.com/D291861
There was a problem hiding this comment.
Ahh... well, the probe wasn't named by us anyway, so even though we prefer iOS naming consistency, I don't feel strongly on this. If every single other field here already matches between iOS and Android let's keep with that.
|
This pull request has conflicts when rebasing. Could you fix it @Cramsden? 🙏 |
📜 Tickets
Jira ticket
💡 Description
Add
userDisabledAIto RecordedNimbusContext. So that users are excluded from additional AI feature experiments. Similar android PR https://phabricator.services.mozilla.com/D291861📝 Checklist