| CPC H04L 9/3213 (2013.01) [G06Q 30/0271 (2013.01); H04L 9/50 (2022.05)] | 14 Claims |

|
1. A system for client-side mapping, comprising:
a data storage device storing a plurality of app bundles, wherein each app bundle is associated with a different category from among a plurality of categories of targeted content;
at least one data services processor coupled to at least one data services memory storing sequences of instructions which, when executed, causes the data services processor to perform:
encrypting a plurality of personal information items forming a set of personal information items using a hashing algorithm;
constructing a Bloom filter comprising a bit vector comprising a plurality of bits, wherein bits are set in the bit vector at an index corresponding to each encrypted personal information item;
determining a time-to-live parameter for the Bloom filter based on a campaign duration;
receiving a storage capacity notification indicating available storage within a predetermined storage quote allocated for targeted message processing in an app bundle;
determining that the available storage is sufficient to store the Bloom filter;
monitoring a connection state and power state;
a communications network electronically linked to the data services processor;
a client device electronically linked to the communications network, the client device comprising a display, an app data storage area, and at least one client processor coupled to at least one client memory storing sequences of instructions which, when executed, causes the client processor to perform:
receiving the Bloom filter from the data services processor across the communications network during a time window when the client device is connected to the communications network and connected to external power;
storing the Bloom filter in the app data storage area;
hashing a client-side item of personal information according to the hashing algorithm to produce a token comprising a locally hashed item of personal information;
searching the bit vector of the Bloom filter to determine if a hit occurs on a bit within the bit vector for the token;
if a hit occurs on a bit within the bit vector for the token, setting a targeted message on the display, and if a hit does not occur on a bit within the bit vector for the locally hashed item of personal information, then not setting a targeted message on the display; and
automatically deleting the Bloom filter from the app data storage area upon expiration of the time-to-live parameter.
|