An apparatus comprising: a memory to store data; and a processor coupled to the memory, the processor to: modify a plurality of data elements (18a-c, 18d-f) using a semantic relationship between the plurality of data elements (18a-c, 18d-f) and a pre-selected data security policy; store data representing the modified plurality of data elements (19'a, 19'b) in the memory; select a marker from a plurality of markers using the preselected data security policy, wherein the processor is to add additional information to the plurality of data elements (18a-c, 18d-f) using the selected marker and/or to alter a data element (18a-c, 18d-f) of the plurality of data elements (18a-c, 18d-f) using the selected marker, wherein the selected marker is one of a canary marker, a cryptographic code, a honey-token, a checksum, a marker to support a data security policy specified by a user and a watermark; wherein the apparatus is characterised in that the processor is to modify a memory layout of a data type of the plurality of data elements (18a-c, 18d-f) using additional memory addresses to store additional data elements, wherein the additional memory addresses are interleaved by memory addresses used to store unmodified data elements (18a-c, 18d-f), and wherein the memory addresses and an additional memory address form the modified memory layout; and store the modified plurality of data elements as a modified data type in the memory using a modified memory layout. a memory to store data; and a processor coupled to the memory, the processor to: modify a plurality of data elements (18a-c, 18d-f) using a semantic relationship between the plurality of data elements (18a-c, 18d-f) and a pre-selected data security policy; store data representing the modified plurality of data elements (19'a, 19'b) in the memory; select a marker from a plurality of markers using the preselected data security policy, wherein the processor is to add additional information to the plurality of data elements (18a-c, 18d-f) using the selected marker and/or to alter a data element (18a-c, 18d-f) of the plurality of data elements (18a-c, 18d-f) using the selected marker, wherein the selected marker is one of a canary marker, a cryptographic code, a honey-token, a checksum, a marker to support a data security policy specified by a user and a watermark; wherein the apparatus is characterised in that the processor is to modify a memory layout of a data type of the plurality of data elements (18a-c, 18d-f) using additional memory addresses to store additional data elements, wherein the additional memory addresses are interleaved by memory addresses used to store unmodified data elements (18a-c, 18d-f), and wherein the memory addresses and an additional memory address form the modified memory layout; and store the modified plurality of data elements as a modified data type in the memory using a modified memory layout. modify a plurality of data elements (18a-c, 18d-f) using a semantic relationship between the plurality of data elements (18a-c, 18d-f) and a pre-selected data security policy; store data representing the modified plurality of data elements (19'a, 19'b) in the memory; select a marker from a plurality of markers using the preselected data security policy, wherein the processor is to add additional information to the plurality of data elements (18a-c, 18d-f) using the selected marker and/or to alter a data element (18a-c, 18d-f) of the plurality of data elements (18a-c, 18d-f) using the selected marker, wherein the selected marker is one of a canary marker, a cryptographic code, a honey-token, a checksum, a marker to support a data security policy specified by a user and a watermark; wherein the apparatus is characterised in that the processor is to modify a memory layout of a data type of the plurality of data elements (18a-c, 18d-f) using additional memory addresses to store additional data elements, wherein the additional memory addresses are interleaved by memory addresses used to store unmodified data elements (18a-c, 18d-f), and wherein the memory addresses and an additional memory address form the modified memory layout; and store the modified plurality of data elements as a modified data type in the memory using a modified memory layout.