Skip to content

Conversation

@miasma13
Copy link
Contributor

@miasma13 miasma13 commented Jan 15, 2026

Asana Task/Github Issue: https://app.asana.com/1/137249556945/project/1203936086921904/task/1212759001909418?focus=true

Description

Enable breakageReporting and webInterferenceDetection (with a min. supported version of 7.202.0) on iOS.

Feature change process:

  • I have added a schema to validate this feature change.
  • I have tested this change locally in all supported browsers.
  • This code for the config change is ready to merge.
  • This feature was covered by a tech design.

Site breakage mitigation process:

Brief explanation

  • Reported URL:
  • Problems experienced:
  • Platforms affected:
    • iOS
    • Android
    • Windows
    • MacOS
    • Extensions
  • Tracker(s) being unblocked:
  • Feature being disabled/modified:
  • This change is a speculative mitigation to fix reported breakage.

github-actions bot pushed a commit that referenced this pull request Jan 15, 2026
@github-actions
Copy link

👋 Don't forget to add an individual reviewer (in addition to those auto-added), as this will create a task for them in Asana.

👉 Please mark this as DRAFT unless there's an intention to merge this immediately.
👉 Click "Merge when ready" if you're happy for this to be automatically merged once reviewed. (If not available, ensure you've signed in to DuckDuckGo oauth.)
👉 Don't forget to add schema changes to validate if you're adding/changing a feature.

@github-actions
Copy link

github-actions bot commented Jan 15, 2026

Generated file outputs:

Time updated: Thu, 15 Jan 2026 14:54:53 GMT

legacy
27 files identical
  • trackers-unprotected-temporary.txt
  • v3/android-config.json
  • v3/extension-brave-config.json
  • v3/extension-bravemv3-config.json
  • v3/extension-chrome-config.json
  • v3/extension-chromemv3-config.json
  • v3/extension-config.json
  • v3/extension-edg-config.json
  • v3/extension-edge-config.json
  • v3/extension-edgmv3-config.json
  • v3/extension-firefox-config.json
  • v3/extension-safarimv3-config.json
  • v3/macos-config.json
  • v3/windows-config.json
  • v4/android-config.json
  • v4/extension-brave-config.json
  • v4/extension-bravemv3-config.json
  • v4/extension-chrome-config.json
  • v4/extension-chromemv3-config.json
  • v4/extension-config.json
  • v4/extension-edg-config.json
  • v4/extension-edge-config.json
  • v4/extension-edgmv3-config.json
  • v4/extension-firefox-config.json
  • v4/extension-safarimv3-config.json
  • v4/macos-config.json
  • v4/windows-config.json

⚠️ File is identical

2 files changed
  • v3/ios-config.json
  • v4/ios-config.json
--- v4/ios-config.json (and 1 other files)
+++ v4/ios-config.json
@@ -89589,9 +89589,9 @@
             "state": "enabled",
             "exceptions": []
         },
         "breakageReporting": {
-            "state": "disabled",
+            "state": "enabled",
             "exceptions": [
                 {
                     "domain": "marvel.com"
                 },
@@ -100360,10 +100360,72 @@
                 ]
             }
         },
         "webInterferenceDetection": {
-            "state": "disabled",
-            "exceptions": []
+            "state": "enabled",
+            "exceptions": [],
+            "minSupportedVersion": "7.202.0",
+            "settings": {
+                "autoRunDelayMs": 100,
+                "interferenceTypes": {
+                    "botDetection": {
+                        "cloudflareTurnstile": {
+                            "state": "enabled",
+                            "vendor": "cloudflare",
+                            "selectors": [
+                                ".cf-turnstile",
+                                "script[src*=\"challenges.cloudflare.com\"]"
+                            ],
+                            "windowProperties": [
+                                "turnstile"
+                            ],
+                            "statusSelectors": [
+                                {
+                                    "status": "solved",
+                                    "selectors": [
+                                        "[data-state=\"success\"]"
+                                    ]
+                                },
+                                {
+                                    "status": "failed",
+                                    "selectors": [
+                                        "[data-state=\"error\"]"
+                                    ]
+                                }
+                            ]
+                        },
+                        "hcaptcha": {
+                            "state": "enabled",
+                            "vendor": "hcaptcha",
+                            "selectors": [
+                                ".h-captcha",
+                                "[data-hcaptcha-widget-id]",
+                                "script[src*=\"hcaptcha.com\"]"
+                            ],
+                            "windowProperties": [
+                                "hcaptcha"
+                            ]
+                        }
+                    },
+                    "fraudDetection": {
+                        "phishingWarning": {
+                            "state": "enabled",
+                            "type": "phishing",
+                            "selectors": [
+                                ".warning-banner",
+                                "#security-alert"
+                            ],
+                            "textPatterns": [
+                                "suspicious.*activity",
+                                "unusual.*login"
+                            ],
+                            "textSources": [
+                                "innerText"
+                            ]
+                        }
+                    }
+                }
+            }
         },
         "webViewStateRestoration": {
             "state": "enabled",
             "exceptions": []
latest
13 files identical
  • v5/android-config.json
  • v5/extension-brave-config.json
  • v5/extension-bravemv3-config.json
  • v5/extension-chrome-config.json
  • v5/extension-chromemv3-config.json
  • v5/extension-config.json
  • v5/extension-edg-config.json
  • v5/extension-edge-config.json
  • v5/extension-edgmv3-config.json
  • v5/extension-firefox-config.json
  • v5/extension-safarimv3-config.json
  • v5/macos-config.json
  • v5/windows-config.json

⚠️ File is identical

v5/ios-config.json
--- v5/ios-config.json
+++ v5/ios-config.json
@@ -89589,9 +89589,9 @@
             "state": "enabled",
             "exceptions": []
         },
         "breakageReporting": {
-            "state": "disabled",
+            "state": "enabled",
             "exceptions": [
                 {
                     "domain": "marvel.com"
                 },
@@ -100360,10 +100360,72 @@
                 ]
             }
         },
         "webInterferenceDetection": {
-            "state": "disabled",
-            "exceptions": []
+            "state": "enabled",
+            "exceptions": [],
+            "minSupportedVersion": "7.202.0",
+            "settings": {
+                "autoRunDelayMs": 100,
+                "interferenceTypes": {
+                    "botDetection": {
+                        "cloudflareTurnstile": {
+                            "state": "enabled",
+                            "vendor": "cloudflare",
+                            "selectors": [
+                                ".cf-turnstile",
+                                "script[src*=\"challenges.cloudflare.com\"]"
+                            ],
+                            "windowProperties": [
+                                "turnstile"
+                            ],
+                            "statusSelectors": [
+                                {
+                                    "status": "solved",
+                                    "selectors": [
+                                        "[data-state=\"success\"]"
+                                    ]
+                                },
+                                {
+                                    "status": "failed",
+                                    "selectors": [
+                                        "[data-state=\"error\"]"
+                                    ]
+                                }
+                            ]
+                        },
+                        "hcaptcha": {
+                            "state": "enabled",
+                            "vendor": "hcaptcha",
+                            "selectors": [
+                                ".h-captcha",
+                                "[data-hcaptcha-widget-id]",
+                                "script[src*=\"hcaptcha.com\"]"
+                            ],
+                            "windowProperties": [
+                                "hcaptcha"
+                            ]
+                        }
+                    },
+                    "fraudDetection": {
+                        "phishingWarning": {
+                            "state": "enabled",
+                            "type": "phishing",
+                            "selectors": [
+                                ".warning-banner",
+                                "#security-alert"
+                            ],
+                            "textPatterns": [
+                                "suspicious.*activity",
+                                "unusual.*login"
+                            ],
+                            "textSources": [
+                                "innerText"
+                            ]
+                        }
+                    }
+                }
+            }
         },
         "webViewStateRestoration": {
             "state": "enabled",
             "exceptions": []

@github-actions
Copy link

github-actions bot commented Jan 15, 2026

JSON approval analysis:

Time updated: Thu, 15 Jan 2026 15:05:06 GMT

legacy

❌ Manual Review Required

  • v3/ios-config.json (4 total changes)
    Disallowed paths that require review:
    • /features/webInterferenceDetection/state (replace)
    • /features/webInterferenceDetection/minSupportedVersion (add)
    • /features/webInterferenceDetection/settings (add)
    • /features/breakageReporting/state (replace)
  • v4/ios-config.json (4 total changes)
    Disallowed paths that require review:
    • /features/webInterferenceDetection/state (replace)
    • /features/webInterferenceDetection/minSupportedVersion (add)
    • /features/webInterferenceDetection/settings (add)
    • /features/breakageReporting/state (replace)
latest

❌ Manual Review Required

  • v5/ios-config.json (4 total changes)
    Disallowed paths that require review:
    • /features/webInterferenceDetection/state (replace)
    • /features/webInterferenceDetection/minSupportedVersion (add)
    • /features/webInterferenceDetection/settings (add)
    • /features/breakageReporting/state (replace)

🎯 OVERALL APPROVAL STATUS

❌ MANUAL REVIEW REQUIRED

github-actions bot pushed a commit that referenced this pull request Jan 15, 2026
github-actions bot pushed a commit that referenced this pull request Jan 15, 2026
@miasma13 miasma13 changed the title Enable breakageReporting on iOS Enable breakageReporting and webInterferenceDetection on iOS Jan 15, 2026
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