You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
title: More ways to match — Snippets now support Custom Lists, Bot Score, and WAF Attack Score
3
+
description: Snippets and Cloud Connector now support user-defined IP, AS, and Hostname Custom Lists — plus Bot Score and WAF Attack Score in Snippets.
4
+
products:
5
+
- rules
6
+
date: 2025-05-09T10:00:00Z
7
+
---
8
+
9
+
You can now use IP, Autonomous System (AS), and Hostname [custom lists](/waf/tools/lists/custom-lists/) to route traffic to [Snippets](/rules/snippets/) and [Cloud Connector](/rules/cloud-connector/), giving you greater precision and control over how you match and process requests at the edge.
10
+
11
+
In Snippets, you can now also match on [Bot Score](/bots/concepts/bot-score/) and [WAF Attack Score](/waf/detections/attack-score/), unlocking smarter edge logic for everything from request filtering and mitigation to [tarpitting](/rules/snippets/examples/slow-suspicious-requests/) and logging.
12
+
13
+
**What’s new:**
14
+
-[Custom lists](/waf/tools/lists/custom-lists/) matching – Snippets and Cloud Connector now support user-created IP, AS, and Hostname lists via dashboard or [Lists API](/api/resources/rules/subresources/lists/methods/list/). Great for shared logic across zones.
15
+
-[Bot Score](/bots/concepts/bot-score/) and [WAF Attack Score](/waf/detections/attack-score/) – Use Cloudflare’s intelligent traffic signals to detect bots or attacks and take advanced, tailored actions with just a few lines of code.
16
+
17
+

18
+
19
+
These enhancements unlock new possibilities for building smarter traffic workflows with minimal code and maximum efficiency.
20
+
21
+
Learn more in the [Snippets](/rules/snippets/) and [Cloud Connector](/rules/cloud-connector/) documentation.
Copy file name to clipboardExpand all lines: src/content/docs/browser-rendering/rest-api/json-endpoint.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -91,7 +91,7 @@ curl --request POST 'https://api.cloudflare.com/client/v4/accounts/CF_ACCOUNT_ID
91
91
### With only a prompt
92
92
93
93
In this example, only a prompt is provided. The endpoint will use the prompt to extract the data, but the response will not be structured according to a JSON schema.
94
-
This is useful for simple extractions where you don't need a specific format.
94
+
This is useful for simple extractions where you do not need a specific format.
95
95
96
96
```bash
97
97
curl --request POST 'https://api.cloudflare.com/client/v4/accounts/CF_ACCOUNT_ID/browser-rendering/json' \
Copy file name to clipboardExpand all lines: src/content/docs/browser-rendering/workers-binding-api/reuse-sessions.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -136,7 +136,7 @@ export default {
136
136
};
137
137
```
138
138
139
-
Besides `puppeteer.sessions()`, we've added other methods to facilitate [Session Management](/browser-rendering/platform/puppeteer/#session-management).
139
+
Besides `puppeteer.sessions()`, we have added other methods to facilitate [Session Management](/browser-rendering/platform/puppeteer/#session-management).
Static assets uploaded to Workers for Platforms are associated with the namespace rather than with individual User Worker. If multiple User Workers exist under the same namespace, assets with identical hashes may be shared across them. **JWTs should therefore only be shared with trusted platform services and should never be distributed to end-users.**
62
62
63
-
If strict isolation of assets is required, we recommend either salting with a random value each time, or incorporating an end-user identifier (e.g. account ID or Worker script ID) within the hashing process, to ensure uniqueness. For example, `hash = slice(sha256(accountID + fileContents), 32)`.
63
+
If strict isolation of assets is required, we recommend either salting with a random value each time, or incorporating an end-user identifier (for example, account ID or Worker script ID) within the hashing process, to ensure uniqueness. For example, `hash = slice(sha256(accountID + fileContents), 32)`.
64
64
65
65
</Aside>
66
66
@@ -122,7 +122,7 @@ You can compute a SHA-256 digest of the file contents, then truncate or otherwis
122
122
If all the files are already stored on Cloudflare, the response will only return the JWT token. If new or updated files are needed, the response will return:
123
123
124
124
-`jwt`: An upload token (valid for 1 hour) which will be used in the API request to upload the file contents (Step 2).
125
-
-`buckets`: An array of file-hash groups indicating which files to upload together. Files that have been recently uploaded won't appear in buckets, since Cloudflare already has them.
125
+
-`buckets`: An array of file-hash groups indicating which files to upload together. Files that have been recently uploaded will not appear in buckets, since Cloudflare already has them.
126
126
127
127
:::note
128
128
This step alone does not store files on Cloudflare. You must upload the actual file data in the next step.
@@ -132,7 +132,7 @@ This step alone does not store files on Cloudflare. You must upload the actual f
132
132
133
133
If the response to the Upload Session API returns `buckets`, that means you have new or changed files that need to be uploaded to Cloudflare.
134
134
135
-
Use the [Workers Assets Upload API](https://developers.cloudflare.com/api/resources/workers/subresources/assets/subresources/upload/) to transmit the raw file bytes in base64-encoded format for any missing or changed files. Once uploaded, Cloudflare will store these files so they can then be attached to a User Worker.
135
+
Use the [Workers Assets Upload API](/api/resources/workers/subresources/assets/subresources/upload/) to transmit the raw file bytes in base64-encoded format for any missing or changed files. Once uploaded, Cloudflare will store these files so they can then be attached to a User Worker.
136
136
137
137
<Asidetype="caution">
138
138
Asset uniqueness is determined by the provided hash and are associated globally to their namespace rather than with each specific User Worker. If an asset has already been uploaded for that namespace earlier, Cloudflare will automatically omit sending this asset hash back in the `buckets` response to save you from re-uploading the same thing twice. This means that an asset can be shared between multiple User Workers if it shares the same hash unless you **explicitly make the hash unique**. If you require full isolation between assets across User Workers, incorporate a unique identifier within your asset hashing process (either salting it with something entirely random each time, or by including the end-user account ID or their Worker name to retain per-customer re-use).
@@ -203,7 +203,7 @@ Once every file in the manifest has been uploaded, a status code of `201` will b
203
203
204
204
### 3. Deploy the User Worker with static assets
205
205
206
-
Now that Cloudflare has all the files it needs (from the previous upload steps), you must attach them to the User Worker by making a PUT request to the [Upload User Worker API](https://developers.cloudflare.com/api/resources/workers_for_platforms/subresources/dispatch/subresources/namespaces/subresources/scripts/methods/update/). This final step links the static assets to the User Worker using the completion token you received after uploading file contents.
206
+
Now that Cloudflare has all the files it needs (from the previous upload steps), you must attach them to the User Worker by making a PUT request to the [Upload User Worker API](/api/resources/workers_for_platforms/subresources/dispatch/subresources/namespaces/subresources/scripts/methods/update/). This final step links the static assets to the User Worker using the completion token you received after uploading file contents.
207
207
208
208
You can also specify any optional settings under the `assets.config` field to customize how your files are served (for example, to handle trailing slashes in HTML paths).
Copy file name to clipboardExpand all lines: src/content/docs/cloudflare-for-platforms/workers-for-platforms/platform/limits.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ Cloudflare provides an unlimited number of scripts for Workers for Platforms cus
14
14
15
15
## `cf` object
16
16
17
-
The [`cf` object](/workers/runtime-apis/request/#the-cf-property-requestinitcfproperties) contains Cloudflare-specific properties of a request. This field is not accessible in [user Workers](/cloudflare-for-platforms/workers-for-platforms/reference/how-workers-for-platforms-works/#user-workers) because some fields in this object are sensitive and can be used to manipulate Cloudflare features (eg.`cacheKey`, `resolveOverride`, `scrapeShield`.)
17
+
The [`cf` object](/workers/runtime-apis/request/#the-cf-property-requestinitcfproperties) contains Cloudflare-specific properties of a request. This field is not accessible in [user Workers](/cloudflare-for-platforms/workers-for-platforms/reference/how-workers-for-platforms-works/#user-workers) because some fields in this object are sensitive and can be used to manipulate Cloudflare features (for example, `cacheKey`, `resolveOverride`, `scrapeShield`.)
0 commit comments