aosp12/external/rappor/client
hcl 7be3fd486c init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
..
java/com/google/android/rappor init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
javatest/com/google/android/rappor init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
README.md init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00

README.md

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.