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