Area-based location privacy management

Technologies for location privacy management include a mobile computing device to determine whether an application is authorized to obtain the location of the mobile computing device based on a determined location and location access policy of the mobile computing device. The location access policy includes policy rules that identify whether the application is authorized to obtain the location of the mobile computing device. If the mobile computing device determines that the application is not authorized to obtain the location of the mobile computing device, the mobile computing device blocks the application from obtaining the location.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a national stage entry under 35 USC §371(b) of International Application No. PCT/CN2013/079698, which was filed Jul. 19, 2013.

BACKGROUND

Location-based services continue to be integrated into countless applications for mobile computing devices to deliver better and smarter services to users. The location information of the mobile computing devices can be obtained through numerous methods, such as using cellular tower identification, Wi-Fi and/or Bluetooth signals, internet protocol (IP) based geocoding, and/or global positioning systems (GPS). The numerous ways in which an application of a mobile computing device can obtain the location of the mobile computing device poses significant challenges with respect to protecting the confidentiality of a user's location.

Social media applications may leak a user's location either intentionally or unintentionally through, for example, user error, user interface designs, and/or other mechanisms. For example, a user may intentionally allow an application to access the location of the mobile computing device for a particular purpose (e.g., finding a nearby restaurant) and also unknowingly permit the application to access the location of the mobile computing device at any time in the future without permission. After doing so, the user may not have the technological savvy to manually change the location access settings. Alternatively, a user may unintentionally select an option to permit an application to obtain the location of the mobile computing device.

DETAILED DESCRIPTION OF THE DRAWINGS

Referring now toFIG. 1, a system100for location privacy management includes a mobile computing device102, a network104, and a plurality of access points106. In use, as discussed in more detail below, the mobile computing device102may determine whether an application of the mobile computing device102requesting access to the location of the mobile computing device102is authorized to obtain the corresponding location data. If the application is not authorized to obtain the location, the mobile computing device102may block the application from obtaining the corresponding location data. Further, the mobile computing device102may prevent the application from obtaining network scan data (e.g., Wi-Fi scan results), which could potentially be used to determine the location of the mobile computing device102.

The mobile computing device102may be embodied as any type of computing device capable of determining its location and performing the functions described herein. For example, the mobile computing device102may be embodied as a cellular phone, smartphone, tablet computer, laptop computer, personal digital assistant, mobile Internet device, desktop computer, and/or any other computing/communication device. As shown inFIG. 1, the illustrative mobile computing device102includes a processor110, an input/output (“I/O”) subsystem112, a memory114, a data storage116, a communication circuitry118, and one or more peripheral devices120. Of course, the mobile computing device102may include other or additional components, such as those commonly found in a typical computing device (e.g., various input/output devices), in other embodiments. Additionally, in some embodiments, one or more of the illustrative components may be incorporated in, or otherwise from a portion of, another component. For example, the memory114, or portions thereof, may be incorporated in the processor110in some embodiments.

The processor110may be embodied as any type of processor capable of performing the functions described herein. For example, the processor may be embodied as a single or multi-core processor(s), digital signal processor, microcontroller, or other processor or processing/controlling circuit. Similarly, the memory114may be embodied as any type of volatile or non-volatile memory or data storage capable of performing the functions described herein. In operation, the memory114may store various data and software used during operation of the mobile computing device102such as operating systems, applications, programs, libraries, and drivers. The memory114is communicatively coupled to the processor110via the I/O subsystem112, which may be embodied as circuitry and/or components to facilitate′ input/output operations with the processor110, the memory114, and other components of the mobile computing device102. For example, the I/O subsystem112may be embodied as, or otherwise include, memory controller hubs, input/output control hubs, firmware devices, communication links (i.e., point-to-point links, bus links, wires, cables, light guides, printed circuit board traces, etc.) and/or other components and subsystems to facilitate the input/output operations. In some embodiments, the I/O subsystem112may form a portion of a system-on-a-chip (SoC) and be incorporated, along with the processor110, the memory114, and other components of the mobile computing device102, on a single integrated circuit chip.

The data storage116may be embodied as any type of device or devices configured for short-term or long-term storage of data such as, for example, memory devices and circuits, memory cards, hard disk drives, solid-state drives, or other data storage devices. As shown inFIG. 1, the data storage116includes a location access policy122. As discussed below, the mobile computing device102may establish a location access policy122including one or more location access policy rules214defining circumstances and/or an extent (e.g., the level of specificity, accuracy, and/or precision) to which various applications are authorized to access the location or location data of the mobile computing device102.

The communication circuitry118of the mobile computing device102may be embodied as any communication circuit, device, or collection thereof, capable of enabling communications between the mobile computing device102and other remote devices (e.g., the access points106) over the network104. The communication circuitry118may be configured to use any one or more communication technologies (e.g., wireless or wired communications) and associated protocols (e.g., Ethernet, Bluetooth®, Wi-Fi®, WiMAX, etc.) to effect such communication. As shown inFIG. 1, the communication circuitry118may include GPS circuitry124, cellular circuitry126, and/or Wi-Fi circuitry128, which permit the communication circuitry118to communicate with remote computing devices using the corresponding communication technologies. For example, the GPS circuitry124may permit the mobile computing device102to communicate with satellites and/or other space-based or airborne objects to identify the location of the mobile computing device102. The cellular circuitry126may permit the mobile computing device102to communicate with remote computing devices over a cellular or mobile network. Additionally, the mobile computing device102may use the Wi-Fi circuitry128to connect to and otherwise communicate with Wi-Fi access points. It should be appreciated that, in some embodiments, any one or more of the GPS circuitry124, the cellular circuitry126, the Wi-Fi circuitry128, and/or other communication circuitry118may be used to determine the location of the mobile computing device102.

In some embodiments, the mobile computing device102may communicate with network access points other than Wi-Fi access points. As discussed below, the mobile computing device102may, in some embodiments, identify the locations of the access points106and, in turn, identify the location of the mobile computing device102based on the locations of the access points106(e.g., via trilateration techniques).

The one or more peripheral devices120of the mobile computing device102may include any number of additional peripheral or interface devices. The particular devices included in the peripheral devices120may depend on, for example, the type and/or intended use of the mobile computing device102.

The network104may be embodied as any type of telecommunication network capable of facilitating communication between the mobile computing device102and the access points106. As such, the network104may include one or more networks, routers, switches, computers, and/or other intervening devices. For example, the network104may be embodied as or otherwise include one or more cellular networks, telephone networks, local or wide area networks, publicly available global networks (e.g., the Internet), an ad hoc network, a short-range communication network or link, or any combination thereof.

The system100also includes a number of access points106, which are embodied as network access points (e.g., Wi-Fi® access points). As indicated above, in some embodiments, the locations of the access points106may be used to determine the location of the mobile computing device102via trilateration. As such, the access points106may be embodied as any computing device having a recorded or otherwise known physical location. In some embodiments, the locations of the access points106may be retrieved from a database stored on the mobile computing device102and/or a remote computing device. Depending on the particular embodiment, relative location data regarding the access points106(e.g., location relative to another known location), absolute location data regarding the access points106(e.g., latitudinal-longitudinal geodetic coordinates), and/or a combination thereof may be retrieved by the mobile computing device102to determine the location of the mobile computing device102. Of course, as described herein, the mobile computing device102may determine the location of the mobile computing device102using other algorithms, mechanisms, and systems (e.g., using the GPS circuitry124).

Each of the access points106may be embodied as any type of computing device capable of communicating with the mobile computing device102and performing the functions described herein. For example, each access point106may be embodied as a server, router, network bridge, web portal device, desktop computer, cellular phone, smartphone, tablet computer, laptop computer, personal digital assistant, mobile Internet device, and/or any other computing/communication device. Further, the access points106may include components similar to those of the mobile computing device102as described above. The description of those components of the mobile computing device102is equally applicable to the description of components of the access points106and is not repeated herein for clarity of the description. Further, it should be appreciated that the access points106may include other components, sub-components, and devices commonly found in a computing device, which are not discussed above in reference to the mobile computing device102and not discussed herein for clarity of the description. Additionally, the access points106may include components different from, or fewer than, those of the mobile computing device102. For example, each access point106may or may not include peripheral devices120. Further, although only one mobile computing device102and one network104are illustratively shown inFIG. 1, the system100may include additional mobile computing devices102and networks104in some embodiments.

Referring now toFIG. 2, in use, the mobile computing device102of the system100establishes an environment200for location privacy management. The environment200in the illustrative embodiment includes an application202, a location management module204, and a communication module206. Additionally, the location management module204includes a location access determination module210and a location determination module212. Each of the location management module204, the communication module206, the location access determination module210, and the location determination module212may be embodied as hardware, software, firmware, or a combination thereof.

As discussed in more detail below, the application202may request the location of the mobile computing device102. In some embodiments, the application202may include an internet browser application, such as a hypertext markup language 5 (HTML5) or JavaScript application; a browser plug-in; or a standalone application (e.g., C, Java, etc.) running on the mobile computing device102. The application202may be programmed in any language that would permit the functions described herein. Although the application202inFIG. 2is embodied as a single application202, the application202may be embodied as multiple applications202in other embodiments. Additionally, the environment200may include additional applications in some embodiments.

The location management module204handles requests for the location of the mobile computing device102and/or requests for network scan data by the application202. For example, in some embodiments, the location management module204handles all requests for the location of the mobile computing device102, network scan data, and/or other location data of the mobile computing device102. As indicated above, the location management module204includes the location access determination module210and the location determination module212. The location access determination module210determines whether the application202is authorized to obtain the location of the mobile computing device102(or location data corresponding to the location) based on the one or more location access policy rules214of the location access policy122. That is, the location access policy122may define the circumstances and/or extent to which each application202may obtain the location of the mobile computing device102. For example, the location access policy122may identify whether the application202is authorized to obtain the location of the mobile computing device102based on the current location of the mobile computing device102. It should be appreciated that the location of the mobile computing device102may be defined as a geodetic or relative point in space in various embodiments. Further, in some embodiments, the location access policy122may be represented as a table or similar data structure such as that of Table 1, which identifies whether the application202may obtain the location of the mobile computing device102based on the current location of the mobile computing device102.

Further, in some embodiments, the location access policy122identifies a level of specificity at which the application202may obtain the location of the mobile computing device102. For example, one application202may be authorized to access location data corresponding to the location of the mobile computing device102having fine granularity (e.g., very accurate) such as the latitudinal-longitudinal geodetic coordinates of the mobile computing device102. Another application202, however, may only be authorized to access location data of the mobile computing device102having coarse granularity (e.g., not accurate) such as the township, city, state, or country in which the mobile computing device102is located. The number of levels of specificity and the granularity of each level may vary depending on the particular embodiment. Table 2 shows a sample embodiment of the location access policy122identifying the level of specificity by which the application202may obtain the location of the mobile computing device102.

TABLE 2Location Access Policy AuthorizationsApplicationApplicationApplication 1Application 234Location 1FineFineFineCoarseLocation 2CoarseNoNoNoLocation 3NoNoNoNo
Of course, in other embodiments, the location access policy122may identify whether the application202is authorized to obtain the location of the mobile computing device102based on additional or alternative context parameters of the mobile computing device102(e.g., time of day, number of location requests, elapsed time since previous location request, type of application, current user, or other context data). Additionally, as discussed in detail below, the location access policy122may identify whether the application202may obtain network scan data (i.e., data resulting from or otherwise associated with a network scan), which could be used to determine the location of the mobile computing device102.

The location determination module212determines the location of the mobile computing device102, which may be used to determine whether the application202is authorized to obtain the location of the mobile computing device102as discussed above. The location determination module212may use any suitable technologies, algorithms, and/or mechanisms to determine the location of the mobile computing device102. For example, the location determination module212may determine the location of the mobile computing device102using the GPS circuitry124of the mobile computing device102. In another embodiment, the location determination module212may determine the location of the mobile computing device102based on the locations of the access points106. For example, in some embodiments, the location determination module212implements a trilateration algorithm based on the locations of at least three of the access points106. In another embodiment, the location determination module212may implement a fingerprint algorithm based on, for example, one or more prerecorded radio maps of the access points106.

The communication module206handles the communication between the mobile computing device102and remote devices (e.g., the access points106) through the network104. As discussed above, in some embodiments, the mobile computing device102determines the location of the mobile computing device102based on the locations of the access points106. Accordingly, the communication module206may receive unique identifiers from a plurality of access points106within a communication range of the mobile computing device102, which may be used to retrieve location data corresponding with the locations of the access points106. The unique identifier may be embodied as any data that may be used by the mobile computing device102to uniquely identify a particular access point106(e.g., a media access control (MAC) address or Service Set Identifier (SSID) of the particular access point106). In other embodiments, the communication module206may receive other information that may be used to identify the location of the mobile computing device102(e.g., the received signal strength indication (RSSI) of remote devices such as the access points106). Alternatively, as discussed above, the communication module206may communicate, for example, with satellites to determine the location of the mobile computing device102via a GPS system.

As shown inFIGS. 3-4, the mobile computing device102of the system100may implement environments300,400for location privacy management. Referring now toFIG. 3, the environment300includes an application layer, a framework layer, a firmware and/or drivers layer, and a hardware layer. As discussed above, the application202may request the location of the mobile computing device102. The location management module204determines whether the application202is authorized to obtain the requested location data (i.e., the location of the mobile computing device102at the requested granularity, etc.) based on the location access policy122and the location of the mobile computing device102.

A user of the mobile computing device102may use a policy-setting application302(e.g., via a user interface) to establish the conditions under which various applications202may obtain the location data of the mobile computing device102. For example, the user may define protected areas (i.e., locations of the mobile computing device102in which a particular application202is unauthorized to access the location). In doing so, the user may define the protected areas individually or as a collection of locations. Further, depending on the embodiment, the protected areas may be defined geodetically (e.g., latitudinal-longitudinal geodetic coordinates) or with references to landmarks (e.g., home, all Starbucks cafes in Silicon Valley, etc.). It should be appreciated that the policy-setting application302may be embodied as an application similar to the application202. That is, in some embodiments, the policy-setting application302may be embodied as an internet browser application, a browser plug-in, or a standalone application running on the mobile computing device102.

The network provider304and the GPS provider306manage the location data received from the corresponding hardware. That is, the network provider304manages the location data from the cellular circuitry126and the Wi-Fi circuitry128, whereas the GPS provider306manages the location data from the GPS circuitry124. In doing so, the network provider304may connect to a proprietary service (e.g., an Android service). Further, the network provider304may utilize a Wi-Fi management service308to interact with the Wi-Fi circuitry128and a telephony management service310to interact with the cellular circuitry126. As shown inFIG. 3, a Wi-Fi driver312, a cellular driver314, and a GPS driver316interface with the corresponding hardware of the mobile computing device102.

Referring now toFIG. 4, the mobile computing device102may implement the environment400in the firmware layer. It should be appreciated that by implementing the location privacy management system in firmware of the mobile computing device102, security and/or efficiency of the location privacy management system may be improved. As shown inFIG. 4, the environment400includes modules similar to those modules described above with regard to the environment300ofFIG. 3. The description of the modules of the environment300is equally applicable to the description of the modules of the environment400and is not repeated herein for clarity of the description. Additionally, the mobile computing device102includes a communication hub404, which is communicatively coupled to the Wi-Fi circuitry128, the cellular circuitry126, and the GPS circuitry124. The location management module204may communicate with the communication hub404and the other communication circuitry118via a communication hub firmware402. Additionally, as shown inFIG. 4, the location access policy122is located in the communication hub firmware402in the driver/firmware layer.

Referring now toFIG. 5, in use, the mobile computing device102of the system100may execute a method500for managing location privacy. The illustrative method500begins with block502in which the mobile computing device102determines whether a request for the location of the mobile computing device102has been received from an application202. The mobile computing device102may identify direct requests for the location of the mobile computing device102(e.g., requests for latitudinal-longitudinal geodetic coordinates) and/or indirect requests (e.g., requests to perform a network scan) for the location of the mobile computing device102. If a location request has been received, the mobile computing device102determines whether the requesting application202is eligible for location-based services in block504. In other words, the mobile computing device102determines whether the application202is one that, under any circumstances, may be permitted to access the location of the mobile computing device102.

If the application202is not eligible for location-based services, in block516, the mobile computing device102transmits a response (e.g., a default or standard response) to the application202based on the location access policy122. The particular response given to the application202may be statically or dynamically determined based on the location access policy122and may vary depending on the particular embodiment. In one embodiment, the mobile computing device102may block the application202and notify the application202that the location request has been denied or provide no response at all to the application202. In another embodiment, the mobile computing device102may prompt the user (e.g., via a policy-setting application302) with an opportunity to modify the location access policy rules214of the location access policy122for the requesting application202. For example, the user may modify the location access policy122to permanently or temporarily (e.g., for a specified period of time or specified number of location requests) authorize the application202to obtain location data of the mobile computing device102. Alternatively, the user may deny the location request and instruct the mobile computing device102not to prompt the user regarding the application202again in the future. In yet another embodiment, the user may assign future decision-making duties regarding the application202to another application of the mobile computing device102(e.g., a security or anti-virus application).

Returning to block504, if the mobile computing device102determines that the location-requesting application202is eligible for location-based services, the mobile computing device102determines the location of the mobile computing device102. It should be appreciated that, in doing so, the mobile computing device102may use any suitable technologies, algorithms, techniques, and mechanisms. As discussed above, the mobile computing device102may use, for example, the GPS circuitry124to determine the location of the mobile computing device102. In another embodiment, the mobile computing device102may identify the locations of access points106within a communication range of the mobile computing device102and use those locations (e.g., via trilateration) to determine the location of the mobile computing device102.

In block508, the mobile computing device102determines the location access authorization for the application202based on the location access policy122and the determined location of the mobile computing device102. That is, the mobile computing device102determines whether the application202is authorized to obtain the location of the mobile computing device102while the mobile computing device102is at that location. Additionally, as discussed above, the location access policy122may identify a level of specificity of the location data that the application202is authorized to access/obtain. For example, the application202may be authorized to obtain an exact or accurate location of the mobile computing device102(e.g., latitudinal-longitudinal geodetic coordinates), an approximate location of the mobile computing device102(e.g., the city in which the mobile computing device102is located), or location data defined by some other suitable level of specificity depending on the particular embodiment and the location access policy122. It should be appreciated that, in some embodiments, a particular application202may be authorized to obtain location data defining the location of the mobile computing device102at a first level of specificity (e.g., coarse granularity) but unauthorized to obtain location data defining the location of the mobile computing device102at a second level of specificity (e.g., fine granularity). In other words, the application202may attempt to obtain location data defining the location of the mobile computing device102more accurately and/or precisely than the application202is authorized by the location access policy122to obtain. Of course, in other embodiments, the mobile computing device102may determine the location access authorization for the application202based on the location access policy122and/or other context parameters of the mobile computing device102as discussed above. Additionally, in some embodiments, block506may occur after or contemporaneously with block508. Further, in some embodiments in which other context parameters are included in the location access policy122, the location of the mobile computing device102may not be determined until the application202has been authorized to obtain the location.

In block510, the mobile computing device102determines whether the application202is authorized to obtain the requested location data. If so, the mobile computing device102transmits the requested location data to the application202in block514. However, if the application202is unauthorized to obtain the requested location data, the mobile computing device102determines whether to permit the application202to access the requested location data in block512. That is, the mobile computing device102may (e.g., based on user input) override the location access policy122to permit the application202to access the requested location data. For example, the location access policy122may only permit a particular application202to access location data defining the location of the mobile computing device102at coarse granularity, but the user may want to permanently or temporarily allow the application202to access location data defining the location of the mobile computing device102at fine granularity (e.g., for satellite navigation while driving). Accordingly, the mobile computing device102transmits the location data to the application202in block514.

If the mobile computing device102determines not to permit the application202to access the requested location data, the mobile computing device102transmits a response (e.g., a standard or default response) to the application202based on the location access policy122in block516. In other words, if the mobile computing device102determines that the application202is eligible for location-based services but not authorized to obtain the requested location data based on the location access policy122, the mobile computing device102may transmit a response to the application202based on the location access policy122similar to the response discussed above in reference to block516. The response to an application202eligible for location-based services may include a variety of information depending on the particular embodiment. For example, as discussed above, the mobile computing device102may return nothing to the application202or notify the application202that it is unauthorized to obtain the requested location data. In another embodiment, if the application202was previously authorized to access the requested location data of the mobile computing device102, the mobile computing device102may provide the application202with the location data of the mobile computing device102associated with a point in time when the application202was last authorized to obtain the location data. In yet another embodiment, the mobile computing device102may provide the application202with a static or dynamic mock location (e.g., fake latitudinal-longitudinal geodetic coordinates). Further, the mobile computing device102may provide the application202with a mock location near the actual location of the mobile computing device102. For example, the mock location may be the actual location offset by a particular distance in a random direction. Alternatively, the mock location may be the center of the nearest city to the mobile computing device102. Of course, in other embodiments, the mobile computing device102may provide the application202with different information.

Referring now toFIG. 6, in use, the mobile computing device102of the system100may execute a method600for managing network scan data. The illustrative method600begins with block602in which the mobile computing device102determines whether the application202has attempted to perform a network scan and/or the application202has otherwise requested network scan data (i.e., data resulting from or otherwise associated with a network scan). In other words, the mobile computing device102determines whether the application202has attempted to communicate with the access points106in a communication range of the mobile computing device102or otherwise access/obtain network scan data. As indicated above, the network scan data may include the locations of the access points106or include information (e.g., MAC addresses, SSIDs, RSSI, and other access point106or location identifying information) that may be used to determine the locations of the access points106. Armed with the locations of the access points106, the application202may be able to determine the location of the mobile computing device102(e.g., via trilateration or fingerprint).

If the application202has attempted to perform a network scan or obtain network scan data, the mobile computing device102determines the location of the mobile computing device102in block604. As described above with regard to block506ofFIG. 5, the mobile computing device102may use any suitable technologies, algorithms, techniques, and mechanisms for doing so. In block606, the mobile computing device102determines whether the application202is authorized to obtain network scan data based on the location access policy122. In some embodiments, the location access policy122may specifically address whether the application202is authorized to obtain network scan data. Further, the application202may be authorized to access certain network scan data (e.g., Wi-Fi scan data) and not other network scan data in some embodiments. In other embodiments, the mobile computing device102may determine whether the application202is authorized to obtain network scan data based on the location data that the application202is authorized/unauthorized to obtain under the location access policy122. For example, the location access policy122may indicate that the application202is authorized to access location data having coarse granularity (e.g., the city in which the mobile computing device102is located) but not the actual location of the mobile computing device102. In such an embodiment, the mobile computing device102may determine that the application202is unauthorized to obtain network scan data, because the network scan data could be used to obtain location data more accurate than the authorized level of specificity of location data (i.e., coarse granularity).

If the mobile computing device102determines, in block608, that the application202not authorized to obtain the requested network scan data, the mobile computing device102transmits a response to the application202based on the location access policy122in block614. It should be appreciated that the response may be similar to the response discussed above with regard to block516ofFIG. 5. For example, the mobile computing device102may ignore (i.e., not respond to) the application202, notify the application202that it is unauthorized to access the requested network scan data, and/or provide the application202with incorrect network scan data. However, if the mobile computing device102determines that the application202is authorized to obtain the requested network scan data, the mobile computing device102may perform a network scan in block610to obtain current network scan data. Of course, if the mobile computing device102already has network scan data available, the mobile computing device102may not perform the network scan. For example, the mobile computing device102may have determined the location of the mobile computing device102in block604based on the network scan data and, therefore, have network scan data available. In block612, the mobile computing device102transmits the network scan data to the application202.

Although the technologies disclosed herein have been described with regard to an application202executed on the mobile computing device102, the application202may be embodied as other types of software “applications” in other embodiments including, but not limited to, firmware executed on the mobile computing device102. Additionally, in some embodiments, the requesting “application”202may be embodied as a hardware device or combination of hardware and software/firmware. Yet further, in some embodiments, the requesting “application”202may be embodied as an software and/or hardware remote from the computing device102, such as a separate, remote computing device. In such embodiments, the requests received from the remote computing device may be handled on the mobile computing device102by a corresponding application or other software and/or hardware. Accordingly, it should be appreciated that the application202discussed above is not limited to applications executed in an operation system.

EXAMPLES

Example 1 includes a mobile computing device for location privacy management, the mobile computing device comprising a location management module to (i) determine whether an application is authorized to obtain the location of the mobile computing device based on a determined location and a location access policy of the mobile computing device, wherein the location access policy comprises policy rules that identify whether the application is authorized to obtain the location of the mobile computing device, and (ii) block the application from obtaining the location of the mobile computing device in response to a determination that the application is not authorized to obtain the location.

Example 2 includes the subject matter of Example 1, and wherein to determine whether the application is authorized to obtain the location of the mobile computing device comprises to determine whether an application is authorized to obtain a location of an access point.

Example 3 includes the subject matter of any of Examples 1 and 2, and wherein to determine whether the application is authorized to obtain the location of the access point comprises to determine whether an application is authorized to obtain at least one of a name, a unique identifier, or a received signal strength of an access point.

Example 4 includes the subject matter of any of Examples 1-3, and wherein the location management module is to determine, in response to an attempt by the application to perform a network scan for access points within a communication range of the mobile computing device, whether the application is authorized to obtain the location of the mobile computing device.

Example 5 includes the subject matter of any of Examples 1-4, and wherein the location management module is to determine whether the application is authorized to obtain the location of the mobile computing device in response to receipt of a request for the location of the mobile computing device by the application.

Example 6 includes the subject matter of any of Examples 1-5, and wherein the location management module is to determine whether the application is authorized to obtain the location of the mobile computing device in response to a determination that the application is eligible for location-based services.

Example 7 includes the subject matter of any of Examples 1-6, and wherein the location management module is to determine a location of the mobile computing device, and wherein the location is the determined location.

Example 8 includes the subject matter of any of Examples 1-7, and further including a communication module to transmit location data to the application in response to a determination that the application is authorized to obtain the location, wherein the location data identifies the location of the mobile computing device.

Example 9 includes the subject matter of any of Examples 1-8, and wherein the policy rules identify a level of specificity at which the application is authorized to obtain the location of the mobile computing device.

Example 10 includes the subject matter of any of Examples 1-9, and wherein the location access policy comprises a first policy rule that identifies a first application as being authorized to obtain the location of the mobile computing device at a first level of specificity; and a second policy rule that identifies a second application as being authorized to obtain the location of the mobile computing device at a second level of specificity different from the first level of specificity.

Example 11 includes the subject matter of any of Examples 1-10, and wherein the location access policy comprises a third policy rule that identifies a third application that is not authorized to obtain the location of the mobile computing device.

Example 12 includes the subject matter of any of Examples 1-11, and wherein the location management module is to block the application from obtaining the location of the mobile computing device at a requested level of specificity in response to a determination that the application is not authorized to obtain the location at the requested level of specificity.

Example 13 includes the subject matter of any of Examples 1-12, and further including a communication module to transmit a default response to the application in response to a determination of the location management module to block the application from obtaining the location of the mobile computing device, wherein the default response is defined by the location access policy.

Example 14 includes a method for managing location privacy on a mobile computing device, the method comprising determining, on the mobile computing device, whether an application is authorized to obtain the location of the mobile computing device based on a determined location and a location access policy of the mobile computing device, the location access policy comprising policy rules identifying whether the application is authorized to obtain the location of the mobile computing device; blocking, on the mobile computing device, the application from obtaining the location of the mobile computing device in response to determining that the application is not authorized to obtain the location.

Example 15 includes the subject matter of Example 14, and wherein determining whether the application is authorized to obtain the location of the mobile computing device comprises determining whether an application is authorized to obtain a location of an access point.

Example 16 includes the subject matter of any of Examples 14 and 15, and wherein determining whether the application is authorized to obtain the location of the access point comprises determining whether an application is authorized to obtain at least one of a name, a unique identifier, or a received signal strength of an access point.

Example 17 includes the subject matter of any of Examples 14-16, and wherein determining whether the application is authorized to obtain the location of the mobile computing device comprises determining, in response to an attempt by the application to perform a network scan for access points within a communication range of the mobile computing device, whether the application is authorized to obtain the location of the mobile computing device.

Example 18 includes the subject matter of any of Examples 14-17, and wherein determining whether the application is authorized to obtain the location of the mobile computing device comprises determining whether the application is authorized to obtain the location of the mobile computing device in response to receiving, with the mobile computing device, a request for the location of the mobile computing device by the application.

Example 19 includes the subject matter of any of Examples 14-18, and wherein determining whether the application is authorized to obtain the location of the mobile computing device comprises determining whether the application is authorized to obtain the location of the mobile computing device in response to determining, on the mobile computing device, that the application is eligible for location-based services.

Example 20 includes the subject matter of any of Examples 14-19, and further including determining, on the mobile computing device, a location of the mobile computing device, the location being the determined location.

Example 21 includes the subject matter of any of Examples 14-20, and further including transmitting, from the mobile computing device, location data to the application in response to determining that the application is authorized to obtain the location, the location data identifying the location of the mobile computing device.

Example 22 includes the subject matter of any of Examples 14-21, and wherein the policy rules identify a level of specificity at which the application is authorized to obtain the location of the mobile computing device.

Example 23 includes the subject matter of any of Examples 14-22, and wherein the location access policy comprises a first policy rule identifying a first application as being authorized to obtain the location of the mobile computing device at a first level of specificity; and a second policy rule identifying a second application as being authorized to obtain the location of the mobile computing device at a second level of specificity different from the first level of specificity.

Example 24 includes the subject matter of any of Examples 14-23, and wherein the location access policy comprises a third policy rule identifying a third application that is not authorized to obtain the location of the mobile computing device.

Example 25 includes the subject matter of any of Examples 14-24, and wherein blocking the application from obtaining the location of the mobile computing device comprises blocking the application from obtaining the location of the mobile computing device at a requested level of specificity in response to a determining that the application is not authorized to obtain the location at the requested level of specificity.

Example 26 includes the subject matter of any of Examples 14-25, and further including transmitting, from the mobile computing device, a default response to the application in response to determining to block the application from obtaining the location of the mobile computing device, the default response being defined by the location access policy.

Example 27 includes a computing device comprising a processor; and a memory having stored therein a plurality of instructions that when executed by the processor cause the computing device to perform the method of any of Examples 14-26.

Example 28 includes one or more machine readable storage media comprising a plurality of instructions stored thereon that in response to being executed result in a computing device performing the method of any of Examples 14-26.

Example 29 includes a computing device for managing location privacy, the computing device comprising means for performing the method of any of Examples 14-26.