Skip to content
Merged
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
10 changes: 7 additions & 3 deletions docs/process-container/UIPolicy_Schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ The `"ui"` section is a sibling of `"processContainer"`, `"filesystem"`, `"netwo
| `"write"` | `UILIMIT_READCLIPBOARD` | ❌ Blocked | βœ… Allowed | Process can copy but not paste in |
| `"none"` | `UILIMIT_READCLIPBOARD` + `UILIMIT_WRITECLIPBOARD` | ❌ Blocked | ❌ Blocked | Complete clipboard isolation |

> βœ… means MXC does not set the corresponding UI limit. It does not explicitly enable clipboard access β€” other parts of the process-container security environment may still deny it.

---

### `isolation`
Expand Down Expand Up @@ -165,6 +167,8 @@ The `"ui"` section is a sibling of `"processContainer"`, `"filesystem"`, `"netwo
| `"display"` | `UILIMIT_SYSTEMPARAMETERS` | ❌ Blocked | βœ… Allowed | Process can change display but not UI params |
| `"none"` | `UILIMIT_SYSTEMPARAMETERS` + `UILIMIT_DISPLAYSETTINGS` | ❌ Blocked | ❌ Blocked | No system settings changes |

> βœ… means MXC does not set the corresponding UI limit. It does not explicitly enable the setting change β€” other parts of the process-container security environment may still deny it.

---

### `ime`
Expand Down Expand Up @@ -262,7 +266,7 @@ All defaults apply β€” maximum lockdown.

### Example 3: Selective permissions β€” GUI with clipboard access

Process has full GUI access and can interact with other windows on the desktop. Full clipboard access is granted, but all other capabilities remain locked down.
Process keeps GUI access and can interact with other windows on the desktop. MXC sets no clipboard limit, but all other capabilities remain locked down.

```json
"ui": {
Expand All @@ -284,7 +288,7 @@ This section is an implementation reference for runner developers. The JSON fiel
| `clipboard` | `"none"` | `JOB_OBJECT_UILIMIT_READCLIPBOARD` + `JOB_OBJECT_UILIMIT_WRITECLIPBOARD` |
| `clipboard` | `"read"` | `JOB_OBJECT_UILIMIT_WRITECLIPBOARD` |
| `clipboard` | `"write"` | `JOB_OBJECT_UILIMIT_READCLIPBOARD` |
| `clipboard` | `"all"` | *(no flags)* |
| `clipboard` | `"all"` | *(no flags; does not explicitly enable clipboard access)* |
| `isolation` | `"container"` | `JOB_OBJECT_UILIMIT_HANDLES` + `JOB_OBJECT_UILIMIT_GLOBALATOMS` |
| `isolation` | `"handles"` | `JOB_OBJECT_UILIMIT_HANDLES` |
| `isolation` | `"atoms"` | `JOB_OBJECT_UILIMIT_GLOBALATOMS` |
Expand All @@ -294,7 +298,7 @@ This section is an implementation reference for runner developers. The JSON fiel
| `systemSettings` | `"none"` | `JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS` + `JOB_OBJECT_UILIMIT_DISPLAYSETTINGS` |
| `systemSettings` | `"parameters"` | `JOB_OBJECT_UILIMIT_DISPLAYSETTINGS` |
| `systemSettings` | `"display"` | `JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS` |
| `systemSettings` | `"all"` | *(no flags)* |
| `systemSettings` | `"all"` | *(no flags; does not explicitly enable the setting changes)* |
| `ime` | `false` | `JOB_OBJECT_UILIMIT_IME` |
| `injection` | `false` | `JOB_OBJECT_UILIMIT_INJECTION` |

Expand Down
4 changes: 4 additions & 0 deletions docs/process-container/os-version-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,10 @@ would reject; `wxc-exec --probe` reports what a host can enforce.
| `injection` β€” INJECTION (`0x200`, β‰₯ 26100) | ❌ | βœ… | βœ… | βœ… |
| `disable` β€” `disallowWin32kSystemCalls` mitigation | βœ… | βœ… | βœ… | βœ… |

βœ… here means the host can set the flag, not that the permissive value grants
the operation. Omitting a limit never enables anything; see
[UI policy schema](UIPolicy_Schema.md).

The single UI differentiator for 23H2 is **`injection`**
(`JOB_OBJECT_UILIMIT_INJECTION`), which the kernel accepts only on build 26100
and later (`MIN_BUILD_FOR_INJECTION_LIMIT`) and is therefore unavailable on
Expand Down
Loading
Loading