A data masking system comprising: a processor; and a memory coupled to the processor, the memory comprising, a masking setup module configured to: obtain a masking template having a plurality of masking properties; associate the masking template with at least one rule; select columns of a database based on the at least one rule, characterised in that the masking setup module is further configured to: simulate a masking setup for the selected columns, by applying the masking template onto the selected columns to check whether the selected columns are maskable based on the plurality of masking properties of the masking template; based on the simulating, identify columns, from the selected columns, on which the masking template is applicable for masking; and initiate the masking setup for the identified columns, wherein in initiating the masking setup the plurality of masking properties of the masking template are set on the identified columns for masking the identified columns. a processor; and a memory coupled to the processor, the memory comprising, a masking setup module configured to: obtain a masking template having a plurality of masking properties; associate the masking template with at least one rule; select columns of a database based on the at least one rule, characterised in that the masking setup module is further configured to: simulate a masking setup for the selected columns, by applying the masking template onto the selected columns to check whether the selected columns are maskable based on the plurality of masking properties of the masking template; based on the simulating, identify columns, from the selected columns, on which the masking template is applicable for masking; and initiate the masking setup for the identified columns, wherein in initiating the masking setup the plurality of masking properties of the masking template are set on the identified columns for masking the identified columns. obtain a masking template having a plurality of masking properties; associate the masking template with at least one rule; select columns of a database based on the at least one rule, characterised in that the masking setup module is further configured to: simulate a masking setup for the selected columns, by applying the masking template onto the selected columns to check whether the selected columns are maskable based on the plurality of masking properties of the masking template; based on the simulating, identify columns, from the selected columns, on which the masking template is applicable for masking; and initiate the masking setup for the identified columns, wherein in initiating the masking setup the plurality of masking properties of the masking template are set on the identified columns for masking the identified columns. simulate a masking setup for the selected columns, by applying the masking template onto the selected columns to check whether the selected columns are maskable based on the plurality of masking properties of the masking template; based on the simulating, identify columns, from the selected columns, on which the masking template is applicable for masking; and initiate the masking setup for the identified columns, wherein in initiating the masking setup the plurality of masking properties of the masking template are set on the identified columns for masking the identified columns.