Skip to content

Commit 27c3645

Browse files
maxvpthomasgauvin
authored andcommitted
[DLP] Fingerprinting (#23614)
* Initial commit * Add upload section * Add management section * Change document path * Update procedure * Apply suggestions * Fix broken links
1 parent 376b6c8 commit 27c3645

File tree

12 files changed

+254
-177
lines changed

12 files changed

+254
-177
lines changed

public/__redirects

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2185,6 +2185,7 @@
21852185
/cloudflare-one/policies/browser-isolation/agentless/* /cloudflare-one/policies/browser-isolation/setup/:splat 301
21862186
/cloudflare-one/policies/filtering/http-policies/data-loss-prevention/* /cloudflare-one/policies/data-loss-prevention/ 301
21872187
/cloudflare-one/policies/data-loss-prevention/configuration-guides/* /cloudflare-one/policies/data-loss-prevention/dlp-policies/common-policies/ 301
2188+
/cloudflare-one/policies/data-loss-prevention/datasets/* /cloudflare-one/policies/data-loss-prevention/detection-entries/:splat 301
21882189

21892190
# Learning paths
21902191

src/content/changelog/dlp/2025-05-12-case-sensitive-cwl.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ description: Custom Word Lists can now be configured to enforce case sensitivity
44
date: 2025-05-12
55
---
66

7-
You can now configure [custom word lists](/cloudflare-one/policies/data-loss-prevention/datasets/#custom-wordlist) to enforce case sensitivity. This setting supports flexibility where needed and aims to reduce false positives where letter casing is critical.
7+
You can now configure [custom word lists](/cloudflare-one/policies/data-loss-prevention/detection-entries/#custom-wordlist) to enforce case sensitivity. This setting supports flexibility where needed and aims to reduce false positives where letter casing is critical.
88

99
![dlp](~/assets/images/changelog/dlp/case-sesitive-cwl.png)

src/content/docs/cloudflare-one/applications/casb/casb-dlp.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ You can use [Cloudflare Data Loss Prevention (DLP)](/cloudflare-one/policies/dat
1919

2020
## Configure a DLP profile
2121

22-
You may either use DLP profiles predefined by Cloudflare, or create your own custom profiles based on regex, predefined detection entries, and DLP datasets.
22+
You may either use DLP profiles predefined by Cloudflare, or create your own custom profiles based on regex, predefined detection entries, datasets, and document fingerprints.
2323

2424
### Configure a predefined profile
2525

src/content/docs/cloudflare-one/changelog/dlp.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ In addition to [logging the payload](/cloudflare-one/policies/data-loss-preventi
3535

3636
**Exact Data Match multi-entry upload support**
3737

38-
You can now upload files with [multiple columns of data](/cloudflare-one/policies/data-loss-prevention/datasets/#upload-a-new-dataset) as Exact Data Match datasets. DLP can use each column as a separate existing detection entry.
38+
You can now upload files with [multiple columns of data](/cloudflare-one/policies/data-loss-prevention/detection-entries/#upload-a-new-dataset) as Exact Data Match datasets. DLP can use each column as a separate existing detection entry.
3939

4040
## 2024-05-23
4141

src/content/docs/cloudflare-one/policies/data-loss-prevention/datasets.mdx

Lines changed: 0 additions & 96 deletions
This file was deleted.
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
---
2+
pcx_content_type: concept
3+
title: Detection entries
4+
sidebar:
5+
order: 4
6+
---
7+
8+
import { Details } from "~/components";
9+
10+
Cloudflare DLP can scan your web traffic and SaaS applications for specific data defined in custom detection entries. Detection entries allow you to define custom data patterns for DLP to detect using [DLP profiles](/cloudflare-one/policies/data-loss-prevention/dlp-profiles/). Detection entries include custom [datasets](#datasets) with defined data and [document entries](#documents) with example fingerprints.
11+
12+
You can configure sensitive data to be hashed before reaching Cloudflare and redacted from matches in [payload logs](/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options/#log-the-payload-of-matched-rules).
13+
14+
## Datasets
15+
16+
You can create and upload custom datasets to scan for specific matching data.
17+
18+
### Dataset types
19+
20+
#### Exact Data Match
21+
22+
Exact Data Match (EDM) protects sensitive information, such as names, addresses, phone numbers, and credit card numbers.
23+
24+
All data in uploaded EDM datasets is encrypted before reaching Cloudflare. To detect matches, Cloudflare hashes traffic and compares it to hashes from your dataset. Matched data will be redacted in payload logs.
25+
26+
#### Custom Wordlist
27+
28+
Custom Wordlist (CWL) protects non-sensitive data, such as intellectual property and SKU numbers. Optionally, CWL can detect case-sensitive data.
29+
30+
Cloudflare stores data from CWL datasets within DLP. Plaintext matches appear in payload logs.
31+
32+
### Prepare DLP datasets
33+
34+
#### Formatting
35+
36+
To prepare a dataset for DLP, add your desired data to a single-column spreadsheet. Each line must be at least six characters long. Entries do not require trailing or final commas.
37+
38+
For compatibility, save your file in either `.csv` or `.txt` format with LF (`\n`) newline characters. DLP does not support CRLF (`\r\n`) newline characters. For information on dataset limits, refer to [Account limits](/cloudflare-one/account-limits/#data-loss-prevention-dlp).
39+
40+
#### Column title cells
41+
42+
Column title cells may result in false positives in Custom Wordlist datasets and should be removed.
43+
44+
DLP will detect and use title cells as column names for Exact Data Match datasets. If multiple columns have the same name, DLP will append a number sign (`#`) and number to their names.
45+
46+
:::caution[Update EDM datasets]
47+
To select which Exact Data Match columns to use, you will need to [reupload any EDM datasets](#manage-existing-datasets) added prior to column support.
48+
:::
49+
50+
### Upload a new dataset
51+
52+
<Details header="Upload an Exact Data Match dataset">
53+
54+
1. In [Zero Trust](https://one.dash.cloudflare.com/), go to **DLP** > **Detection entries**.
55+
2. Go to **Datasets**.
56+
3. Select **Add a dataset**. In **Exact Data Match (EDM)**, choose **Select**.
57+
4. Upload your dataset file. Select **Next**.
58+
5. Review and choose the detected columns you want to include. Select **Next**.
59+
6. Name your dataset. Optionally, add a description. Select **Next**.
60+
7. Review the details for your uploaded dataset. Select **Save dataset**.
61+
62+
DLP will encrypt your dataset and save its hash.
63+
64+
</Details>
65+
66+
<Details header="Upload a Custom Wordlist dataset">
67+
68+
1. In [Zero Trust](https://one.dash.cloudflare.com/), go to **DLP** > **Detection entries**.
69+
2. Go to **Datasets**.
70+
3. Select **Add a dataset**. In **Custom Wordlist (CWL)**, choose **Select**.
71+
4. Name your dataset. Optionally, add a description.
72+
5. (Optional) In **Settings**, turn on **Enforce case sensitivity** to require matched values to contain exact capitalization.
73+
6. In **Upload file**, choose your dataset file.
74+
7. Select **Save**.
75+
76+
DLP will save your dataset in cleartext.
77+
78+
</Details>
79+
80+
The dataset will appear in the list with an **Uploading** status. Once the upload is complete, the status will change to **Complete**. To use your uploaded dataset, add it as an existing entry to a [custom DLP profile](/cloudflare-one/policies/data-loss-prevention/dlp-profiles/#build-a-custom-profile).
81+
82+
### Manage existing datasets
83+
84+
Uploaded DLP datasets are read-only. To update a dataset, you must upload a new file to replace the original.
85+
86+
1. In [Zero Trust](https://one.dash.cloudflare.com/), go to **DLP** > **DLP datasets**.
87+
2. Select the dataset you want to update.
88+
3. Select **Upload dataset** and choose your updated dataset. Select **Next**.
89+
4. If your select dataset is an Exact Data Match dataset, review and choose the new columns. Select **Next**.
90+
5. Select **Save dataset**.
91+
92+
Your new dataset will replace the original dataset.
93+
94+
:::caution[Remove existing column entries]
95+
If you want to update an Exact Data Match dataset to remove a column in use as an [existing detection entry](/cloudflare-one/policies/data-loss-prevention/dlp-profiles/#build-a-custom-profile), you must remove the existing entry from any custom DLP profiles using it before updating the dataset.
96+
:::
97+
98+
## Documents
99+
100+
You can upload example documents to scan for unstructured data or specific document types common to your organization. DLP will create a unique fingerprint of the document and detect patterns in your organization's traffic based on how similar it is to the original fingerprint.
101+
102+
DLP stores uploaded documents encrypted at rest in a [Cloudflare R2](/r2/) bucket. To upload sensitive data that is only stored in memory, use [Exact Data Match](#exact-data-match).
103+
104+
### Prepare document entries
105+
106+
DLP supports documents in `.docx` and `.txt` format. Documents must be under 10 MB.
107+
108+
### Upload a new document entry
109+
110+
To upload a new document entry to DLP:
111+
112+
1. In [Zero Trust](https://one.dash.cloudflare.com/), go to **DLP** > **Detection entries**.
113+
2. Go to **Documents**.
114+
3. Select **Add a document entry**.
115+
4. Name your document. Optionally, add a description.
116+
5. In **Minimum similarity for matches**, enter a value between 0% and 100%.
117+
6. In **Upload document**, choose and upload your document file.
118+
7. Select **Save**.
119+
120+
The document will appear in the list with a **Pending** status. Once the upload is complete, the status will change to **Complete**. If you created a document entry with Terraform, the status will be **No file** until you upload a file.
121+
122+
To use your uploaded document fingerprint, add it as an existing entry to a [custom DLP profile](/cloudflare-one/policies/data-loss-prevention/dlp-profiles/#build-a-custom-profile).
123+
124+
### Manage existing document entries
125+
126+
Uploaded document entries are read-only. To update a document entry, you must upload a new file to replace the original.
127+
128+
1. In [Zero Trust](https://one.dash.cloudflare.com/), go to **DLP** > **Detection entries**.
129+
2. Choose the document you want to update and select **Edit**.
130+
3. (Optional) Update the name and minimum similarity for matches for your document entry. You can also open the existing uploaded document.
131+
4. In **Update document entry**, choose and upload your updated document file.
132+
5. Select **Save**.
133+
134+
Your new document entry will replace the original document entry. If your file upload fails, DLP will still use the original document fingerprint to scan traffic until you delete the entry.

src/content/docs/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Based on your report, DLP's machine learning will adjust its confidence in futur
6767
- All Cloudflare logs are encrypted at rest. Encrypting the payload content adds a second layer of encryption for the matched values that triggered a DLP rule.
6868
- Cloudflare cannot decrypt encrypted payloads, since this operation requires your private key. Cloudflare staff will never ask for the private key.
6969
- DLP will redact all predefined alphanumeric characters in the log. For example, `123-45-6789` will become `XXX-XX-XXXX`.
70-
- You can define sensitive data with [Exact Data Match (EDM)](/cloudflare-one/policies/data-loss-prevention/datasets/#exact-data-match). EDM match logs will redact your defined strings.
70+
- You can define sensitive data with [Exact Data Match (EDM)](/cloudflare-one/policies/data-loss-prevention/detection-entries/#exact-data-match). EDM match logs will redact your defined strings.
7171

7272
## Send DLP forensic copies to Logpush destination
7373

src/content/docs/cloudflare-one/policies/data-loss-prevention/dlp-profiles/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ sidebar:
88

99
import { Render } from "~/components";
1010

11-
A DLP profile is a collection of detection entries (regular expressions and [DLP datasets](/cloudflare-one/policies/data-loss-prevention/datasets/)) that define the data patterns you want to detect. Cloudflare DLP provides predefined profiles for common detections, or you can build custom DLP profiles specific to your data, organization, and risk tolerance.
11+
A DLP profile is a collection of regular expressions and [detection entries](/cloudflare-one/policies/data-loss-prevention/detection-entries/) that define the data patterns you want to detect. Cloudflare DLP provides predefined profiles for common detections, or you can build custom DLP profiles specific to your data, organization, and risk tolerance.
1212

1313
## Configure a predefined profile
1414

0 commit comments

Comments
 (0)