A method of controlling access to data, the method comprising: Receiving, by processing circuitry, a request to share a file stored on a secure network with a target user, the request identifying the file and the target user; Performing, by the processing circuitry, a location evaluation operation to determine whether the target user belongs to the secure network; when a result of the location evaluation operation indicates that the target user does not belong to the secure network, performing, by the processing circuitry, a sensitivity evaluation operation to determine whether the file identified by the request includes sensitive information; and performing, by the processing circuitry, an access control operation, the access control operation i) rejecting the request when both a) the result of the location evaluation operation indicates that the target user does not belong to the secure network, and b) a result of the sensitivity evaluation operation indicates that the file includes sensitive information, and ii) otherwise causing a link to access the file to be provided to the target user; wherein the access control operation includes: creating a share identifier, shareID, the shareID identifying the file; and when the result of the sensitivity evaluation operation indicates that the file does not include sensitive information and the result of the location evaluation operation indicates that the target user does not belong to the secure network, sending the shareID and an indication that the target user does not belong to the secure network to a web server within the secure network, the web server being configured to: generate a signature of the shareID; and cause the link to be sent to the target user. Receiving, by processing circuitry, a request to share a file stored on a secure network with a target user, the request identifying the file and the target user; Performing, by the processing circuitry, a location evaluation operation to determine whether the target user belongs to the secure network; when a result of the location evaluation operation indicates that the target user does not belong to the secure network, performing, by the processing circuitry, a sensitivity evaluation operation to determine whether the file identified by the request includes sensitive information; and performing, by the processing circuitry, an access control operation, the access control operation i) rejecting the request when both a) the result of the location evaluation operation indicates that the target user does not belong to the secure network, and b) a result of the sensitivity evaluation operation indicates that the file includes sensitive information, and ii) otherwise causing a link to access the file to be provided to the target user; wherein the access control operation includes: creating a share identifier, shareID, the shareID identifying the file; and when the result of the sensitivity evaluation operation indicates that the file does not include sensitive information and the result of the location evaluation operation indicates that the target user does not belong to the secure network, sending the shareID and an indication that the target user does not belong to the secure network to a web server within the secure network, the web server being configured to: generate a signature of the shareID; and cause the link to be sent to the target user. creating a share identifier, shareID, the shareID identifying the file; and when the result of the sensitivity evaluation operation indicates that the file does not include sensitive information and the result of the location evaluation operation indicates that the target user does not belong to the secure network, sending the shareID and an indication that the target user does not belong to the secure network to a web server within the secure network, the web server being configured to: generate a signature of the shareID; and cause the link to be sent to the target user. generate a signature of the shareID; and cause the link to be sent to the target user.