IP Library Granted Patent US 11,025,675
Granted Patent B2
US 11,025,675 · App. 17/034,355 · Granted Jun 1, 2021

Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance

Inventors: Kabir A. Barday (Atlanta, GA); Mihir S. Karanjkar (Marietta, GA); Steven W. Finch (Kennesaw, GA); Ken A. Browne (Johns Creek, GA); Nathan W. Heard (Marietta, 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
H04L63/20G06Q10/06H04L63/04
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 11,025,675
App. No.
17/034,355
Granted
Jun 1, 2021
Kind
B2
Abstract

In various embodiments, a data map generation system is configured to receive a request to generate a privacy-related data map for particular computer code, and, at least partially in response to the request, determine a location of the particular computer code, automatically obtain the particular computer code based on the determined location, and analyze the particular computer code to determine privacy-related attributes of the particular computer code, where the privacy-related attributes indicate types of personal information that the particular computer code collects or accesses. The system may be further configured to generate and display a data map of the privacy-related attributes to a user.

Claims (93)

1. A computer system for electronically analyzing computer code to generate a data map, the computer system comprising:

one or more computer processors; and

computer memory operatively coupled to the one or more computer processors, wherein the computer system is configured for:

receiving, from a particular user, by the one or more computer processors, a request to generate a privacy-related data map for particular computer code;

at least partially in response to receiving the request:

determining, by the one or more computer processors, a location of the particular computer code;

automatically obtaining, by the one or more computer processors, the particular computer code based on the determined location;

automatically electronically analyzing the particular computer code, by the one or more computer processors, to determine one or more privacy-related attributes of the particular computer code, each of the one or more privacy-related attributes indicating one or more types of personal information that the particular computer code collects or accesses, by:

connecting to an application executing on one or more remote computing devices using an application programming interface;

scanning one or more data repositories on the one or more remote computing devices to identify one or more data attributes, wherein the one or more data attributes are associated with a processing activity, and wherein the processing activity is associated with the particular computer code;

analyzing the one or more data attributes and correlating metadata for the scanned one or more data repositories with particular attributes of the one or more data attributes discovered in the one or more data repositories; and

determining, based at least in part on analyzing the one or more data attributes and correlating the metadata for the scanned one or more data repositories with the particular attributes of the one or more data attributes, one or more of the one or more privacy-related attributes of the particular computer code; and

electronically generating, by the one or more computer processors, a data map of the one or more privacy-related attributes;

digitally storing, by the one or more computer processors, the data map in the computer memory; and

electronically displaying, by the one or more computer processors, the data map to the particular user.

2. The computer system of claim 1 , wherein electronically generating the data map comprises:

analyzing the particular computer code to identify a storage location of data comprising the one or more types of personal information;

retrieving the data from the storage location; and

generating a visual representation of the particular computer code that includes the data.

3. The computer system of claim 1 , wherein electronically generating the data map comprises:

analyzing the particular computer code to identify a storage location of data comprising the one or more types of personal information;

retrieving the data from the storage location;

after retrieving the data from the storage location, identifying one or more pieces of the data that comprise a particular type of the one or more types of personal information; and

generating a visual representation of the particular type of the one or more types of personal information that includes the one or more pieces of the data that comprise the particular type of the one or more types of personal information.

4. The computer system of claim 1 , wherein the computer system is further configured for:

receiving an indication that the particular computer code has been modified;

at least partially in response to receiving the indication, analyzing the particular computer code to identify one or more changes in the one or more privacy-related attributes of the particular computer code; and

modifying the data map to reflect the identified one or more changes.

5. The computer system of claim 4 , wherein the computer system is further configured for:

continuously modifying the data map based at least in part on one or more additional changes identified, by the one or more processors, in response to receiving one or more additional indications that the particular computer code has been modified.

6. The computer system of claim 1 , wherein the one or more privacy-related attributes further identify a storage location of one or more pieces of personal information of the one or more types of personal information that the particular computer code collects or accesses.

7. A non-transitory computer-readable medium storing computer-executable instructions for:

receiving, from a particular user, a request to generate a data map for one or more privacy-related attributes of a piece of computer code, the request comprising one or more criteria;

determining a location of the piece of computer code;

automatically obtaining the piece of computer code based on the determined location;

automatically electronically analyzing the piece of computer code to determine the one or more privacy-related attributes of the piece of computer code, each of the one or more privacy-related attributes indicating one or more types of personal information that the piece of computer code collects or accesses, by:

connecting to an application executing on one or more remote computing devices using an application programming interface;

scanning one or more data repositories on the one or more remote computing devices to identify one or more data attributes, wherein the one or more data attributes are associated with a processing activity, and wherein the processing activity is associated with the piece of computer code;

analyzing the one or more data attributes and correlating metadata for the scanned one or more data repositories with particular attributes of the one or more data attributes discovered in the one or more data repositories; and

determining, based at least in part on analyzing the one or more data attributes and correlating the metadata for the scanned one or more data repositories with the particular attributes of the one or more data attributes, one or more of the one or more privacy-related attributes of the piece of computer code;

after determining the one or more privacy-related attributes of the piece of computer code, electronically generating a data map of the one or more privacy-related attributes based at least in part on the one or more criteria;

digitally storing the data map in computer memory; and

electronically displaying the data map to the particular user.

8. The non-transitory computer-readable medium of claim 7 , wherein the steps of automatically analyzing the piece of computer code and electronically generating the data map are executed in response to receiving the request.

9. The non-transitory computer-readable medium of claim 7 , wherein:

the one or more criteria comprise one or more criteria to generate a data map based at least in part on a particular type of the one or more types of personal information.

10. The non-transitory computer-readable medium of claim 7 , wherein electronically generating the data map comprises:

analyzing the piece of computer code to identify a storage location of data comprising the one or more types of personal information;

retrieving the data from the storage location;

identifying one or more pieces of the data that comprise a particular type of the one or more types of personal information; and

generating a visual representation of the particular type of the one or more types of personal information that includes the one or more pieces of the data that comprise the particular type of the one or more types of personal information.

11. The non-transitory computer-readable medium of claim 10 , wherein:

the one or more criteria comprise one or more criteria to generate a data map based at least in part on a plurality of privacy campaigns.

12. The non-transitory computer-readable medium of claim 7 , the method further comprising:

receiving an indication that the piece of computer code has been modified;

in response to receiving the indication, analyzing the piece of computer code to identify one or more changes in the one or more privacy-related attributes of the piece of computer code; and

modifying the data map based at least in part on the identified one or more changes.

13. The non-transitory computer-readable medium of claim 12 , the method further comprising:

continuously modifying the data map based at least in part on one or more additional changes identified in response to receiving one or more additional indications that the piece of computer code has been modified.

14. The non-transitory computer-readable medium of claim 7 , wherein the one or more privacy-related attributes further identify a storage location of one or more pieces of personal information of the one or more types of personal information that the piece of computer code collects or accesses.

15. The non-transitory computer-readable medium of claim 14 , wherein the one or more privacy-related attributes further identify one or more access permissions of the one or more pieces of personal information.

16. A computer system for electronically analyzing computer code to generate a data map, the computer system comprising:

one or more computer processors; and

computer memory operatively coupled to the one or more computer processors, wherein the computer system comprises:

a request receiving means for receiving, from a particular user, a request to generate a privacy-related data map for particular computer code;

means for, at least partially in response to receiving the request:

determining a location of the particular computer code;

automatically obtaining the particular computer code based on the determined location;

automatically electronically analyzing the particular computer code to determine one or more privacy-related attributes of the particular computer code, each of the one or more privacy-related attributes indicating one or more types of personal information that the particular computer code collects or accesses, by:

connecting to an application executing on one or more remote computing devices using an application programming interface;

scanning one or more data repositories on the one or more remote computing devices to identify one or more data attributes, wherein the one or more data attributes are associated with a processing activity, and wherein the processing activity is associated with the particular computer code;

analyzing the one or more data attributes and correlating metadata for the scanned one or more data repositories with particular attributes of the one or more data attributes discovered in the one or more data repositories; and

determining, based at least in part on analyzing the one or more data attributes and correlating the metadata for the scanned one or more data repositories with the particular attributes of the one or more data attributes, one or more of the one or more privacy-related attributes of the particular computer code; and

electronically generating a data map of the one or more privacy-related attributes;

storage means for digitally storing the data map in the computer memory; and

display means for electronically displaying the data map to the particular user.

17. The computer system of claim 16 , wherein electronically generating the data map comprises:

analyzing the particular computer code to identify a storage location of data comprising the one or more types of personal information;

retrieving the data from the storage location; and

generating a visual representation of a particular privacy campaign that includes the data.

18. The computer system of claim 16 , wherein electronically generating the data map comprises:

analyzing the particular computer code to identify a storage location of data comprising the one or more types of personal information;

retrieving the data from the storage location;

identifying one or more pieces of the data that comprise a particular type of the one or more types of personal information; and

generating a visual representation of the particular type of the one or more types of personal information that includes the one or more pieces of the data that comprise the particular type of the one or more types of personal information.

19. The computer system of claim 16 , wherein the computer system further comprises means for:

receiving an indication that the particular computer code has been modified;

in response to receiving the indication, analyzing the particular computer code to identify one or more changes in the one or more privacy-related attributes of the particular computer code; and

modifying the data map to reflect the identified one or more changes.

20. The computer system of claim 19 , wherein the computer system further comprises means for:

continuously modifying the data map based at least in part on one or more additional changes identified in response to receiving one or more additional indications that the particular computer code has been modified.

21. The computer system of claim 16 , wherein the one or more privacy-related attributes further identify a storage location of one or more pieces of personal information of the one or more types of personal information that the particular computer code collects or accesses.

22. The computer system of claim 21 , wherein the one or more privacy-related attributes further identify one or more access permissions of the one or more pieces of personal information.

Assignments (2)
SECURITY INTEREST Recorded Jul 5, 2022
From: ONETRUST LLC
To: KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 060573/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2021
From: BARDAY, KABIR A.; KARANJKAR, MIHIR S.; FINCH, STEVEN W.; BROWNE, KEN A.; HEARD, NATHAN W.; PATEL, AAKASH H.; SABOURIN, JASON L.; DANIEL, RICHARD L.; PATTON-KUHL, DYLAN D.; BRANNON, JONATHAN BLAKE
To: ONETRUST, LLC
Reel/Frame 055998/0890 →