A computer-implemented method for tokenizing data comprising: Receiving, at a client, sensitive data to be tokenized; querying a token table associated with the client with a portion of the sensitive data to determine if the token table includes a token mapped to a value of the portion of the sensitive data, the token table storing a plurality of tokens each mapped to a different value; responsive to a determination that the token table includes a token mapped to the value of the portion of the sensitive data, replacing the portion of the sensitive data with the token to form tokenized data; responsive to a determination that the token table does not include a token mapped to the value of the portion of the sensitive data: generating a candidate token; querying a central token management system communicatively coupled to the client with the candidate token to determine if a collision exists between the candidate token and a token generated by or stored at another client communicatively coupled to the central token management system, the central token management system configured to query one or more clients communicatively coupled to the central token management system with the candidate token to determine if the queried clients include a token equivalent to the candidate token, wherein the central token management system is configured to restrict the tokens each client can generate to a set of values unique to each client, wherein the central token management system is configured to assign each client a unique numeric seed value, and assign each client a range of values beginning with the unique numeric seed value; and responsive to a determination that no collision exists, replacing the portion of the sensitive data with the candidate token to form tokenized data and storing the candidate token in the token table associated with the client. Receiving, at a client, sensitive data to be tokenized; querying a token table associated with the client with a portion of the sensitive data to determine if the token table includes a token mapped to a value of the portion of the sensitive data, the token table storing a plurality of tokens each mapped to a different value; responsive to a determination that the token table includes a token mapped to the value of the portion of the sensitive data, replacing the portion of the sensitive data with the token to form tokenized data; responsive to a determination that the token table does not include a token mapped to the value of the portion of the sensitive data: generating a candidate token; querying a central token management system communicatively coupled to the client with the candidate token to determine if a collision exists between the candidate token and a token generated by or stored at another client communicatively coupled to the central token management system, the central token management system configured to query one or more clients communicatively coupled to the central token management system with the candidate token to determine if the queried clients include a token equivalent to the candidate token, wherein the central token management system is configured to restrict the tokens each client can generate to a set of values unique to each client, wherein the central token management system is configured to assign each client a unique numeric seed value, and assign each client a range of values beginning with the unique numeric seed value; and responsive to a determination that no collision exists, replacing the portion of the sensitive data with the candidate token to form tokenized data and storing the candidate token in the token table associated with the client. generating a candidate token; querying a central token management system communicatively coupled to the client with the candidate token to determine if a collision exists between the candidate token and a token generated by or stored at another client communicatively coupled to the central token management system, the central token management system configured to query one or more clients communicatively coupled to the central token management system with the candidate token to determine if the queried clients include a token equivalent to the candidate token, wherein the central token management system is configured to restrict the tokens each client can generate to a set of values unique to each client, wherein the central token management system is configured to assign each client a unique numeric seed value, and assign each client a range of values beginning with the unique numeric seed value; and responsive to a determination that no collision exists, replacing the portion of the sensitive data with the candidate token to form tokenized data and storing the candidate token in the token table associated with the client.