Patent ID: 8041719

Claim:
A method for a client device, comprising: receiving, by the client device from a server, an abstract data structure derived from data elements of pre-selected data to be protected, the pre-selected data being stored on the server, the abstract data structure containing positional information identifying a position in the pre-selected data for each data element of the pre-selected data, the abstract data structure further containing pre-generated hashes of the data elements of the pre-selected data; storing the abstract data structure containing the positional information and the pre-generated hashes in memory of the client device; searching, locally, text contained in a plurality of documents stored on a plurality of data storage media of the client device for an indication that at least a portion of the pre-selected data stored on the server is contained in the text of the plurality of documents, the searching comprising creating hashes of text of at least one document in the plurality of documents, determining whether a sequence of hashes at least partially matches pre-generated hashes of data elements from at least one random row in the pre-selected data using the positional information in the abstract data structure; detecting locally at least a portion of the pre-selected data in the text of at least one of the plurality of documents stored on any of the plurality of data storage media of the client device, the detection indicating that a user of the client device has caused the portion of the preselected data residing on the server to be stored on the client device, the detecting comprising determining that the sequence of hashes matches the pre-generated hashes of data elements from one or more columns in the pre-selected data using the positional information in the abstract data structure; and sending, from the client device to the server, a notification of the detection of the portion of the pre-selected data in the text of at least one of the plurality of documents stored on any of the plurality of data storage media of the client device, the client device being a personal computing device.