In location-based applications, a browser running on a client device connects to a webserver and claims the device is in some geographic location. This unverified assertion can often be faked, and IP-address-based geolocation is susceptible to IP-masking technologies. CPV verifies geographic locations in three stages.
CPV uses WebSockets to have the browser communicate with three location verifiers circumscribing the asserted location.
The verifiers iteratively measure one-way network delays among themselves and with the client.
The information is processed to verify the device's geographic presence inside the triangle determined by the verifiers.