gecko/services/healthreport
2012-11-19 19:00:58 -08:00
..
modules-testing Bug 810132 - Add remote deletion requests to policy; r=rnewman 2012-11-09 13:59:40 -08:00
tests Bug 812377 - Health report provider for collecting system info; r=rnewman 2012-11-19 13:18:30 -08:00
healthreport-prefs.js Bug 718066 - Pref off FHR on all platforms. r=gps 2012-11-19 19:00:58 -08:00
HealthReportComponents.manifest Bug 812377 - Health report provider for collecting system info; r=rnewman 2012-11-19 13:18:30 -08:00
healthreporter.jsm Bug 811159 - Save last submitted health report to profile; r=rnewman 2012-11-16 10:05:19 -08:00
HealthReportService.js Bug 808219 - Firefox Health Reporter service; r=rnewman 2012-11-13 20:22:09 -08:00
Makefile.in Bug 808219 - Firefox Health Reporter service; r=rnewman 2012-11-13 20:22:09 -08:00
policy.jsm Bug 813226 - Add ability to bypass policy acceptance; r=rnewman 2012-11-19 11:31:19 -08:00
providers.jsm Bug 812377 - Health report provider for collecting system info; r=rnewman 2012-11-19 13:18:30 -08:00
README.rst Bug 808219 - Firefox Health Reporter service; r=rnewman 2012-11-13 20:22:09 -08:00

=====================
Firefox Health Report
=====================

This directory contains the implementation of the Firefox Health Report
(FHR).

Firefox Health Report is a background service that collects application
metrics and periodically submits them to a central server.

Implementation Notes
====================

The XPCOM service powering FHR is defined in HealthReportService.js. It
simply instantiates an instance of HealthReporter from healthreporter.jsm.

All the logic for enforcing the privacy policy and for scheduling data
submissions lives in policy.jsm.

Preferences
===========

Preferences controlling behavior of Firefox Health Report live in the
*healthreport.* branch.

Some important preferences are:

* **healthreport.serviceEnabled** - Controls whether the entire health report
  service runs. The overall service performs data collection, storing, and
  submission.

* **healthreport.policy.dataSubmissionEnabled** - Controls whether data
  submission is enabled. If this is *false*, data will still be collected
  and stored - it just won't ever be submitted to a remote server.

If the entire service is disabled, you lose data collection. This means that
data analysis won't be available because there is no data to analyze!

Other Notes
===========

There are many legal and privacy concerns with this code, especially
around the data that is submitted. Changes to submitted data should be
signed off by responsible parties.