transmitted from the client device 310 to the cloud based data manipulation system 330 are in encrypted form the user of client device 310 may be presented with a data file via web browser 315 and may be afforded the ability to manipulate the data in the data file via client application 312 referring now to fig5 when the user manipulates 501 the data in such a data file it may be regarded as a data manipulation event the changes to the data file embodied by the data manipulation event are recorded 502 by the client application 312 and encoded as a u201c mutation u201d data manipulation events may comprise one or more discrete and chronologically successive data manipulation operations and these data manipulation operations include but are not limited to data insertion operations comprising the insertion into the data file content of a contiguous string of data and data deletion operations comprising the deletion from the data file content of a contiguous string of data data manipulation events that comprise a chronologically successive set of such discrete insertion and deletion operations may also be recorded in a single mutation in other words a mutation may encode a data manipulation event which in turn may comprise one or more insertion and or deletion operations in some embodiments the amount of data manipulation that may be recorded in a single mutation is a matter of preference and it will be appreciated that the client application 312 may therefore be configured to record mutations according to such preferences the point at which a discrete mutation is recorded may be.