The localization abilities of smartphones have provided a huge boost
to the popularity of geosocial applications, which facilitate social
interaction between geographically users close to each other.
However, today's geosocial applications raise privacy concerns due to
application providers storing large amounts of information about users
(e.g., profile information) and locations (e.g., users present at a
location).  We propose Zerosquare, a privacy-friendly location hub
that encourages the development of privacy-preserving geosocial
applications.  Our primary goal is to store information such that no
entity can link a user's identity to her location.  Other goals
include decoupling storing data from manipulating data for social
networking purposes, designing an architecture flexible enough to
support a wide range of use cases, and limiting client-side
computation.

Zerosquare consists of two separate server components for storing
information about users and about locations, respectively, and
optional cloud components for supporting applications.  We describe
the design of the API exposed by the server components and demonstrate
how it can be used to build several sample geosocial applications.  We
provide a proof-of-concept implementation using Python for the server
components and the Android platform for the mobile devices and build
several real-world geosocial applications on top of Zerosquare.
Finally, we present experimental results that demonstrate the
practicality of Zerosquare.