1. A computer-implemented method of a cloud-based collaboration platform, the method, comprising: receiving a data file encrypted with a first key; receiving the first key encrypted with a second key; decrypting the first key with the second key; determining an index into key encryption pool based on the value of the second key, the key encryption pool including multiple indexed keys; selecting a third key corresponding to the index into the key encryption pool; encrypting the first key with the third key to generate an encrypted key file; storing, by the cloud-based collaboration platform, the encrypted key file and the data file encrypted with the first key in a storage location; creating a record associating the data file with the encrypted key file; storing a record of the correspondence between the third key and the data file; receiving a request for the data file; and sending a response to the request indicating a location of the encryption key file and a location of the encrypted data file.