-
Notifications
You must be signed in to change notification settings - Fork 872
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
Initial implementation of P3A (Privacy-Preserving Product Analytics) #3242
Conversation
e23a005
to
aceefc0
Compare
@bsclifton here is the final text in a screen shot |
text: Brave Shields blocks the creepy stuff that tries to track you across the web — including most ads. Set Shields to “down” if a site doesn’t seem to be working. Brave uses completely private product analytics to estimate the overall usage of certain features. You can turn this off in Settings. |
Ready for re-review 😄 |
Reviewing the CI for the last run:
Going to restart it here... |
I pulled down the code locally and was able to reproduce the unit tests failing @iefremov can you check this out? |
UPDATE: Linux and macOS passed great 🎉 Seems CI on Windows isn't running? |
… is in sync For example, if you had two windows with brave://settings/privacy open Fixes brave/brave-browser#7289 This is something I missed while implementing #3242
Fixes brave/brave-browser#6285
More details on our blog here:
https://brave.com/privacy-preserving-product-analytics-p3a/
Detailed list of the questions here:
https://github.com/brave/brave-browser/wiki/P3A
Quick description
This pull request will implement checks for those answers and (if enabled) will send the answers anonymously (see blog post for more details).
The answers are always collected, whether the service is on or off. They are stored as a
local_state
variable (ex: not part of the profile, not synced, etc). However, the answers only leave the users machine if they have the preference enabled.New user experience
Existing user experience
Disable
and it will immediately disable the service and close the infobarGot it
or clicking the X will acknowledge this and close the infobarLearn more
will go to the blog postSubmitter Checklist:
npm run lint
)git rebase master
(if needed).git rebase -i
to squash commits (if needed).Test Plan:
There is a bunch of command-line switches suitable to simplify the testing process (see https://github.com/brave/brave-core/blob/master/components/p3a/brave_p3a_switches.h), as well as detailed logs enabled as follows
--vmodule=*/p3a/*=3 --enable-logging=stderr
The possible command-line for testing might look as follows:
brave --vmodule=*/p3a/*=3 --enable-logging=stderr --p3a-upload-interval-seconds=5 --p3a-rotation-interval-seconds=160 --p3a-upload-server-url="http://127.0.0.1/" --p3a-ignore-server-errors --p3a-do-not-randomize-upload-interval
Reviewer Checklist:
After-merge Checklist:
changes has landed on.