Patent attributes
A system for providing a geofence service is disclosed. The geofence service receives an encrypted geospatial index for a specified geofence based on application of a hash function to respective ones of a plurality of locations for the specified geofence in accordance with a secret key that is unknown to the geofence service. The geofence service stores the encrypted geospatial index to a data store according to a geofence identifier for the specified geofence. The geofence service receives an encrypted device location identifier generated based on application of the hash function to a representation of a current location of a user device in accordance with the secret key. The geofence service determines whether the user device is located in a location of the plurality of locations based on a query of the encrypted geospatial index according to the encrypted device location identifier.

