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 Brave's Shields setting to brave://settings/content #12782

Closed
ashutoshsaboo opened this issue Nov 19, 2020 · 12 comments · Fixed by brave/brave-core#14893
Closed

Add Brave's Shields setting to brave://settings/content #12782

ashutoshsaboo opened this issue Nov 19, 2020 · 12 comments · Fixed by brave/brave-core#14893
Assignees
Labels
design A design change, especially one which needs input from the design team enterprise feature/shields The overall Shields feature in Brave. feature-request OS/Desktop priority/P2 A bad problem. We might uplift this to the next planned release. QA Pass-Linux QA Pass-macOS QA Pass-Win64 QA/Test-All-Platforms QA/Yes release-notes/include

Comments

@ashutoshsaboo
Copy link

ashutoshsaboo commented Nov 19, 2020

Description (edited by @bsclifton)

brave://settings/content currently shows Permissions and Content settings.

We should also show Shield settings:

  • Shield status (up / down or enabled / disabled)
  • Upgrade connections to HTTPS (true / false)

image

When showing these, folks would be able to go to a details page for each type of shield setting. For example:

  • brave://settings/content/shieldsStatus
  • brave://settings/content/shieldsUpgrade
  • etc

On that page, folks could view / edit / manually add a domain (including wildcard). Something that looks like this (this is an example taken from Pop-ups and redirects)
image
image

Excluded scope

  1. Shields up/down should NOT have a default setting that can be toggled (ex: global scope). This should require a pattern to be added
  2. For some of the shield settings are going to require more thought. For example, it might make sense to consolidate with the existing Chromium UI
    • Cookies (Allow all cookies / Block cross-site cookies / Block all cookies). We may update brave://settings/cookies to cover the Shields's cookie settings
    • Block scripts (true / false). We may update brave://settings/content/javascript to cover the Shield's Block scripts setting
    • Adblock (Aggressively block trackers & ads, Block trackers & ads, Allow all trackers & ads) and Fingerprinting (Allow fingerprinting / Block fingerprinting / Aggressively block fingerprinting) - we may want to treat this specially (ex: use ASK for standard mode instead of DEFAULT. That means we can add them to settings, but only after that change is made)

Original issue description

Currently on brave the only way to change site specific shield settings is by going to the domain, and going over the shield icon and changing to desired domain-level privacy settings. However if a domain X does a temporary 302 redirect automatically to Y, then with such a setting users can only change privacy settings for Y (because X would only be momentarily be there in the browser address bar). Similar to site settings page URL pattern - brave://settings/content/siteDetails?site=https%3A%2F%2Fgithub.com - can we include a feature to modify brave domain level shield settings also over there? That'd be an additional ingress point, which can be very easily accessed here - brave://settings/content/siteDetails?site=<HTML encoded domain url>.

Or is there any alternative currently to modify domain level shield settings for the domain X in the above use-case (I couldn't find one)?

@rebron rebron added the feature/shields The overall Shields feature in Brave. label Nov 23, 2020
@Dryader
Copy link

Dryader commented Dec 3, 2020

Are you talking about setting a shield setting for 1 domain and then any redirects after will have the same shield setting?
Such as https://coveryourtracks.eff.org/ if you set the shield setting for that domain and as it redirects you through other websites (In this case it is testing how well your browser can be fingerprinted) they will all have the same shield setting as well?
Since domain X is only there for a second and will have your global shield settings enabled anyways on that domain as well as domain Y will as well, I don't see the point of such a feature.

@ashutoshsaboo
Copy link
Author

I'm talking about a 302 temporary redirect here. So let's say if domain X does a 302 redirect to domain Y for authentication/SSO and to view Y in the first place it requires that shields need to be turned off for domain X. In that case how would you achieve that?

My organization has some internal sites which require the shields to be disabled for authentication to work correctly as it relies on cross domain cookies. This is not a problem with the sites, and it's just how the authentication works for us internally. It's something like you go to domain X, it checks if you're already authenticated then lets you view the webpage ; and if not it does a 302 temporary redirect to domain Y where you can authenticate yourself. Now this redirection is super quick, and you can't really freeze the browser at domain X easily to change shield settings. I believe this to be a common use-case for several other organizations' internal websites as well.

I wouldn't want to relax my global shield settings just for these specific internal sites to work correctly so in this case just relaxing for domain X via some ingress point would help solve this problem. Alternatively, as you mention for 302 redirection from X to Y, if I want to have stricter shield settings for X (more stricter than my global as a override) but less stricter for Y - all kinds of these cases how would you achieve without a proper ingress point?

I'm not sure if there's any alternative to achieve this already currently, so feel free to provide alternatives if any! :)

@bsclifton bsclifton changed the title Site specific shield settings UI to manually add Shield settings for a domain Apr 12, 2021
@bsclifton
Copy link
Member

Updated issue title - this is a great feature request. We may also want to consider allowing all subdomains on a domain (see #5290 for more info)

@rebron rebron self-assigned this Apr 13, 2021
@rebron rebron added the priority/P3 The next thing for us to work on. It'll ride the trains. label Jun 15, 2021
@diracdeltas diracdeltas added priority/P4 Planned work. We expect to get to it "soon". and removed priority/P3 The next thing for us to work on. It'll ride the trains. labels Aug 17, 2021
@davidylin
Copy link

davidylin commented Jun 17, 2022

Partial workaround on some domains is to enter a request on the domain for a specific file, ex: "sub.domain.com/test.html" - often results in a 404 on the domain and you can then set the shields settings. Not great, but sometimes workable. Even worse, you could set a dns entry (hostfile/routerconfig/etc) to redirect the domain to your desired endpoint to serve yourself up something that would allow you to adjust shield settings.

@ashutoshsaboo
Copy link
Author

ashutoshsaboo commented Jun 17, 2022

Any updates on this for a proper solution? @rebron

@bsclifton bsclifton changed the title UI to manually add Shield settings for a domain Add Brave's Shields setting to brave://settings/content Aug 11, 2022
@bsclifton
Copy link
Member

Updated the root post (keeping your original ask; just pre-pending what I believe we want) - how does this sound @ashutoshsaboo?
#12782 (comment)

I'm reviewing with team to make sure I have this captured properly before we take a next step

@bsclifton bsclifton added priority/P2 A bad problem. We might uplift this to the next planned release. and removed priority/P4 Planned work. We expect to get to it "soon". labels Aug 12, 2022
@foufrix
Copy link

foufrix commented Oct 14, 2022

🍾

@GeetaSarvadnya GeetaSarvadnya added the QA/In-Progress Indicates that QA is currently in progress for that particular issue label Oct 26, 2022
@GeetaSarvadnya
Copy link

GeetaSarvadnya commented Oct 26, 2022

Verification PASSED on

Brave | 1.46.80 Chromium: 107.0.5304.68 (Official Build) beta (64-bit)
-- | --
Revision | a4e93e89d3b3df1be22214603fba846ad0183ca5-refs/branch-heads/5304@{#991}
OS | Windows 10 Version 21H2 (Build 19044.2130)

Clean profile

UI and Basic functionality check_PASSED
  • Confirmed that the Shield settings are added in the content settings brave://settings/content
  • Confirmed that Shield status are added in brave://settings/content/braveShields
  • Confirmed that Shields Down and Shields Up blocks are added in the Shield status
  • Confirmed that domains can be added in the Shields Down and Shields Up blocks
  • Confirmed that added domains can be Edit/Remove via Shield status page
  • Confirmed that shields are down for the domains which are added in the Shields Down blocks
  • Confirmed that shields are up for the domains which are added in the Shields Up blocks
  • Confirmed that local shield settings are updated via Shield panel
  • Confirmed that remove a domain from the Shields down block enables the shield on the site
  • Confirmed that the shield state is retained after the browser restart once the site is added to the Shields down block

Add a site theverge.com to shield down block

Example Example
image image

Remove a site theverge.com from shield down block

Example Example
image image
Clean profile, open a site and then add site to shield down block_encountered #26288
  • clean profile 1.46.x
  • open nytimes.com site in an NTP
  • add nytimes to shield down block in brave://settings/content/braveShields
  • make sure shield is down for nytimes.com
  • enable the shield manually for the site nytimes.com
  • make sure shield is enabled
  • cookies settings is Allow all cookies but the global shield cookies settings is Block cross site cookies
  • global cookies settings are not retained
Clean profile, add a site to shield down block and then open site_encountered #26288
  • clean profile 1.46.x
  • add nytimes.com in shields down block under brave://settings/content/braveShields
  • open nytimes.com in an NTP and ensure that shield is down
  • remove the blocked site nytimes.com from brave://settings/content/braveShields
  • open nytimes.com tab and ensure shield is enabled and default shield settings are retained on nytimes.com
  • change the global shield settings (Trackers and ads = Aggressive, FF= Strict, may break sites and cookies = Disabled)
  • ensured that the updated global shield settings are retained for nytimes
  • add nytimes to shields down block in content settings
  • ensured nytimes shield is down
  • enable the shield for nytimes.com manually
  • ensured shield is enabled and default shield settings are retained on nytimes (steps 6 shield settings are retained)
  • change the global shield settings (Trackers and ads = Standard, FF= Standard and cookies = All)
  • open nytimes, the updated shield settings are not retained for cookies, Allow all cookies is shown in cookies dropdown instead of Block all cookies
Clean profile, open a site, disable/enable shields and then change shield settings_PASSED
  1. Clean profile 1.46.x
  2. Open a site cnn.com
  3. Click on the shields panel and disable the shield
  4. Open the content shield setting brave://settings/content/braveShields and ensured that cnn.com is added to Shields Down list
  5. Open the shield settings for cnn.com and enable the shield
  6. Open the content shield setting brave://settings/content/braveShields and ensured that cnn.com is added to Shields Up list
  7. Go to global shield settings brave://settings/shields
  8. Change the global shield settings and ensure that the shield settings are retained for the cnn.com
  9. Open cnn.com
  10. Change the local shield settings and restart the browser and ensure that the shield settings are retained for the cnn.com

Upgrade profile

Install 1.35.x beta build, open few sites and disable shields and then upgrade to 1.36.x beta build_PASSED
  1. Clean profile 1.35.x beta build
  2. Open few sites cnn.com and nytimes.com
  3. Open the shields panel and disable the shield
  4. Upgrade the profile to 1.36.x beta build
  5. Open the brave://settings/content/braveShields
  6. Ensured that the sites cnn.com and nytimes.com are added to the Shields Down list
  7. Open cnn.com and nytimes.com sites and enable the shields
  8. Open the brave://settings/content/braveShields
  9. Ensured that the sites cnn.com and nytimes.com are added to the Shields Up list
  10. Change the global shields settings via brave://settings/shields
  11. Ensure that the global shield settings are retained for the sites cnn.com and nytimes.com
  12. Change the local shield settings for the sites and ensured site settings are retained

Additional testing

  • Change local shield settings for cookies and restart the browser and ensured that cookies settings are retained
  • Change local shield settings for trackers and ads and restart the browser and ensured that trackers and ads settings are retained
  • Change local shield settings for fingerprint and restart the browser and ensured that fingerprint settings are retained
  • Verified that existing/updated global shield settings are retained for the opened sites
  • Confirmed that updated local/global shield settings are retained in an upgraded profile

@stephendonner
Copy link

stephendonner commented Oct 28, 2022

Verification PASSED using

Brave 1.46.83 Chromium: 107.0.5304.68 (Official Build) beta (x86_64)
Revision a4e93e89d3b3df1be22214603fba846ad0183ca5-refs/branch-heads/5304@{#991}
OS macOS Version 11.7.1 (Build 20G918)

Clean Profile

UI and basic-functionality check - PASSED

  • Confirmed that the Shield settings are added in the content settings brave://settings/content
  • Confirmed that Shield status are added in brave://settings/content/braveShields
  • Confirmed that Shields Down and Shields Up blocks are added in the Shields status
  • Confirmed that domains can be added in the Shields Down and Shields Up blocks
  • Confirmed that added domains can be Edited/Removed via Shield status page
  • Confirmed that Shields are down for the domains which are added in the Shields Down blocks
  • Confirmed that Shields are up for the domains which are added in the Shields Up blocks
  • Confirmed that local Shields settings are updated via Shields panel
  • Confirmed that removing a domain from the Shields Down block enables the shield on the site
  • Confirmed that the Shields state is retained after the browser restarts once the site is added to the Shields Down block

Add www.theverge.com to Shields Down block

example example
Screen Shot 2022-10-28 at 1 48 43 PM Screen Shot 2022-10-28 at 1 48 50 PM

Remove www.theverge.com from Shields Down block

example example
Screen Shot 2022-10-28 at 1 49 11 PM Screen Shot 2022-10-28 at 1 49 16 PM

Clean profile, open a site and add it to Shields Down - PASSED

  1. clean profile 1.46.x
  2. open nytimes.com site in an NTP
  3. add nytimes to Shields Down block in brave://settings/content/braveShields
  4. make sure shield is down for nytimes.com
  5. enable the shield manually for the site nytimes.com
  6. make sure shield is enabled in brave://settings/content/braveShields
step 3 step 4 step 5 step 6
Screen Shot 2022-10-28 at 6 01 28 PM Screen Shot 2022-10-28 at 6 05 39 PM Screen Shot 2022-10-28 at 6 08 09 PM Screen Shot 2022-10-28 at 6 08 15 PM

Clean profile, add a site to Shields Down block, and then open site - FAIL

  1. clean profile 1.46.x
  2. add nytimes.com in Shields Down block under brave://settings/content/braveShields
  3. open nytimes.com in an NTP and ensure that shield is down
  4. remove the blocked site nytimes.com from brave://settings/content/braveShields
  5. open nytimes.com tab and ensure shield is enabled and default shield settings are retained on nytimes.com
  6. change the global shield settings (Trackers and ads = Aggressive, FP= Strict, may break sites and cookies = Disabled)
  7. ensured that the updated global shield settings are retained for nytimes
  8. add nytimes to Shields Down block in content settings
  9. ensured nytimes shield is down
  10. enable the shield for nytimes.com manually
  11. ensured shield is enabled and default shield settings are retained on nytimes (steps 6 shield settings are retained)
  12. change the global shield settings (Trackers and ads = Standard, FP= Standard and cookies = All)
  13. open nytimes, the updated shield settings are not retained for cookies, Allow all cookies is shown in cookies dropdown instead of Block all cookies
step 2 step 3 step 4 step 5 step 6 step 7 step 8 step 9 step 10 step 11 step 12 step 13
step2 step3 step4 step5 step6 step7 step8 step9 Screen Shot 2022-10-28 at 5 12 15 PM Screen Shot 2022-10-28 at 5 15 20 PM Screen Shot 2022-10-28 at 5 17 43 PM Screen Shot 2022-10-28 at 5 25 20 PM

Encountered:

Clean profile, open a site, disable/enable Shields and then change Shields settings - PASSED

  1. Clean profile 1.46.x
  2. Open cnn.com
  3. Click on the Shields panel and disable the shield
  4. Open the content shield setting brave://settings/content/braveShields and ensured that cnn.com is added to Shields Down list
  5. Open the Shields settings for cnn.com and enable the shield
  6. Open the content shield setting brave://settings/content/braveShields and ensured that cnn.com is added to Shields Up list
  7. Go to global shield settings brave://settings/shields
  8. Change the global shield settings and ensure that the shield settings are retained for cnn.com
  9. Open cnn.com
  10. Change the local shield settings
  11. Restart the browser and ensure that the shield settings are retained for cnn.com
step 3 step 4 step 5 step 6 step 7 step 8 step 9 steps 10 & 11
Screen Shot 2022-10-28 at 3 59 43 PM Screen Shot 2022-10-28 at 4 00 13 PM Screen Shot 2022-10-28 at 4 03 36 PM Screen Shot 2022-10-28 at 4 03 40 PM Screen Shot 2022-10-28 at 4 04 43 PM Screen Shot 2022-10-28 at 4 05 47 PM Screen Shot 2022-10-28 at 4 06 03 PM Screen Shot 2022-10-28 at 4 06 03 PM

Upgraded Profile - PASSED

Install 1.43.x beta build, open a few sites, disable Shields, then upgrade to 1.46.x beta build

  1. Clean profile 1.43.x beta build
  2. Open cnn.com and nytimes.com
  3. Open the Shields panel and disable the shield
  4. Upgrade the profile to 1.46.x beta build
  5. Open the brave://settings/content/braveShields
  6. Ensured that the sites cnn.com and nytimes.com are added to the Shields Down list
  7. Open cnn.com and nytimes.com sites and enable the shields
  8. Open the brave://settings/content/braveShields
  9. Ensured that the sites cnn.com and nytimes.com are added to the Shields Up list
  10. Change the global shields settings via brave://settings/shields
  11. Ensure that the global shield settings are retained for the sites cnn.com and nytimes.com
  12. Change the local Shields settings for the sites and ensured site settings are retained

1.43.x

cnn.com nytimes.com
Screen Shot 2022-10-28 at 3 15 12 PM Screen Shot 2022-10-28 at 3 15 16 PM

1.46.83

step 6 step 7a step 7b step 9 step 10 step 11a step 11b step 12a step 12b
Screen Shot 2022-10-28 at 3 18 48 PM Screen Shot 2022-10-28 at 3 19 03 PM Screen Shot 2022-10-28 at 3 19 09 PM Screen Shot 2022-10-28 at 3 19 13 PM Screen Shot 2022-10-28 at 3 20 38 PM Screen Shot 2022-10-28 at 3 21 01 PM Screen Shot 2022-10-28 at 3 21 08 PM Screen Shot 2022-10-28 at 3 22 38 PM Screen Shot 2022-10-28 at 3 22 52 PM

Additional Testing - PASSED

  • Change local Shields settings for cookies and restart the browser and ensured that cookies settings are retained
  • Change local Shields settings for trackers and ads and restart the browser and ensured that trackers and ads settings are retained
  • Change local Shields settings for fingerprint and restart the browser and ensured that fingerprint settings are retained
  • Verified that existing/updated global shield settings are retained for the opened sites
  • Confirmed that updated local/global shield settings are retained in an upgraded profile

@btlechowski btlechowski added the QA/In-Progress Indicates that QA is currently in progress for that particular issue label Nov 18, 2022
@btlechowski
Copy link

btlechowski commented Nov 18, 2022

Verification passed on

Brave 1.46.117 Chromium: 107.0.5304.110 (Official Build) beta (64-bit)
Revision 2a558545ab7e6fb8177002bf44d4fc1717cb2998-refs/branch-heads/5304@{#1202}
OS Ubuntu 18.04 LTS

Clean Profile

UI and basic-functionality check - PASSED

  • Confirmed that the Shield settings are added in the content settings brave://settings/content
  • Confirmed that Shield status are added in brave://settings/content/braveShields
  • Confirmed that Shields Down and Shields Up blocks are added in the Shields status
  • Confirmed that domains can be added in the Shields Down and Shields Up blocks
  • Confirmed that added domains can be Edited/Removed via Shield status page
  • Confirmed that Shields are down for the domains which are added in the Shields Down blocks
  • Confirmed that Shields are up for the domains which are added in the Shields Up blocks
  • Confirmed that local Shields settings are updated via Shields panel
  • Confirmed that removing a domain from the Shields Down block enables the shield on the site
  • Confirmed that the Shields state is retained after the browser restarts once the site is added to the Shields Down block

image

Add www.theverge.com to Shields Down block
image

Remove www.theverge.com from Shields Down block

image

Clean profile, open a site and add it to Shields Down - PASSED

  1. clean profile 1.46.x
  2. open nytimes.com site in an NTP
  3. add nytimes to Shields Down block in brave://settings/content/braveShields
  4. make sure shield is down for nytimes.com
  5. enable the shield manually for the site nytimes.com
  6. make sure shield is enabled in brave://settings/content/braveShields

image
image
image
image

Clean profile, add a site to Shields Down block, and then open site - FAIL

  1. clean profile 1.46.x
  2. add nytimes.com in Shields Down block under brave://settings/content/braveShields
  3. open nytimes.com in an NTP and ensure that shield is down
  4. remove the blocked site nytimes.com from brave://settings/content/braveShields
  5. open nytimes.com tab and ensure shield is enabled and default shield settings are retained on nytimes.com
  6. change the global shield settings (Trackers and ads = Aggressive, FP= Strict, may break sites and cookies = Disabled)
  7. ensured that the updated global shield settings are retained for nytimes
  8. add nytimes to Shields Down block in content settings
  9. ensured nytimes shield is down
  10. enable the shield for nytimes.com manually
  11. ensured shield is enabled and default shield settings are retained on nytimes (steps 6 shield settings are retained)
  12. change the global shield settings (Trackers and ads = Standard, FP= Standard and cookies = All)
  13. open nytimes, the updated shield settings are not retained for cookies, Allow all cookies is shown in cookies dropdown instead of Block all cookies

image
image
image
image
image
image
image
image
image
image
image

Encountered:

Clean profile, open a site, disable/enable Shields and then change Shields settings - PASSED

  1. Clean profile 1.46.x
  2. Open cnn.com
  3. Click on the Shields panel and disable the shield
  4. Open the content shield setting brave://settings/content/braveShields and ensured that cnn.com is added to Shields Down list
  5. Open the Shields settings for cnn.com and enable the shield
  6. Open the content shield setting brave://settings/content/braveShields and ensured that cnn.com is added to Shields Up list
  7. Go to global shield settings brave://settings/shields
  8. Change the global shield settings and ensure that the shield settings are retained for cnn.com
  9. Open cnn.com
  10. Change the local shield settings
  11. Restart the browser and ensure that the shield settings are retained for cnn.com

image
image
image
image
image
image

Upgraded Profile - PASSED

Install 1.43.x beta build, open a few sites, disable Shields, then upgrade to 1.46.x beta build

  1. Clean profile 1.43.x beta build
  2. Open cnn.com and nytimes.com
  3. Open the Shields panel and disable the shield
  4. Upgrade the profile to 1.46.x beta build
  5. Open the brave://settings/content/braveShields
  6. Ensured that the sites cnn.com and nytimes.com are added to the Shields Down list
  7. Open cnn.com and nytimes.com sites and enable the shields
  8. Open the brave://settings/content/braveShields
  9. Ensured that the sites cnn.com and nytimes.com are added to the Shields Up list
  10. Change the global shields settings via brave://settings/shields
  11. Ensure that the global shield settings are retained for the sites cnn.com and nytimes.com
  12. Change the local Shields settings for the sites and ensured site settings are retained

image
image
image

Additional Testing - PASSED

  • Change local Shields settings for cookies and restart the browser and ensured that cookies settings are retained
  • Change local Shields settings for trackers and ads and restart the browser and ensured that trackers and ads settings are retained
  • Change local Shields settings for fingerprint and restart the browser and ensured that fingerprint settings are retained
  • Verified that existing/updated global shield settings are retained for the opened sites
  • Confirmed that updated local/global shield settings are retained in an upgraded profile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design A design change, especially one which needs input from the design team enterprise feature/shields The overall Shields feature in Brave. feature-request OS/Desktop priority/P2 A bad problem. We might uplift this to the next planned release. QA Pass-Linux QA Pass-macOS QA Pass-Win64 QA/Test-All-Platforms QA/Yes release-notes/include
Projects
None yet
Development

Successfully merging a pull request may close this issue.