A 500-bit fuzzy hash of the client's browser characteristics
Not generated yetThe client's current location encoded as a geohash (hardcoded to a random point near NYC for demo)
Not generated yetThe client's current IP address (used for location verification)
Not generated yetThese parameters determine how strict the verification process is. In this demo, you can set these parameters yourself as if you were the server. However, calculating these thresholds based on exact statistics may not be privacy preserving. Our work validates a system for using local differential privacy (specifically RAPPOR) to calculate these thresholds.
This demo website shows how zero-knowledge proof-based anonymous credentials can verify that a user's state is within normal parameters while maintaining privacy. All data is generated and stored locally in your browser's local storage. We envision this being used for a wide range of applications, for example:
On this site, we allow you to view and configure the entire system, both client- and server-side. The client-side parameters control how the test data is generated (e.g. how similar the generated fingerprint and location history are to the user's current state), and the server-side parameters control how strict the verification process is (e.g. how similar the fingerprint and location history must be to the user's current state to pass verification).
If a verification check is passed, it's equivalent to the client saying to the server (without revealing any sensitive information about their current state) that: