README.md
1 RAPPOR Clients
2 ==============
3
4 This directory contains RAPPOR client implementations in various languages.
5
6 The privacy of RAPPOR is based on the client "lying" about the true values --
7 that is, not sending them over the network.
8
9 The clients are typically small in terms of code size because the RAPPOR
10 client algorithm is simple. See the README.md in each subdirectory for details
11 on how to use the library.
12
13 Common Test Protocol
14 --------------------
15
16 When implementing a new RAPPOR client, you can get for free!
17
18 The `regtest.sh` script in the root of this repository does the following:
19
20 1. Create test input data and feed it into your client as a CSV file
21 2. Preprocesses your client output (also CSV)
22 3. Runs the RAPPOR analysis, learning aggregate statistics from encoded values
23 4. Compares the analysis to the true client values, with metrics and plots.
24
25 To have your client tested, you need a small executable wrapper, which reads
26 and write as CSV file in a specified format.
27
28 Then add it to the `_run-one-instance` function in `regtest.sh`.
29
30 <!--
31
32 TODO:
33 - more details about protocol
34
35 -->
36
37
38
39
40
41
42
43
44