A method of deleting log records, the method comprising: identifying, by a computing device from a log record database, a plurality of log records generated during a time period, wherein each log record corresponds to a user activity; and for each identified log record: determining, by the computing device, whether a delete request associated with the log record has been made, and in response to determining that a delete request has not been received: identifying a unique identifier associated with the log record, searching a user activity table, configured to store one or more user activities keyed by a respective user identifier, for an entry having a key table index associated with the unique identifier, wherein the entry is associated with a timestamp, after the searching the user activity table, using the key table index and the timestamp to identify a key associated with the unique identifier and the timestamp from a key table, after the identification of the key, encrypting, by the computing device, at least a portion of the log record with the identified key to generate an encrypted value, and after the generation of the encrypted value, storing the encrypted value as an entry in the log record database that is associated with the identified log record. identifying, by a computing device from a log record database, a plurality of log records generated during a time period, wherein each log record corresponds to a user activity; and for each identified log record: determining, by the computing device, whether a delete request associated with the log record has been made, and in response to determining that a delete request has not been received: identifying a unique identifier associated with the log record, searching a user activity table, configured to store one or more user activities keyed by a respective user identifier, for an entry having a key table index associated with the unique identifier, wherein the entry is associated with a timestamp, after the searching the user activity table, using the key table index and the timestamp to identify a key associated with the unique identifier and the timestamp from a key table, after the identification of the key, encrypting, by the computing device, at least a portion of the log record with the identified key to generate an encrypted value, and after the generation of the encrypted value, storing the encrypted value as an entry in the log record database that is associated with the identified log record. determining, by the computing device, whether a delete request associated with the log record has been made, and in response to determining that a delete request has not been received: identifying a unique identifier associated with the log record, searching a user activity table, configured to store one or more user activities keyed by a respective user identifier, for an entry having a key table index associated with the unique identifier, wherein the entry is associated with a timestamp, after the searching the user activity table, using the key table index and the timestamp to identify a key associated with the unique identifier and the timestamp from a key table, after the identification of the key, encrypting, by the computing device, at least a portion of the log record with the identified key to generate an encrypted value, and after the generation of the encrypted value, storing the encrypted value as an entry in the log record database that is associated with the identified log record. identifying a unique identifier associated with the log record, searching a user activity table, configured to store one or more user activities keyed by a respective user identifier, for an entry having a key table index associated with the unique identifier, wherein the entry is associated with a timestamp, after the searching the user activity table, using the key table index and the timestamp to identify a key associated with the unique identifier and the timestamp from a key table, after the identification of the key, encrypting, by the computing device, at least a portion of the log record with the identified key to generate an encrypted value, and after the generation of the encrypted value, storing the encrypted value as an entry in the log record database that is associated with the identified log record.