Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions content/manuals/ai/governance/local/network-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@ Write the host without a scheme, such as `api.github.com` rather than
include a port, but it must be a hostname. To match an IP address or a CIDR
range, use a network rule without `--method` or `--path`.

Paths and query parameter names and values ignore ASCII letter case. For
examples and wildcard behavior, see
[HTTP rules](../reference/network-rules.md#http-method-and-path).

### Choose methods

Pass several methods as a comma-separated list, or `ANY` to match every
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ Each filesystem mount rule allows or denies `read`, `write`, or both on the
host paths it lists. A read-only workspace needs only `read`, and a writable
workspace needs both. Paths can use wildcards, and `~` expands to each user's
home directory, so a single `~/**` rule matches every developer's home tree.
For the path formats on each operating system and how wildcards match, see

POSIX path matching is case-sensitive, including on macOS. Windows drive paths
and UNC paths, including WSL UNC paths, match without regard to case. For path
formats and matching details, see
[Filesystem mount rule syntax](../../reference/filesystem-rules.md).

## When changes take effect
Expand Down
8 changes: 8 additions & 0 deletions content/manuals/ai/governance/reference/filesystem-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,14 @@ location that several platforms share needs a rule for each:
On Windows, `*:` matches any drive letter, so `*:\data\**` matches the path on
any drive.

Case sensitivity depends on the path format:

- POSIX paths on macOS and Linux are case-sensitive: `/data/Project/**` doesn't
match `/data/project/file`. Use the directory names' capitalization on disk,
even on a case-insensitive macOS volume.
- Windows drive paths and UNC paths, including WSL UNC paths, are
case-insensitive: `C:\Data\Project\**` matches `c:\data\project\file`.

Wildcards behave the same way in every path format:

| Pattern | Example | Matches |
Expand Down
11 changes: 9 additions & 2 deletions content/manuals/ai/governance/reference/network-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,11 @@ for an organization policy and
[Allow or block HTTP methods and paths](../local/network-rules.md#allow-or-block-http-methods-and-paths)
for a local one.

Path patterns follow the same wildcard rules as filesystem paths, where `*`
HTTP path matching ignores ASCII letter case: `/API/**` matches `/api/items`.
Non-ASCII characters remain case-sensitive. This applies to both allow and deny
rules.

Path patterns use the same wildcards as filesystem paths, where `*`
matches within one path segment and `**` matches any depth. A pattern without a
wildcard matches that path exactly, so `/repos` matches `/repos` and nothing
below it. Every pattern must start with `/` and can't contain a query string, a
Expand All @@ -56,7 +60,8 @@ An HTTP rule can also restrict query parameters independently of the path.

Use exact parameter names and values, or a single `*` at the start or end of a
value to match a suffix or prefix. A value of `*` matches any value, including
an empty one. Names cannot contain wildcards. Names and values are
an empty one. Names cannot contain wildcards. Names and values ignore ASCII
letter case, so `Tag=PROD` matches `tag=prod`. Non-ASCII characters remain
case-sensitive.

For rules created with `--query`, every specified parameter must match.
Expand Down Expand Up @@ -103,6 +108,8 @@ ICMP is blocked.

### Hostname patterns

Hostname matching is case-insensitive: `EXAMPLE.com` matches `example.com`.

| Pattern | Example | Matches |
| --------------------- | ----------------- | ------------------------------------------------------------- |
| Exact hostname | `example.com` | `example.com` on any port, not subdomains |
Expand Down
3 changes: 2 additions & 1 deletion content/manuals/ai/governance/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,8 @@ details, see
If a sandbox fails to mount with a `mount policy denied` error, an organization
filesystem policy doesn't allow the path. Check that the filesystem allow rule
uses `**` rather than `*`. A single `*` doesn't match across directory
separators. For more details, see
separators. For macOS and Linux paths, also check that the rule matches the
directory names' capitalization on disk. For more details, see
[Organization filesystem access policies](organization/policies/filesystem.md).

## Organization policy changes aren't taking effect
Expand Down