You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.1 KiB

RAPPOR Clients

This directory contains RAPPOR client implementations in various languages.

The privacy of RAPPOR is based on the client "lying" about the true values -- that is, not sending them over the network.

The clients are typically small in terms of code size because the RAPPOR client algorithm is simple. See the README.md in each subdirectory for details on how to use the library.

Common Test Protocol

When implementing a new RAPPOR client, you can get for free!

The regtest.sh script in the root of this repository does the following:

  1. Create test input data and feed it into your client as a CSV file
  2. Preprocesses your client output (also CSV)
  3. Runs the RAPPOR analysis, learning aggregate statistics from encoded values
  4. Compares the analysis to the true client values, with metrics and plots.

To have your client tested, you need a small executable wrapper, which reads and write as CSV file in a specified format.

Then add it to the _run-one-instance function in regtest.sh.