A method for providing access to computer files, the method comprising: receiving, by an encryption engine on a local computer, from a remote computer, a request to access a file; in response to receiving the request to access the file from the remote computer, determining, by the encryption engine, one or more parameters of each of the requested files, the remote computer and a user of the remote computer, wherein the parameters of the remote computer include one or more of an indicator of whether a computer's disk is encrypted or unencrypted, a type of disk encryption, and the computer's security level, wherein the security level of the remote computer depends on the date of the last updating of the antivirus database, the presence of unpatched vulnerabilities on the computer, the date of the last antivirus check and the result of this check as well as a list of installed applications; determining, based on the determined parameters of each of the requested files, the remote computer and a user, an access rule for the requested file that specifies encryption requirements for the requested file, wherein the determining includes applying the determined parameters to a plurality of conditions and determining the access rule is based on whether the parameters satisfy the plurality of conditions; transmitting, by the encryption engine of the local computer, the determined access rule to the requested file to an encryption engine of the remote computer; performing, by the encryption engine on the local computer and by applying the access rule to the requested file, one of sending the requested file as cleartext to the remote computer, sending the requested file as ciphertext to the remote computer, or denying access to the requested file, when the requested file is sent as ciphertext based on the access rule, extracting, by the encryption engine of the remote computer, an encrypted file key from metadata of the requested file and transmitting the encrypted file key to a protection center; and decrypting, by the protection center, the encrypted file key based on at least one file access policy and transmitting the decrypted file key to the encryption engine of the remote computer to decrypt and access the ciphertext. receiving, by an encryption engine on a local computer, from a remote computer, a request to access a file; in response to receiving the request to access the file from the remote computer, determining, by the encryption engine, one or more parameters of each of the requested files, the remote computer and a user of the remote computer, wherein the parameters of the remote computer include one or more of an indicator of whether a computer's disk is encrypted or unencrypted, a type of disk encryption, and the computer's security level, wherein the security level of the remote computer depends on the date of the last updating of the antivirus database, the presence of unpatched vulnerabilities on the computer, the date of the last antivirus check and the result of this check as well as a list of installed applications; determining, based on the determined parameters of each of the requested files, the remote computer and a user, an access rule for the requested file that specifies encryption requirements for the requested file, wherein the determining includes applying the determined parameters to a plurality of conditions and determining the access rule is based on whether the parameters satisfy the plurality of conditions; transmitting, by the encryption engine of the local computer, the determined access rule to the requested file to an encryption engine of the remote computer; performing, by the encryption engine on the local computer and by applying the access rule to the requested file, one of sending the requested file as cleartext to the remote computer, sending the requested file as ciphertext to the remote computer, or denying access to the requested file, when the requested file is sent as ciphertext based on the access rule, extracting, by the encryption engine of the remote computer, an encrypted file key from metadata of the requested file and transmitting the encrypted file key to a protection center; and decrypting, by the protection center, the encrypted file key based on at least one file access policy and transmitting the decrypted file key to the encryption engine of the remote computer to decrypt and access the ciphertext.