IP Library Granted Patent US 12705395
Granted Patent B2
US 12705395 · App. 18/889,493 · Granted Aug 11, 2026

Systems and methods for applying data anonymization schemes based on versions of a software

Inventors: Mikhail Balayan (Singapore, SG); Serg Bell (Singapore, SG); Stanislav Protasov (Singapore, SG)
Assignee: Acronis International GmbH
G06F21/6254G06F8/71
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12705395
App. No.
18/889,493
Granted
Aug 11, 2026
Kind
B2
Abstract

A system may store user data associated with a usage of a software application. A system may receive a request for the user data from a developer of the software application. A system may determine whether the user data is generated from a first version of the software application or a second version of the software application. A system may in response to determining that the user data is generated from the first version of the software application, retrieving a first dictionary that indicates an anonymization scheme for transmitting the user data of the first version of the software application, wherein each version of the software application has a different dictionary. A system may execute the anonymization scheme on the user data to generate anonymized user data. A system may transmit the anonymized user data to the developer in response to the request.

Claims (54)

1 . A method for anonymizing user data, the method comprising:

storing user data associated with a usage of a software application;

receiving a request for the user data from a developer of the software application;

determining whether the user data is generated from a first version of the software application or a second version of the software application, wherein the structure of user data changes based on a version of the software application accessing the user data;

in response to determining that the user data is generated from the first version of the software application, retrieving a first dictionary that indicates an anonymization scheme for transmitting the user data of the first version of the software application, wherein each version of the software application has a different dictionary;

executing the anonymization scheme on the user data to generate anonymized user data; and

transmitting the anonymized user data to the developer in response to the request.

2 . The method of claim 1 , further comprising:

in response to determining that the user data is generated from the second version of the software application, retrieving a second dictionary that indicates a different anonymization scheme for transmitting the user data of the second version of the software application;

executing the different anonymization scheme on the user data to generate different anonymized user data; and

transmitting the different anonymized user data to the developer in response to the request.

3 . The method of claim 1 , wherein the user data comprises: clickstream data, user settings in the software application, and personal information.

4 . The method of claim 1 , further comprising:

prior to storing the user data, receiving the first version of the software application and the first dictionary from the developer.

5 . The method of claim 4 , further comprising verifying the first dictionary by:

constructing, using a database service table, a data model comprising various tables and fields representing user data expected to be produced by the first version of the software application;

verifying that the first dictionary corresponds to the first version of the software application in response to determining that all of the various tables and fields are described in the first dictionary.

6 . The method of claim 1 , wherein receiving the request for the user data further comprises:

identifying, in the request, a query for a data point in a data field of the user data; and

determining that the data field includes personally identifiable information (PII) of a user.

7 . The method of claim 6 , wherein the anonymization scheme removes the PII of the user from the user data, and wherein transmitting the anonymized user data to the developer comprises:

transmitting the data point without the PII of the user.

8 . The method of claim 1 , wherein the first dictionary specifies a structure of the user data and fields within the structure that should be transmitted as is, encrypted, withheld from transmission, or modified before transmission.

9 . A system for anonymizing user data, the system comprising:

at least one memory; and

at least one hardware processor coupled with the at least one memory and configured, individually or in combination, to:

store, in the at least one memory, user data associated with a usage of a software application;

receive a request for the user data from a developer of the software application;

determine whether the user data is generated from a first version of the software application or a second version of the software application, wherein the structure of user data changes based on a version of the software application accessing the user data;;

in response to determining that the user data is generated from the first version of the software application, retrieve a first dictionary that indicates an anonymization scheme for transmitting the user data of the first version of the software application, wherein each version of the software application has a different dictionary;

execute the anonymization scheme on the user data to generate anonymized user data; and

transmit the anonymized user data to the developer in response to the request.

10 . The system of claim 9 , wherein the at least one hardware processor is further configured to:

in response to determining that the user data is generated from the second version of the software application, retrieve a second dictionary that indicates a different anonymization scheme for transmitting the user data of the second version of the software application;

execute the different anonymization scheme on the user data to generate different anonymized user data; and

transmit the different anonymized user data to the developer in response to the request.

11 . The system of claim 9 , wherein the user data comprises: clickstream data, user settings in the software application, and personal information.

12 . The system of claim 9 , wherein the at least one hardware processor is further configured to:

prior to storing the user data, receive the first version of the software application and the first dictionary from the developer.

13 . The system of claim 12 , wherein the at least one hardware processor is further configured to verify the first dictionary by:

constructing, using a database service table, a data model comprising various tables and fields representing user data expected to be produced by the first version of the software application;

verifying that the first dictionary corresponds to the first version of the software application in response to determining that all of the various tables and fields are described in the first dictionary.

14 . The system of claim 9 , wherein the at least one hardware processor is further configured to:

identify, in the request, a query for a data point in a data field of the user data; and

determine that the data field includes personally identifiable information (PII) of a user.

15 . The system of claim 14 , wherein the anonymization scheme removes the PII of the user from the user data, and wherein the at least one hardware processor is further configured to transmit the anonymized user data to the developer by transmitting the data point without the PII of the user.

16 . The system of claim 9 , wherein the first dictionary specifies a structure of the user data and fields within the structure that should be transmitted as is, encrypted, withheld from transmission, or modified before transmission.

17 . A non-transitory computer readable medium storing thereon computer executable instructions for anonymizing user data, including instructions for:

storing user data associated with a usage of a software application;

receiving a request for the user data from a developer of the software application;

determining whether the user data is generated from a first version of the software application or a second version of the software application, wherein the structure of user data changes based on a version of the software application accessing the user data;

in response to determining that the user data is generated from the first version of the software application, retrieving a first dictionary that indicates an anonymization scheme for transmitting the user data of the first version of the software application, wherein each version of the software application has a different dictionary;

executing the anonymization scheme on the user data to generate anonymized user data; and

transmitting the anonymized user data to the developer in response to the request.