IP Library Granted Patent US 12694044
Granted Patent B2
US 12694044 · App. 18/983,941 · Granted Jul 28, 2026

Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software

Inventors: Priya Malhotra (Atlanta, GA); Kabir A. Barday (Atlanta, GA); Mihir S. Karanjkar (Marietta, GA); Steven W. Finch (Kennesaw, GA); Ken A. Browne (Johns Creek, GA); Aakash H. Patel (Norcross, GA); Jason L. Sabourin (Brookhaven, GA); Richard L. Daniel (Atlanta, GA); Dylan D. Patton-Kuhl (Atlanta, GA); Jonathan Blake Brannon (Smyrna, GA)
Assignee: OneTrust, LLC
G06F16/288G06F15/76G06F16/254G06F21/552G06F40/186G06N20/00G06Q10/06H04L63/04H04L63/101H04L63/20H04L67/306H04W12/02
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 12694044
App. No.
18/983,941
Granted
Jul 28, 2026
Kind
B2
Abstract

Data processing systems and methods according to various embodiments are adapted for automatically detecting and documenting privacy-related aspects of computer software. Particular embodiments are adapted for: (1) automatically scanning source code to determine whether the source code include instructions for collecting personal data; and (2) facilitating the documentation of the portions of the code that collect the personal data. For example, the system may automatically prompt a user for comments regarding the code. The comments may be used, for example, to populate: (A) a privacy impact assessment; (B) system documentation; and/or (C) a privacy-related data map. The system may comprise, for example, a privacy comment plugin for use in conjunction with a code repository.

Claims (46)

1 . A method comprising:

analyzing, by computing hardware, a segment of computer code to determine whether the segment comprises instructions for using personal data, wherein analyzing the segment of the computer code comprises processing the segment using at least one of a rules-based model or a machine learning model to generate an output indicating that the segment of the computer code comprises instructions to cause a computer system to collect one or more types of personal data;

determining one or more corresponding reasons for collecting the one or more types of personal data, by at least utilizing a centralized data map to determine a reason for processing the one or more types of personal data; and

responsive to determining the one or more corresponding reasons for collecting the one or more types of personal data, performing at least one of:

populating an electronic record used to document functionality of the computer code;

populating at least one question found in a questionnaire used in conducting a privacy impact assessment for the computer code; or

populating a data model, wherein the data model comprises a digital inventory for a data asset associated with the computer code.

2 . The method of claim 1 , wherein analyzing the segment of the computer code is performed via a plug-in in conjunction with a repository adapted to store the computer code.

3 . The method of claim 1 , wherein analyzing the segment of the computer code occurs at least substantially in real time as the segment of the computer code is being written.

4 . The method of claim 1 , further comprising generating the centralized data map utilizing one or more data model generation and population techniques.

5 . The method of claim 1 , further comprising generating the centralized data map utilizing by extracting comments from the segment of the computer code and populating the centralized data map from information from the comments.

6 . The method of claim 1 , wherein the centralized data map comprises one or more of one or more processing activities associated with respective data assets;

transfer data associated with the respective data assets; or

respective identifiers of one or more pieces of personal data.

7 . The method of claim 1 , further comprising providing a graphical user interface for display to a user, wherein the graphical user interface is configured to prompt the user to provide input regarding use of the personal data.

8 . A system comprising:

a non-transitory computer-readable medium storing instructions; and

a processing device communicatively coupled to the non-transitory computer-readable medium, wherein, the processing device is configured to execute the instructions and thereby perform operations comprising:

analyzing a segment of computer code to determine whether the segment comprises instructions for using personal data, wherein analyzing the segment of the computer code comprises processing the segment of the computer code using at least one of a rules-based model or a machine learning model to generate output indicating the segment of the computer code comprises instructions to cause a computer system to collect one or more types of personal data;

determining one or more corresponding reasons for collecting the one or more types of personal data, by at least utilizing a centralized data map to determine a reason for processing the one or more types of personal data; and

responsive to determining the one or more corresponding reasons for collecting the one or more types of personal data, performing at least one of:

populating an electronic record used to document functionality of the computer code;

populating at least one question found in a questionnaire used in conducting a privacy impact assessment for the computer code; or

populating a data model, wherein the data model comprises a digital inventory for a data asset associated with the computer code.

9 . The system of claim 8 , further comprising a repository adapted to store the computer code, wherein processing the segment of the computer code is performed via a plug-in in conjunction with the repository.

10 . The system of claim 8 , wherein processing the segment of the computer code occurs at least substantially in real time as the segment of the computer code is being written.

11 . The system of claim 8 , wherein the operations further comprise generating the centralized data map utilizing one or more data model generation and population techniques.

12 . The system of claim 8 , wherein the operations further comprise generating the centralized data map utilizing by extracting comments from the segment of the computer code and populating the centralized data map from information from the comments.

13 . The system of claim 8 , wherein the centralized data map comprises one or more of one or more processing activities associated with respective data assets;

transfer data associated with the respective data assets; or

respective identifiers of one or more pieces of personal data.

14 . The system of claim 8 , wherein the operations further comprise providing a graphical user interface for display to a user, wherein the graphical user interface is configured to prompt the user to provide input regarding use of the personal data.

15 . A non-transitory computer-readable medium having program code that is stored thereon, the program code executable by one or more processing devices for performing operations comprising:

analyzing a segment of computer code to determine whether the segment comprises instructions for using personal data, wherein analyzing the segment of the computer code comprises processing the segment using at least one of a rules-based model or a machine learning model to generate an output indicating that the segment of the computer code comprises instructions to cause a computer system to collect one or more types of personal data;

determining one or more corresponding reasons for collecting the one or more types of personal data, by at least utilizing a centralized data map to determine a reason for processing the one or more types of personal data; and

responsive to determining the one or more corresponding reasons for collecting the one or more types of personal data, performing at least one of:

populating an electronic record used to document functionality of the computer code;

populating at least one question found in a questionnaire used in conducting a privacy impact assessment for the computer code; or

populating a data model, wherein the data model comprises a digital inventory for a data asset associated with the computer code.

16 . The non-transitory computer-readable medium of claim 15 , wherein the program code comprises a plug-in used in conjunction with a repository adapted to store the computer code.

17 . The non-transitory computer-readable medium of claim 15 , wherein processing the segment of the computer code occurs at least substantially in real time as the segment of the computer code is being written.

18 . The non-transitory computer-readable medium of claim 15 , wherein the centralized data map comprises one or more of one or more processing activities associated with respective data assets;

transfer data associated with the respective data assets; or

respective identifiers of one or more pieces of personal data.

19 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise generating the centralized data map utilizing by extracting comments from the segment of the computer code and populating the centralized data map from information from the comments.

20 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise providing a graphical user interface for display to a user, wherein the graphical user interface is configured to prompt the user to provide input regarding use of the personal data.