IP Library Granted Patent US 11,968,229
Granted Patent B2
US 11,968,229 · App. 17/942,242 · Granted Apr 23, 2024

Systems and methods for automatically blocking the use of tracking tools

Inventors: Jonathan Blake Brannon (Smyrna, GA); Patrick Whitney (Atlanta, GA); Sharath Chandra Chavva (Atlanta, GA); Jeffrey Baucom (Sandy Springs, GA)
Assignee: OneTrust, LLC
H04L63/1475H04L63/1416
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,968,229
App. No.
17/942,242
Granted
Apr 23, 2024
Kind
B2
Abstract

Embodiments of the present invention provide methods, apparatus, systems, computing devices, computing entities, and/or the like for permitting or blocking tracking tools used through webpages. In particular embodiments, the method involves: scanning a webpage to identify a tracking tool configured for processing personal data; determining a data destination location that is associated with the tracking tool; and generating program code configured to: determine a location associated with a user who is associated with a rendering of the webpage; determine a prohibited data destination location based on the location associated with the user; determine that the data destination location associated with the tracking tool is not the prohibited data destination location; and responsive to the data destination location associated with the tracking tool not being the prohibited data destination location, permit the tracking tool to execute.

Claims (68)

1. A method comprising:

scanning, by computing hardware, a webpage to identify a tracking tool that is associated with the webpage;

determining, by the computing hardware, a data destination location that is associated with the tracking tool, wherein the determining step is based on at least one of (a) a location for a computing device that invokes the tracking tool, (b) a location of a computing device that receives data via the tracking tool, or (c) a location of a computing device or a storage device that stores the data; and

generating, by the computing hardware, program code, wherein the program code is configured to:

determine a location associated with a user who is associated with a rendering of the webpage;

determine a prohibited data destination location based on a data structure mapping the location associated with the user to the prohibited data destination location;

determine that the data destination location associated with the tracking tool is the prohibited data destination location; and

responsive to determining that the data destination location associated with the tracking tool is the prohibited data destination location, perform at least one of disabling the tracking tool from executing or disabling functionality of the tracking tool configured for processing the data from executing.

2. The method of claim 1 , wherein the program code is further configured to:

determine a second location associated with a second user who is associated with a second rendering of the webpage;

determine a second prohibited data destination location based on the data structure mapping the second location associated with the user to the second prohibited data destination location;

determine that the data destination location associated with the tracking tool is not the second prohibited data destination location; and

responsive to determining that the data destination location associated with the tracking tool is not the second prohibited data destination location, permit the tracking tool to execute.

3. The method of claim 1 further comprising generating, by the computing hardware, a computer-readable file comprising an identifier for the tracking tool and an identifier for the data destination location associated with the tracking tool, wherein the program code comprises the computer-readable file and is configured to identify the data destination location associated with the tracking tool from the computer-readable file.

4. The method of claim 3 , wherein the computer-readable file further comprises the data structure.

5. The method of claim 3 , wherein the program code is configured, prior to determining the location associated with the user, to determine that the tracking tool is authorized to run from the computer-readable file.

6. The method of claim 1 , wherein the program code is configured, prior to determining the location associated with the user, to determine that the user has provided consent for the tracking tool.

7. The method of claim 1 , wherein the program code is configured, prior to determining the location associated with the user to:

determine that the user has not provided consent for the tracking tool; and

responsive to determining the user has not provided the consent for the tracking tool, obtain the consent from the user.

8. A method comprising:

receiving, by computing hardware, a Hypertext Transfer Protocol (HTTP) request to render a webpage; and

responsive to receiving the HTTP request, sending, by the computing hardware, a HTTP response comprising a script to a computing device associated with a user,

wherein the computing device is configured to execute, within a browser and during a rendering of the webpage, the script to perform operations comprising:

identifying a source script attempting to execute;

identifying the source script is configured to invoke a tracking tool based on information on the tracking tool found embedded in the script; and

responsive to identifying the source script is configured to invoke the tracking tool:

determining a location associated with the user;

determining a prohibited data destination location based on a data structure mapping the location associated with the user to the prohibited data destination location;

determining a data destination location associated with the tracking tool based on the information embedded in the script;

determining that the data destination location associated with the tracking tool is the prohibited data destination location; and

responsive to determining that the data destination location associated with the tracking tool is the prohibited data destination location, perform at least one of disabling the tracking tool from executing or disabling functionality of the tracking tool involving processing certain data from executing.

9. The method of claim 8 , wherein the script further performs operations comprising, after disabling the functionality, permitting the source script to execute to invoke the tracking tool for the webpage.

10. The method of claim 8 further comprising:

receiving, by the computing hardware, a second Hypertext Transfer Protocol (HTTP) request to render the webpage; and

responsive to receiving the second HTTP request, sending, by the computing hardware, a second HTTP response comprising the script to a second computing device associated with a second user,

wherein the second computing device is configured to execute, within a second browser and during a second rendering of the webpage, the script to perform operations comprising:

identifying the source script attempting to execute;

identifying the source script is configured to invoke the tracking tool based on the information on the tracking tool found embedded in the script; and

responsive to identifying the source script is configured to invoke the tracking tool:

determining a second location associated with the second user;

determining a second prohibited data destination location based on the data structure mapping the second location associated with the second user to the second prohibited data destination location;

determining the data destination location associated with the tracking tool based on the information embedded in the script;

determining that the data destination location associated with the tracking tool is not the second prohibited data destination location; and

responsive to determining that the data destination location associated with the tracking tool is not the second prohibited data destination location, permitting the tracking tool to execute for the webpage.

11. The method of claim 10 , wherein permitting the tracking tool to execute for the webpage comprises permitting the source script to execute to invoke the tracking tool.

12. The method of claim 8 , wherein the script is configured to determine the location associated with the user based on at least one of (a) a geographical location of the user, (b) a network address associated with the user, (c) browser information on the user, (d) a language associated with the user, or (e) consent data associated with the user.

13. The method of claim 8 , wherein the data destination location associated with the tracking tool is based on at least one of (a) a location for a computing device that invokes the tracking tool, (b) a location of a computing device that receives the data, or (c) a location of a computing device or a storage device that stores the data.

14. A non-transitory computer-readable medium having computer-executable instructions that are stored thereon, the computer-executable instructions executable by one or more processing devices for performing operations comprising:

scanning a webpage to identify a tracking tool that is associated with the webpage;

determining a data destination location that is associated with the tracking tool, wherein the determining step is based on at least one of (a) a location for a computing device that invokes the tracking tool, (b) a location of a computing device that receives data via the tracking tool, or (c) a location of a computing device or a storage device that stores the data; and

generating program code, wherein the program code is configured to:

determine a location associated with a user who is associated with a rendering of the webpage;

determine a prohibited data destination location based on a data structure mapping the location associated with the user to the prohibited data destination location;

determine that the data destination location associated with the tracking tool is the prohibited data destination location; and

responsive to determining that the data destination location associated with the tracking tool is the prohibited data destination location, perform at least one of disabling the tracking tool from executing or disabling functionality of the tracking tool configured for processing the data from executing.

15. The non-transitory computer-readable medium of claim 14 , wherein the program code is further configured to:

determine a second location associated with a second user who is associated with a second rendering of the webpage;

determine a second prohibited data destination location based on the data structure mapping the second location associated with the user to the second prohibited data destination location;

determine that the data destination location associated with the tracking tool is not the second prohibited data destination location; and

responsive to determining that the data destination location associated with the tracking tool is not the second prohibited data destination location, permit the tracking tool to execute.

16. The non-transitory computer-readable medium of claim 14 , wherein the operations further comprise generating a computer-readable file comprising an identifier for the tracking tool and an identifier for the data destination location associated with the tracking tool, wherein the program code comprises the computer-readable file and is configured to identify the data destination location associated with the tracking tool from the computer-readable file.

17. The non-transitory computer-readable medium of claim 16 , wherein the computer-readable file further comprises the data structure.

18. The non-transitory computer-readable medium of claim 16 , wherein the program code is configured, prior to determining the location associated with the user, to determine that the tracking tool is authorized to run from the computer-readable file.

19. The non-transitory computer-readable medium of claim 14 , wherein the program code is configured, prior to determining the location associated with the user, to determine that the user has provided consent for the tracking tool.

20. The non-transitory computer-readable medium of claim 14 , wherein the program code is configured, prior to determining the location associated with the user to:

determine that the user has not provided consent for the tracking tool; and

responsive to determining the user has not provided the consent for the tracking tool, obtain the consent from the user.

Assignments (2)
SUPPLEMENT TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 3, 2026
From: ONETRUST LLC
To: KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 075801/0754 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2022
From: BRANNON, JONATHAN BLAKE; WHITNEY, PATRICK; CHAVVA, SHARATH CHANDRA; BAUCOM, JEFFREY
To: ONETRUST, LLC
Reel/Frame 061057/0576 →
Continuity (3)
Continuation 17387421 · Jul 28, 2021
Provisional Application 63057382 · Jul 28, 2020
Related Publication 20230007043A1 · Jan 5, 2023