Skip to content

Conversation

sylwang
Copy link
Contributor

@sylwang sylwang commented Oct 3, 2025

Proposed changes

Checklist

Before sharing this pull request, I completed the following checklist:

Footnotes

  1. Potentially sensitive information includes personally identify information (PII), authentication credentials, and live URLs. Refer to the style guide for guidance about placeholder content.

@sylwang sylwang requested a review from a team as a code owner October 3, 2025 19:17
@github-actions github-actions bot added documentation Improvements or additions to documentation product/nginx-one Issues related to NGINX One Console labels Oct 3, 2025
Copy link

github-actions bot commented Oct 3, 2025

✅ All required contributors have signed the F5 CLA for this PR. Thank you!
Posted by the CLA Assistant Lite bot.

Copy link

github-actions bot commented Oct 3, 2025

Deploy Preview will be available once build job completes!

Name Link
😎 Deploy Preview https://frontdoor-test-docs.nginx.com/previews/docs/1251/

@sylwang
Copy link
Contributor Author

sylwang commented Oct 3, 2025

I have hereby read the F5 CLA and agree to its terms

@sylwang
Copy link
Contributor Author

sylwang commented Oct 6, 2025

All the feedback can be found in this PR (from internal-docs): https://github.com/nginx/internal-docs/pull/253.

Copy link
Contributor

@mjang mjang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I approve with suggestions.


For more complex scenarios, you can use the `modifications` section:

```json
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non-blocking formatting: As you can see from previous lines, if you include indentation, the format is nicer.

nd-product: NGINX One Console
---

# Add cookies
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a markdown standard to include a blank line after each header

- `Attack Signatures`: Indicates whether attack signatures and threat campaigns are enabled, disabled, or not applicable
- `Mask Value in Logs`: When enabled, the cookie's value will be masked in the request log for enhanced security and privacy

**⚠️ Important:** Attack Signatures are automatically set to "Not Applicable" when Enforcement Type is set to `Disallow` since the URL is explicitly blocked and signature checking is unnecessary.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**⚠️ Important:** Attack Signatures are automatically set to "Not Applicable" when Enforcement Type is set to `Disallow` since the URL is explicitly blocked and signature checking is unnecessary.
{{< call-out "important" >}}
**⚠️ Important:** Attack Signatures are automatically set to "Not Applicable" when Enforcement Type is set to `Disallow` since the URL is explicitly blocked and signature checking is unnecessary.
{{< /call-out >}}

For a complete list of configurable cookie properties and options, see the [Cookie Configuration Parameters]({{< ref "/waf/policies/parameter-reference.md" >}}) documentation under the `cookies` section.

## Cookie violations
Click on **Edit Configuration** to configure cookie violations. The following violations can be configured for cookies:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our style guide pushes "Submit" over "Click"

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you mean "Select" and not "Submit"? e.g. Select **Edit Configuration**

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah I believe it should be "Select", as Travis suggested the same. Thanks for catching this.


See the [Supported Violations]({{< ref "/waf/policies/violations.md#supported-violations" >}}) for additional details.

## Adding a cookie to your policy
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this has been noted before -- avoid the "ing" nouns like "Adding"

Suggested change
## Adding a cookie to your policy
## Add a cookie to your policy

1. Set Enforcement:
- Choose whether to allow or disallow the cookie
- If `Allow Cookie` is selected, you can optionally enable attack signatures
- **⚠️ Important:** Attack signatures cannot be enabled for disallowed cookies.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also see previous formatting for "Important"

For a complete list of configurable cookie properties and options, see the [Parameter Configuration Parameters]({{< ref "/waf/policies/parameter-reference.md" >}}) documentation under the `parameters` section.

## Parameter violations
Select **Edit Configuration** to configure parameter violations. The following violations can be configured for parameters:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Future issue: we need to set up common content with content/includes/nap-waf/config/common/supported-violations.md

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


1. Select **Add Parameter** to save your configuration

# Add urls
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Add urls
# Add URLs

@@ -0,0 +1,173 @@
---
title: "Add cookies, parameters and urls"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
title: "Add cookies, parameters and urls"
title: "Add cookies, parameters and URLs"

From NGINX One Console, select **App Protect > Policies**. In the screen that appears, select **Add Policy**. That action opens a screen where you can:

1. In **General Settings**, name and describe the policy.
1. Go to the **Web Protection** tab and select **Attack Signature Sets**. Here, you can:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: instead of the word tab I'd suggest suggest calling it a section


## Add signature exceptions

From the **Web Protection** tab, select **Attack Signature Exceptions**. This section allows you to override settings for individual signatures.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: same thing here. I'd suggest section instead of tab

}
```

### Advanced exception configuration
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest removing this entire Advanced exception configuration section. The App Protect schema that we're using to validate policies doesn't include the top-level modifications section so the UI doesn't use or respect data defined there.


After configuring signature sets and exceptions:

1. Select **Save Policy**. The policy JSON will be updated with your changes.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: the steps outlined here start by creating a new policy. The CTA text when creating a new policy is "Add Policy". The CTA text is "Save Policy" when editing an existing policy.


In addition to the shared options, cookies support the following advanced configurations:

- **Mask Value in Logs**: Enable masking of cookie values in logs for enhanced security and privacy.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you called this out explicitly for cookies, parameters also supports a similar option which is also called "Mask value in logs" for consistency in the UI and that controls the sensitiveParameter property of the parameter item.

nd-product: NGINX One Console
---

URLs can be configured and managed directly within the policy editor by selecting the **URLs** option.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest "URL protections can be configured..."

## URL Properties and Types
Each URL configuration includes:
- `URL Type`: `Explicit` or `Wildcard`. For details on explicit and wildcard matching, see the [Matching Types: Explicit vs Wildcard]({{< ref "/nginx-one/nap-integration/waf-policy-matching-types.md" >}}) section.
- `Method`: Specifies which HTTP methods are allowed (`GET`, `POST`, `PUT`, etc.)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since allowed/disallowed will depend on the enforcement type for the URL, I'd suggest: "Specifies the HTTP method(s) for the URL (GET, POST, PUT, etc.)"

- **Disallow**: Blocks access to the URL entirely
- `Attack Signatures`: Indicates whether attack signatures and threat campaigns are enabled, disabled, or not applicable

**⚠️ Important:** Attack Signatures are automatically set to "Not Applicable" when Enforcement Type is set to `Disallow` since the URL is explicitly blocked and signature checking is unnecessary.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Attack Signatures are automatically shown as "Not Applicable" when...

- Select either `Explicit` for exact URL matching or `Wildcard` for pattern-based matching

1. Configure Basic Properties:
- Enter the `URL` path
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to include details that an explicit path should start with a / and/or provide example(s) for explicit and wildcard so it's clear to the user what they should enter for the path


1. Configure Basic Properties:
- Enter the `URL` path
- Select allowed `Method(s)` (e.g., `GET`, `POST`, *)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: "HTTP" instead of "allowed"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation product/nginx-one Issues related to NGINX One Console
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants