# US 8,751,568 B1 · Systems and methods for data loss prevention

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,568 B1
- Document ID: US8751568B1
- Status: Granted
- Kind: B1
- Application number: 13/372,118
- Filed: 2012-02-13
- Granted: 2014-06-10
- Earliest claimed: 2012-02-13
- Assignees: Symantec Corporation
- Applicants: John Mears
- Inventors: John Mears
- Web page: https://patentgrep.com/patent/US8751568B1

## CPC

- H04L 67/56: Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54)
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/561: Adding application-functional data or data for application control, e.g. adding metadata
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A computer-implemented method for data loss prevention may include 1) identifying a hypertext-transfer-protocol POST request from a client system to a hypertext-transfer-protocol server, 2) identifying metadata relating to the hypertext-transfer-protocol POST request differentiating at least one user-editable field within the hypertext-transfer-protocol POST request from at least one non-user-edited field within the hypertext-transfer-protocol POST request, 3) subjecting the user-editable field, based on the metadata, to a data-loss-prevention analysis and omitting the non-user-edited field from the data-loss-prevention analysis, and 4) performing a data-loss-prevention action based on the data-loss-prevention analysis. Various other methods, systems, and computer-readable media are also disclosed.

## Claims

### Claim 1

A computer-implemented method for data loss prevention, at least a portion of the method being performed by a proxy system comprising at least one processor, the method comprising:
receiving, at the proxy system from a hypertext-transfer-protocol server, a web page comprising a web form for a client system;
injecting, at the proxy system, a script into the web page that:
scans the web page for at least one of user-editable fields and non-user-editable fields;
generates and stores custom metadata within the web page that:
marks user-editable fields within the web page as being subject to data-loss-prevention analysis;
marks non-user-editable fields within the web page as not being subject to data-loss-prevention analysis;
identifying, at the proxy system, a hypertext-transfer-protocol POST request issued in connection with the web form by the client system to the hypertext-transfer-protocol server;
identifying, at the proxy system, the custom metadata within the hypertext-transfer-protocol POST request that was generated by the script;
subjecting, based on the custom metadata identified at the proxy system, the user-editable field to a data-loss-prevention analysis and omitting the non-user-editable field from the data-loss-prevention analysis;
removing, at the proxy system, the custom metadata from the hypertext-transfer-protocol POST;
performing, at the proxy system, a data-loss-prevention action based on the data-loss-prevention analysis by blocking the user-editable field from reaching the hypertext-transfer-protocol server.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the script generates the custom metadata by:
creating at least one hidden field within the hypertext-transfer-protocol POST request;
storing the custom metadata within the hidden field of the hypertext-transfer-protocol POST request.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein identifying the custom metadata within the hypertext-transfer-protocol POST request comprises identifying the custom metadata within the hidden field of the hypertext-transfer-protocol POST request.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein identifying the hypertext-transfer-protocol POST request comprises intercepting the hypertext-transfer-protocol POST request on the proxy system.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein receiving the web page comprises intercepting the web page on the proxy system.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the custom metadata comprises at least one of:
a comment on a user-editable field;
a portion of content from a user-editable field;
a comment on a non-user-edited field;
a portion of content from a non-user-edited field.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the script generates the custom metadata by tracking the web page for modifications to the user-editable fields.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein blocking the user-editable field from reaching the hypertext-transfer-protocol server comprises at least one of:
blocking the hypertext-transfer-protocol POST request from reaching the hypertext-transfer-protocol server;
redacting the user-editable field from the hypertext-transfer-protocol POST request.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein removing the custom metadata from the hypertext-transfer-protocol POST comprises removing a field comprising the custom metadata from the hypertext-transfer-protocol POST request before the hypertext-transfer-protocol POST request is forwarded to the hypertext-transfer-protocol server.

### Claim 10

A system for data loss prevention, the system comprising:
a proxy system that comprises both memory and at least one processor;
a receiving module, stored in the memory of the proxy system, that receives, from a hypertext-transfer-protocol server, a web page comprising a web form for a client system;
an injection module, stored in the memory of the proxy system, that injects a script into the web page that:
scans the web page for at least one of user-editable fields and non-user-editable fields:
generates custom metadata for the web page that:
marks user-editable fields within the web page as being subject to data-loss-prevention analysis;
marks non-user-editable fields within the web page as not being subject to data-loss-prevention analysis;
an identification module, stored in the memory of the proxy system, that identifies a hypertext-transfer-protocol POST request issued in connection with the web from by the client system to the hypertext-transfer-protocol server;
a metadata module, stored in the memory of the proxy system, that:
identifies, within the hypertext-transfer-protocol POST request, the custom metadata generated by the script;
removes the custom metadata from the hypertext-transfer-protocol POST;
an analysis module, stored in the memory of the proxy system, that subjects, based on the custom metadata, the user-editable field to a data-loss-prevention analysis and omits the non-user-editable field from the data-loss-prevention analysis;
a performing module, stored in the memory of the proxy system, that performs a data-loss-prevention action based on the data-loss-prevention analysis by blocking the user-editable field from reaching the hypertext-transfer-protocol server.

### Claim 11 (depends on 10)

The system of claim 10, wherein the script generates the custom metadata by:
creating at least one hidden field within the hypertext-transfer-protocol POST request;
storing the custom metadata within the hidden field of the hypertext-transfer-protocol POST request.

### Claim 12 (depends on 11)

The system of claim 11, wherein the metadata module identifies the custom metadata within the hypertext-transfer-protocol POST request by identifying the custom metadata within the hidden field of the hypertext-transfer-protocol POST request.

### Claim 13 (depends on 10)

The system of claim 10, wherein the identification module identifies the hypertext-transfer-protocol POST request by intercepting the hypertext-transfer-protocol POST request on the proxy system.

### Claim 14 (depends on 10)

The system of claim 10, wherein the receiving module receives the web page by intercepting the web page on the proxy system.

### Claim 15 (depends on 10)

The system of claim 10, wherein the custom metadata comprises at least one of:
a comment on a user-editable field;
a portion of content from a user-editable field;
a comment on a non-user-edited field;
a portion of content from a non-user-edited field.

### Claim 16 (depends on 10)

The system of claim 10, wherein the script generates the custom metadata by tracking the web page for modifications to the user-editable fields.

### Claim 17 (depends on 10)

The system of claim 10, wherein the performing module blocks the user-editable field from reaching the hypertext-transfer-protocol server by at least one of:
blocking the hypertext-transfer-protocol POST request from reaching the hypertext-transfer-protocol server;
redacting the user-editable field from the hypertext-transfer-protocol POST request.

### Claim 18 (depends on 10)

The system of claim 10, wherein the metadata module removes the custom metadata from the hypertext-transfer-protocol POST by removing a field comprising the custom metadata from the hypertext-transfer-protocol POST request before the hypertext-transfer-protocol POST request is forwarded to the hypertext-transfer-protocol server.

### Claim 19

A non-transitory computer-readable-storage medium comprising one or more computer-executable instructions that, when executed by at least one processor of a proxy system, cause the proxy system to:
receive, at the proxy system from a hypertext-transfer-protocol server, a web page comprising a web form for a client system;
inject, at the proxy system, a script into the web page that:
scans the web page for at least one of user-editable fields and non-user-editable fields;
generates custom metadata for the web page that:
marks user-editable fields within the web page as being subject to data-loss-prevention analysis;
marks non-user-editable fields within the web page as not being subject to data-loss-prevention analysis;
identify, at the proxy system, a hypertext-transfer-protocol POST request issued in connection with the web form by the client system to the hypertext-transfer-protocol server;
identify, at the proxy system, the custom metadata within the hypertext-transfer-protocol POST request that was generated by the script;
subject, at the proxy system based on the custom metadata, the user-editable field to a data-loss-prevention analysis and omit the non-user-editable field from the data-loss-prevention analysis;
remove, at the proxy system, the custom metadata from the hypertext-transfer-protocol POST;
perform, at the proxy system, a data-loss-prevention action based on the data-loss-prevention analysis by blocking the user-editable field from reaching the hypertext-transfer-protocol server.

### Claim 20 (depends on 19)

The non-transitory computer-readable-storage medium of claim 19, wherein the one or more computer-executable instructions cause the proxy system to generate the custom metadata by:
creating at least one hidden field within the hypertext-transfer-protocol POST request;
storing the custom metadata within the hidden field of the hypertext-transfer-protocol POST request.
