A method of operating a network interconnected security device comprising, at said security device, characterized by: intercepting a request message to be exchanged over a network connection between a computing device and a server, said request message comprising request payload data and said request message encoded in accordance with an application layer protocol; identifying the application layer protocol; selecting a data extraction algorithm in dependence on the identified application layer protocol; applying tokenization rules to said request payload data to: extract, using said data extraction algorithm, sensitive data from said request message; and forward said sensitive data to a token encoder, to allow said token encoder to store said sensitive data and return at least one token used to identify said sensitive data; receiving from said token encoder said at least one token; replacing said sensitive data in said payload of said request message with said at least one token to form modified payload; forming a modified message comprising said payload as modified; providing said modified message to said server; receiving from said server a response message to be provided to said computing device over the network connection, said response message comprising response payload data; applying de-tokenization rules to said response payload data of said response message to identify at least one token within said response message; retrieving from said token encoder data stored in association with said at least one token in said response message; replacing said at least one token in said response payload data with said data as retrieved; forming a modified response message comprising said response message payload as modified and a network address of said computing device; providing said modified response message to said computing device. intercepting a request message to be exchanged over a network connection between a computing device and a server, said request message comprising request payload data and said request message encoded in accordance with an application layer protocol; identifying the application layer protocol; selecting a data extraction algorithm in dependence on the identified application layer protocol; applying tokenization rules to said request payload data to: extract, using said data extraction algorithm, sensitive data from said request message; and forward said sensitive data to a token encoder, to allow said token encoder to store said sensitive data and return at least one token used to identify said sensitive data; extract, using said data extraction algorithm, sensitive data from said request message; and forward said sensitive data to a token encoder, to allow said token encoder to store said sensitive data and return at least one token used to identify said sensitive data; receiving from said token encoder said at least one token; replacing said sensitive data in said payload of said request message with said at least one token to form modified payload; forming a modified message comprising said payload as modified; providing said modified message to said server; receiving from said server a response message to be provided to said computing device over the network connection, said response message comprising response payload data; applying de-tokenization rules to said response payload data of said response message to identify at least one token within said response message; retrieving from said token encoder data stored in association with said at least one token in said response message; replacing said at least one token in said response payload data with said data as retrieved; forming a modified response message comprising said response message payload as modified and a network address of said computing device; providing said modified response message to said computing device.