[x] Check the installer is close to the size of the last release
[x] Check signature:
[x] If macOS, using x64 binary run spctl --assess --verbose for the installed version and make sure it returns accepted
[x] If macOS, using universal binary run spctl --assess --verbose for the installed version and make sure it returns accepted
[x] If Windows right click on the brave_installer-x64.exe and go to Properties, go to the Digital Signatures tab and double click on the signature. Make sure it says "The digital signature is OK" in the popup window
About pages
[x] Verify that both chrome:// and about:// forward to brave:// (run through several internal pages)
Adblock lists and filters
[x] Navigate to brave://adblock and confirm you are redirected to brave://settings/shields/filters
[x] Filter lists
[x] Type "cookie" into the "Filter lists" search box, and verify that the list is filtered down to just the Easylist-Cookie List - Filter Obtrusive Cookie Notices
[x] Enable the Easylist-Cookie List and refresh the page
[x] Expand the regional filter lists and verify that the cookie list is still enabled
[x] Add custom filter lists
[x] Enter https://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/fanboy-antifonts.txt into Enter filter list URL and press Add
[x] Ensure that the Custom lists table appears, with the newly added entry; Last updated should be now (e.g. 0 seconds ago)
[x] Refresh the page after a few seconds and ensure that the Last updated time reflects the time that has passed
[x] Use the dropdown next to the entry and verify that all options (Update now, View source, Unsubscribe) are shown
[x] Pressing the Update now button should update the timestamp appropriately
[x] View source should open the text of the filter list
[x] Unsubscribe should delete the entry from the list and hide the table once again
[x] Create custom filters
[x] The Create custom filters section should be visible with a text box and Save changes button
[x] Adding text to the box, pressing Save changes, and refreshing the page should result in the same text appearing in the box after the reload
Importing
[x] Verify that you can import History, Favorites/Bookmarks and Passwords from Google Chrome
[x] Verify that you can import History and Bookmarks from Firefox
[x] Verify that you can import Favorites/Bookmarks from Microsoft Edge
[x] Verify that importing bookmarks using Bookmark HTML File retains the folder structure on a clean profile
Context menus
[x] Verify you can block a page element using Block element via selector context-menu item
[x] Verify selecting Manage custom filters opens brave://adblock in a NTP
[x] Verify removing the rule from brave://adblock reflects the change on the website, after reload
Extensions/Plugins
[x] Verify pdfium, Torrent viewer extensions are installed automatically on fresh profile and cannot be disabled (they don't show up in brave://extensions)
[x] Verify older version of an extension gets updated to new version via Google server
[x] Verify that magnet links and .torrent files correctly open WebTorrent and you're able to download the file(s)
[x] Load vitalik.eth. Click on Proceed using Infura server. Click on Use a Brave local IPFS node. Verify the content loads from ipfs://bafybeigsn4u4nv4uyskxhewakk5m2j2lluzhsbsayp76zh7nbqznrxwm7e/.
[x] Test that 3rd party storage results are blank at https://jsfiddle.net/7ke9r14a/9/ when 3rd party cookies are blocked and not blank when 3rd party cookies are unblocked
[x] In brave://settings/security, choose a DNS provider from the providers listed under Use secure DNS, load https://browserleaks.com/dns, and verify your ISP's DNS resolvers aren't detected and shown; only your chosen DoH provider should appear.
[x] Open a New Private Window with Tor, load https://browserleaks.com/dns, and verify your ISP's DNS resolvers aren't detected and shown.
[x] Test that https://diafygi.github.io/webrtc-ips/ doesn't leak IP address for each option under Settings -> Privacy and Security -> WebRTC IP handling policy
Brave Ads
[x] Verify when you enable Rewards from panel or brave://rewards, Ads are enabled by default
[x] Verify Ads UI (panel, settings, etc) shows when in a region with Ads support
[x] Verify Ads UI (panel, settings, etc) does not show when in a region without Ads support. Verify the Ads panel does show the 'Sorry! Ads are not yet available in your region.' message.
[x] Verify when the system language is English, the Browser language is French, and you are in one of the supported regions, Ad notifications are still served to you.
[x] Verify you are served Ad notifications when Ads are enabled
[x] Verify ad earnings are reflected in the rewards widget on the NTP.
[x] Verify when Ads are toggled off, there are no Ad messages in the logs
[x] Verify when Rewards are toggled off (but Ads were not explicitly toggled off), there are no Ads logs recorded
[x] Verify view/click/dismiss/landed ad notifications show in confirmations.json
[x] Verify pages you browse to are being classified in the logs
[x] Verify tokens are redeemed by viewing the logs (you can use --rewards=debug=true to shorten redemption time)
[x] Verify Ad is not shown if a tab is playing media and is only shown after it stops playing
Rewards
[x] Verify that none of the reward endpoints are being contacted when a user visits a media creator (youtube.com, reddit.com, twitter.com, github.com) and hasn't joined rewards
[x] Verify that rewards.brave.com, pcdn.brave.com, grant.rewards.brave.com or api.rewards.brave.com are not being contacted
[x] Verify you are able to create a new Rewards profile and are in the unverified state by default
[x] Verify when you visit a creator in this state the panel shows a prompt to connect a custodian and no BAT information (earnings, balance, etc) is displayed
[x] Verify when you view the NTP widget in this state it shows a prompt to connect a custodian and no BAT information (earnings, balance, etc) is displayed
[x] Verify when you visit brave://rewards in this state there are no Auto Contribution, Tipping, or summary panels on this page
[x] Verify you can toggle notification ads off/on from the "Manage Brave Ads" panel on brave://rewards
[x] Verify you are able to connect a custodian
[x] Verify Rewards balance shows correct BAT and USD value on brave://rewards, panel, and NTP widget after you connect
[x] Verify when you click on the BR panel while on a site, the panel displays site-specific information (site favicon, domain, attention %)
[x] Verify BR panel shows message about an unverified creator
[x] Verify "Send Contribution" button is grayed out on the panel for an unverified creator and the tip banner cannot be accessed
[x] Verify tip banner shows message about a creator with a different custodian
[x] Verify you are able to tip a creator who has the same custodian as you
[x] Verify you are able to perform an auto contribution
[x] Verify if you disable auto-contribute you are still able to tip creators
[x] Verify if auto-contribute is disabled AC does not occur
[x] Verify that there is no "Disconnect" option once connected to a custodian
[x] Verify that you are able to reset rewards
[x] Verify that after rewards are reset, you are now in the non-opted in state
[x] Verify you can re-join rewards and the panel, brave://rewards page, and NTP widget are now in the unverified state
[x] visit brave://settings/privacy -> Site and Shields Settings -> Cookies and site data and ensure that
[x] both https://[*.]firebaseapp.com & https://accounts.google.com are added into Sites that can always use cookies when Allow Google login buttons on third party sites is enabled
[x] both https://[*.]firebaseapp.com & https://accounts.google.com are removed from Sites that can always use cookies when Allow Google login buttons on third party sites is disabled
[x] ensure that you can log in into https://www.expensify.com while Allow use of third-party cookies for legacy Google Sign-In is enabled
[x] ensure that once Allow use of third-party cookies for legacy Google Sign-In has been disabled, you can't log in into https://www.expensify.com
Sync
[x] Verify you are able to create a sync chain and add a mobile/computer to the chain
[x] Verify you are able to join an existing sync chain using code words
[x] Verify the device name is shown properly when sync chain is created
[x] Verify you are able to add a new mobile device to the chain via QR code/code words
[x] Verify newly created bookmarks get sync'd to all devices on the sync chain
[x] Verify existing bookmarks on current profile gets sync'd to all devices on the sync chain
[x] Verify folder structure is retained after sync completes
[x] Verify bookmarks don't duplicate when sync'd from other devices
[x] Verify removing bookmark from device gets sync'd to all devices on the sync chain
[x] Verify adding/removing a bookmark in offline mode gets sync'd to all devices on the sync chain when device comes online
[x] With only two devices in chain, verify removing the other device resets the sync on b-c as well
Tor Tabs
[x] Visit https://check.torproject.org in a Tor window, ensure it shows a success message for using a Tor exit node
[x] Visit https://check.torproject.org in a Tor window, note down exit node IP address. Do a hard refresh (Ctrl+Shift+R/Cmd+Shift+R), ensure exit IP changes after page reloads
[x] Visit https://check.torproject.org in a Tor window, note down exit node IP address. Click New Tor connection for this site in app menu, ensure the exit node IP address changes after page is reloaded
[x] Verify Torrent viewer doesn't load in a Tor window
[x] Ensure you are able to download a file in a Tor window. Verify all Download/Cancel, Download/Retry and Download works in Tor window
Cookie and Cache
[x] Go to http://samy.pl/evercookie/ and set an evercookie. Check that going to prefs, clearing site data and cache, and going back to the evercookie site does not remember the old evercookie value
Chromium/Brave GPU
[x] Verify that brave://gpu (Brave) matches chrome://gpu (Chrome) when using the same Chromium version
Startup & Components
[x] Verify that Brave is only contacting *.brave.com endpoints on first launch using either Charles Proxy, Fiddler, Wireshark or LittleSnitch (or a similar application)
[x] Verify that opening a NTP doesn't trigger any outbound connections related to widgets without user interaction
[x] Remove the following component folders and ensure that they're being re-downloaded after restarting the browser:
[x] afalakplffnnnlkncjhbmahjfjhmlkal: AutoplayWhitelist.dat, ExtensionWhitelist.dat, ReferrerWhitelist.json and Greaselion.json
Installer
spctl --assess --verbose
for the installed version and make sure it returnsaccepted
spctl --assess --verbose
for the installed version and make sure it returnsaccepted
brave_installer-x64.exe
and go to Properties, go to the Digital Signatures tab and double click on the signature. Make sure it says "The digital signature is OK" in the popup windowAbout pages
chrome://
andabout://
forward tobrave://
(run through several internal pages)Adblock lists and filters
brave://adblock
and confirm you are redirected tobrave://settings/shields/filters
Easylist-Cookie List - Filter Obtrusive Cookie Notices
Easylist-Cookie List
and refresh the pagehttps://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/fanboy-antifonts.txt
intoEnter filter list URL
and pressAdd
Custom lists
table appears, with the newly added entry;Last updated
should be now (e.g.0 seconds ago
)Last updated
time reflects the time that has passedUpdate now
,View source
,Unsubscribe
) are shownUpdate now
button should update the timestamp appropriatelyView source
should open the text of the filter listUnsubscribe
should delete the entry from the list and hide the table once againCreate custom filters
section should be visible with a text box andSave changes
buttonSave changes
, and refreshing the page should result in the same text appearing in the box after the reloadImporting
History
,Favorites/Bookmarks
andPasswords
from Google ChromeHistory
andBookmarks
from FirefoxFavorites/Bookmarks
from Microsoft EdgeBookmark HTML File
retains the folder structure on a clean profileContext menus
Block element via selector
context-menu itemManage custom filters
opensbrave://adblock
in a NTPbrave://adblock
reflects the change on the website, after reloadExtensions/Plugins
brave://extensions
)magnet
links and.torrent
files correctly open WebTorrent and you're able to download the file(s)IPFS
vitalik.eth
. Click onProceed using Infura server
. Click onUse a Brave local IPFS node
. Verify the content loads fromipfs://bafybeigsn4u4nv4uyskxhewakk5m2j2lluzhsbsayp76zh7nbqznrxwm7e/
.Chrome Web Store (CWS)
Brave has not reviewed the extension.
warning via the "Add Extension" modalPDF
Widevine
Widevine Notification
is shown when you visit Netflix for the first timeWidevine Notification
is shown when you visit HBO Max for the first timex64
anduniversal
buildsGeolocation
Crash Reporting
brave://crash
&brave://gpucrash
causes the new tab to crashbrave://crashes
lists theUploaded Crash Report ID
once the report has been submitted_rxid equal [ value ]
Bravery settings
Trackers & ads blocked
works as expectedbrave://settings/security
, choose a DNS provider from the providers listed under Use secure DNS, loadhttps://browserleaks.com/dns
, and verify your ISP's DNS resolvers aren't detected and shown; only your chosen DoH provider should appear.https://browserleaks.com/dns
, and verify your ISP's DNS resolvers aren't detected and shown.Query Filter
TLS Pinning
Fingerprint Tests
Settings -> Privacy and Security -> WebRTC IP handling policy
Brave Ads
brave://rewards
, Ads are enabled by defaultconfirmations.json
--rewards=debug=true
to shorten redemption time)Rewards
youtube.com
,reddit.com
,twitter.com
,github.com
) and hasn't joined rewardsrewards.brave.com
,pcdn.brave.com
,grant.rewards.brave.com
orapi.rewards.brave.com
are not being contactedSocial-media blocking settings
Social media blocking
buttons works as intended when enabled/disabled by visiting https://fmarier.github.io/brave-testing/social-widgets.htmlbrave://settings/privacy
->Site and Shields Settings
->Cookies and site data
and ensure thathttps://[*.]firebaseapp.com
&https://accounts.google.com
are added intoSites that can always use cookies
whenAllow Google login buttons on third party sites
is enabledhttps://[*.]firebaseapp.com
&https://accounts.google.com
are removed fromSites that can always use cookies
whenAllow Google login buttons on third party sites
is disabledAllow use of third-party cookies for legacy Google Sign-In
is enabledAllow use of third-party cookies for legacy Google Sign-In
has been disabled, you can't log in into https://www.expensify.comSync
Tor Tabs
New Tor connection for this site
in app menu, ensure the exit node IP address changes after page is reloadedCookie and Cache
Chromium/Brave GPU
brave://gpu
(Brave) matcheschrome://gpu
(Chrome) when using the same Chromium versionStartup & Components
*.brave.com
endpoints on first launch using eitherCharles Proxy
,Fiddler
,Wireshark
orLittleSnitch
(or a similar application)afalakplffnnnlkncjhbmahjfjhmlkal
:AutoplayWhitelist.dat
,ExtensionWhitelist.dat
,ReferrerWhitelist.json
andGreaselion.json
CertificateRevocation
cffkpbalmllkdoenhmdmpbkajipdjfam
:rs-ABPFilterParserData.dat
®ional_catalog.json
(AdBlock)gccbbckogglekeggclmmekihdgdpdgoe
: (Sponsored New Tab Images)oofiananboodjbbmdelgdommihjbkfag
: HTTPSESafe Browsing
brave://components
, wait for 8 mins and verify that no component shows any errorsNote: Always double check
brave://components
to make sure there's no errors/missing version numbersSession storage
~/Library/Application\ Support/BraveSoftware/
%userprofile%\appdata\Local\BraveSoftware\
~/.config/BraveSoftware/
Upgrade
brave://version
lists the expected Brave & Chromium versionsEstimated pending rewards
&Ad notifications received this month
are retained