duckduckgo / privacy-configuration

🎛 Configuration files used by DuckDuckGo's apps and extensions to control which privacy protections are enabled.
Other
119 stars 62 forks source link

Add API modification feature and respective schema for variadic features #2510

Open jonathanKingston opened 5 days ago

jonathanKingston commented 5 days ago

Asana Task/Github Issue: https://app.asana.com/0/1201048563534612/1208614628263743/f

Description

Add support for API modification. Also adds schema files for any variadic feature we have.

Feature change process:

Additional info:

Reference

github-actions[bot] commented 5 days ago

Don't forget to assign an individual reviewer (in addition to those already added, this should create a task for them in Asana). Please mark this as draft unless there's intention to merge this. Click the "Merge When Ready" if you're happy for this to automatically get merged once reviewed. Also don't forget to add schema changes to validate if you're adding/changing a feature.

github-actions[bot] commented 5 days ago

Generated file outputs:

Time updated: Sat, 23 Nov 2024 22:11:06 GMT

legacy
trackers-unprotected-temporary.txt ⚠️ File is identical
v3/android-config.json (11 more) - v3/android-config.json - v3/extension-brave-config.json - v3/extension-bravemv3-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/ios-config.json - v3/macos-config.json ```diff --- v3/macos-config.json +++ v3/macos-config.json @@ -156,8 +156,12 @@ "androidNewStateKillSwitch": { "exceptions": [], "state": "disabled" }, + "apiManipulation": { + "state": "disabled", + "exceptions": [] + }, "autocompleteTabs": { "state": "enabled", "exceptions": [] }, ```
v3/extension-chrome-config.json (1 more) - v3/extension-chrome-config.json - v3/windows-config.json ```diff --- v3/windows-config.json +++ v3/windows-config.json @@ -133,8 +133,64 @@ "androidNewStateKillSwitch": { "exceptions": [], "state": "disabled" }, + "apiManipulation": { + "state": "enabled", + "exceptions": [], + "settings": { + "apiChanges": { + "Navigator.prototype.joinAdInterestGroup": { + "type": "remove" + }, + "Navigator.prototype.leaveAdInterestGroup": { + "type": "remove" + }, + "Navigator.prototype.clearOriginJoinedAdInterestGroups": { + "type": "remove" + }, + "Navigator.prototype.updateAdInterestGroups": { + "type": "remove" + }, + "Navigator.prototype.createAuctionNonce": { + "type": "remove" + }, + "Navigator.prototype.runAdAuction": { + "type": "remove" + }, + "Navigator.prototype.adAuctionComponents": { + "type": "remove" + }, + "Navigator.prototype.deprecatedURNToURL": { + "type": "remove" + }, + "Navigator.prototype.deprecatedReplaceInURN": { + "type": "remove" + }, + "Navigator.prototype.getInterestGroupAdAuctionData": { + "type": "remove" + }, + "Navigator.prototype.createAdRequest": { + "type": "remove" + }, + "Navigator.prototype.finalizeAd": { + "type": "remove" + }, + "Navigator.prototype.canLoadAdAuctionFencedFrame": { + "type": "remove" + }, + "Navigator.prototype.deprecatedRunAdAuctionEnforcesKAnonymity": { + "type": "remove" + }, + "Navigator.prototype.protectedAudience": { + "type": "descriptor", + "getterValue": { + "type": "undefined" + } + } + } + } + }, "autocompleteTabs": { "state": "enabled", "exceptions": [] }, ```
latest
v4/android-config.json (11 more) - v4/android-config.json - v4/extension-brave-config.json - v4/extension-bravemv3-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/ios-config.json - v4/macos-config.json ```diff --- v4/macos-config.json +++ v4/macos-config.json @@ -146,8 +146,12 @@ "androidNewStateKillSwitch": { "exceptions": [], "state": "disabled" }, + "apiManipulation": { + "state": "disabled", + "exceptions": [] + }, "autocompleteTabs": { "state": "enabled", "exceptions": [] }, ```
v4/extension-chrome-config.json (1 more) - v4/extension-chrome-config.json - v4/windows-config.json ```diff --- v4/windows-config.json +++ v4/windows-config.json @@ -125,8 +125,64 @@ "androidNewStateKillSwitch": { "exceptions": [], "state": "disabled" }, + "apiManipulation": { + "state": "enabled", + "exceptions": [], + "settings": { + "apiChanges": { + "Navigator.prototype.joinAdInterestGroup": { + "type": "remove" + }, + "Navigator.prototype.leaveAdInterestGroup": { + "type": "remove" + }, + "Navigator.prototype.clearOriginJoinedAdInterestGroups": { + "type": "remove" + }, + "Navigator.prototype.updateAdInterestGroups": { + "type": "remove" + }, + "Navigator.prototype.createAuctionNonce": { + "type": "remove" + }, + "Navigator.prototype.runAdAuction": { + "type": "remove" + }, + "Navigator.prototype.adAuctionComponents": { + "type": "remove" + }, + "Navigator.prototype.deprecatedURNToURL": { + "type": "remove" + }, + "Navigator.prototype.deprecatedReplaceInURN": { + "type": "remove" + }, + "Navigator.prototype.getInterestGroupAdAuctionData": { + "type": "remove" + }, + "Navigator.prototype.createAdRequest": { + "type": "remove" + }, + "Navigator.prototype.finalizeAd": { + "type": "remove" + }, + "Navigator.prototype.canLoadAdAuctionFencedFrame": { + "type": "remove" + }, + "Navigator.prototype.deprecatedRunAdAuctionEnforcesKAnonymity": { + "type": "remove" + }, + "Navigator.prototype.protectedAudience": { + "type": "descriptor", + "getterValue": { + "type": "undefined" + } + } + } + } + }, "autocompleteTabs": { "state": "enabled", "exceptions": [] }, ```