Prototype application that allows users to receive privacy profile policy/configuration recommendations in a privacy-preserving way.
The client and server side mpc is written entirely in JavaScript. Running the server requires Node, npm and the JIFF Library.
Run npm to install JIFF inside the jiff
directory:
npm install --prefix jiff
Minimal dummy user data is already provided as shares.json in the server directories. If wanted, it is okay to clear this and accumulate new shares from scratch.
├─ jiff/ Alias to JIFF library dependency
├─ server1/ Main clustering server root
│ └─ public/ Web directory for hosting the server control panel
├─ server2/ Secondary clustering server root
│ └─ public/ Web directory for user preference interface
Start each server from its directory with the command below and specify a port number such as:
node start server1 80 # Server 1 (and control panel)
node start server2 81 # Server 2 (and preference UI)
In a real deployment environment, these directories would be instances run on separate machines, but for testing purposes they can be run both on localhost on the same machine.
Users can go to http(s)://server2address:80/client.html
in a web browser supporting JavaScript to input and receive recommendations.
Recommendations are updated on a manual time basis by going to http(s)://server1address:81/controls.html
and telling the main clustering server to begin clustering.