A machine-implemented method for securing a client (102, 104, 106), comprising: a server intermittently receiving, from the client (102, 104, 106), two or more of: global positioning system information for the client (102, 104, 106), triangulation information, for the client (102, 104, 106), based on one or more Wi-Fi access points, and IP trace information for the client (102, 104, 106); a software component, executing on the server, determining a present location of the client (102, 104, 106) by performing: determining whether any portion of the global positioning system information, the triangulation information, and the IP trace information was received during an interval of time having a configurable length and ending in a current time, determining a weight associated with each portion of the GPS information, the triangulation information, and the IP trace information that was received during the interval of time, and calculating the present location of the client (102, 104, 106) by determining a weighted arithmetic mean for the portions of GPS information, the triangulation information, and the IP trace information that were received during the interval of time; and in response to the server following a security policy that is described by policy data stored on the server, the server performing an action, specified by the security policy, based on the present location of the client (102, 104, 106). a server intermittently receiving, from the client (102, 104, 106), two or more of: global positioning system information for the client (102, 104, 106), triangulation information, for the client (102, 104, 106), based on one or more Wi-Fi access points, and IP trace information for the client (102, 104, 106); a software component, executing on the server, determining a present location of the client (102, 104, 106) by performing: determining whether any portion of the global positioning system information, the triangulation information, and the IP trace information was received during an interval of time having a configurable length and ending in a current time, determining a weight associated with each portion of the GPS information, the triangulation information, and the IP trace information that was received during the interval of time, and calculating the present location of the client (102, 104, 106) by determining a weighted arithmetic mean for the portions of GPS information, the triangulation information, and the IP trace information that were received during the interval of time; and determining whether any portion of the global positioning system information, the triangulation information, and the IP trace information was received during an interval of time having a configurable length and ending in a current time, determining a weight associated with each portion of the GPS information, the triangulation information, and the IP trace information that was received during the interval of time, and calculating the present location of the client (102, 104, 106) by determining a weighted arithmetic mean for the portions of GPS information, the triangulation information, and the IP trace information that were received during the interval of time; and in response to the server following a security policy that is described by policy data stored on the server, the server performing an action, specified by the security policy, based on the present location of the client (102, 104, 106).