-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Detecting Brave (for Websites)
In general, it is not a privacy goal for the Brave browser to hide from websites that the user is using Brave. There are important caveats to this, see below.
Brave uses the same User Agent request header as Chrome for Web compatibility reasons on desktop and Android. On iOS, as of version 1.78, Brave uses same User Agent as Safari except we also add Brave/1. In testing, we found that some websites broke on encountering an uncommon User Agent. We hide Brave/1 on iOS in cases where there is website breakage or Brave is blocked or discriminated against.
See https://github.com/brave/brave-browser/wiki/User-Agents.
We also expose Brave in the Sec-Ch-Ua header (except on iOS where client hints are not enabled). We disable sending Sec-Ch-Ua header in cases where there is website breakage or Brave is blocked or discriminated against.
If you want to detect Brave, please use the navigator.brave.isBrave() JavaScript API. We make this API unavailable in cases where there is website breakage or Brave is blocked or discriminated against.
Please let us know (on GitHub) if you see websites discriminating against Brave users. You can add example.com##+js(brave-fix) to your custom filters to prevent example.com (for example) from reading this JavaScript property.