Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f659987
docs: update network policy documentation
bbonaby Aug 11, 2026
c983695
docs: retain runnable network examples
bbonaby Aug 11, 2026
f8ada9a
docs: address network policy review feedback
bbonaby Aug 11, 2026
d1192ac
docs: clarify ProcessContainer proxy paths
bbonaby Aug 11, 2026
944789b
docs: document ProcessContainer capability mapping
bbonaby Aug 11, 2026
b1bcfd7
docs: clarify network migration paths
bbonaby Aug 11, 2026
cb92355
docs: clarify ProcessContainer proxy enforcement
bbonaby Aug 12, 2026
1b63f0d
docs: reconcile network enforcement guarantees
bbonaby Aug 12, 2026
30c96be
docs: clarify network migration semantics
bbonaby Aug 12, 2026
6c9798f
Align schema 0.8 network semantics
bbonaby Aug 12, 2026
0bacd3d
Narrow shared networking documentation changes
bbonaby Aug 12, 2026
3dd3a85
Confine Seatbelt caveats to backend section
bbonaby Aug 12, 2026
3e8bb80
Merge main into schema 0.8 networking docs
bbonaby Aug 12, 2026
9605abc
Keep Bubblewrap N2 reference minimal
bbonaby Aug 12, 2026
29953d9
Clarify ProcessContainer network probing
bbonaby Aug 13, 2026
78e7ab0
Clarify private-network egress rules
bbonaby Aug 13, 2026
f3eda00
Address adversarial network doc findings
bbonaby Aug 13, 2026
52455fb
Define host-loopback access bidirectionally
bbonaby Aug 13, 2026
58a5d5c
Remove redundant WFP example comment
bbonaby Aug 13, 2026
3af1b45
Align roadmap host-loopback terminology
bbonaby Aug 13, 2026
c808bc7
Keep core proxy enforcement in base docs
bbonaby Aug 13, 2026
04b7a78
Keep common WFP behavior in base docs
bbonaby Aug 13, 2026
8dc08a8
Clarify unrestricted and loopback contracts
bbonaby Aug 13, 2026
ec857bd
Resolve networking contract ambiguities
bbonaby Aug 13, 2026
df03ff0
Wrap shared networking guidance
bbonaby Aug 13, 2026
37017ef
Broaden proxy peer identity contract
bbonaby Aug 13, 2026
f80a4af
Clarify cooperative proxy configuration
bbonaby Aug 13, 2026
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
2 changes: 1 addition & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ Core references:
- `docs/examples.md` β€” annotated configuration examples (see also `tests/examples/` and `tests/configs/`)
- `docs/diagnostics.md` β€” diagnostic logging knobs (env vars, log file format)
- `docs/host-prep.md` β€” `wxc-host-prep.exe` host setup binary (`prepare-system-drive` / `unprepare-system-drive` for the AppContainer ACEs on the system-drive root, plus `prepare-null-device` / `verify-null-device` / `dump-null-device` for the `\Device\Null` security descriptor that AppContainer-based backends require). Owns elevation via embedded `requireAdministrator` manifest β€” `wxc-exec.exe` no longer self-elevates.
- `docs/sandbox-policy/v1/policy.md` β€” sandbox policy v1 specification
- `docs/sandbox-policy/0.7.0/policy.md` β€” sandbox policy 0.7.0 specification

Per-backend guides:

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ Privacy information can be found at https://privacy.microsoft.com and in the Mic
| [docs/examples.md](docs/examples.md) | Annotated configuration examples |
| [docs/host-prep.md](docs/host-prep.md) | Windows host preparation (`wxc-host-prep.exe`) |
| [docs/diagnostics.md](docs/diagnostics.md) | Diagnostic logging and ETW |
| [docs/sandbox-policy/v1/policy.md](docs/sandbox-policy/v1/policy.md) | Sandbox policy v1 specification |
| [docs/sandbox-policy/0.7.0/policy.md](docs/sandbox-policy/0.7.0/policy.md) | Sandbox policy 0.7.0 specification |
| [docs/process-container/guide.md](docs/process-container/guide.md) | Windows AppContainer / BaseContainer guide |
| [docs/lxc-support/lxc-backend.md](docs/lxc-support/lxc-backend.md) | LXC backend (Linux) |
| [docs/bwrap-support/bubblewrap-backend.md](docs/bwrap-support/bubblewrap-backend.md) | Bubblewrap backend (Linux) |
Expand Down
4 changes: 2 additions & 2 deletions docs/authoring-a-new-feature.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

Read these in order:

1. [Sandbox Policy spec](sandbox-policy/v1/policy.md): what
1. [Sandbox Policy spec](sandbox-policy/0.7.0/policy.md): what
Policy and ContainerConfig are, design principles.
2. [Versioning Design](versioning.md): how policy/schema/SDK
versions relate and when to bump.
Expand Down Expand Up @@ -101,7 +101,7 @@ If your feature touches SandboxPolicy, update
If your feature adds policy or config fields, you will need
to plumb them through `createConfigFromPolicy()` in
`sdk/node/src/sandbox.ts`. See the
[worked example in the Sandbox Policy spec](sandbox-policy/v1/policy.md#10-worked-example-ui-policy)
[worked example in the Sandbox Policy spec](sandbox-policy/0.7.0/policy.md#10-worked-example-ui-policy)
for a walkthrough.

---
Expand Down
69 changes: 50 additions & 19 deletions docs/linux-wsl-roadmap-june-2026.md

Large diffs are not rendered by default.

48 changes: 48 additions & 0 deletions docs/process-container/examples/0.8.0-schema.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Planned ProcessContainer schema 0.8 configuration

See the shared [0.7-to-0.8 network schema comparison](../../sandbox-policy/0.8.0/networking/schema-updates.md)
for egress, ingress, and proxy endpoint changes. This page covers the
ProcessContainer-specific proxy peer.

## Contained proxy

`allowedProxyPeer` identifies either an installed package or an unpackaged AppContainer profile that hosts the proxy.
Package identity can scope a packaged proxy whether or not that proxy uses AppContainer isolation.

```jsonc
{
"version": "0.8.0-alpha",
"containment": "processcontainer",
"process": {
"commandLine": "cmd.exe /c echo replace-with-client-command"
},
"network": {
"egress": {
"default": "deny"
},
"ingress": {
"default": "allow",
"hostLoopback": "deny"
}
},
"runtimeConfig": {
"networkProxy": "http://127.0.0.1:8080"
},
"processContainer": {
"network": {
"allowedProxyPeer": "<installed-package-family-name-or-appcontainer-profile-name>"
}
}
}
```

| Field | Value |
|---|---|
| `runtimeConfig.networkProxy` | HTTP/S loopback URL with an explicit port |
| `processContainer.network.allowedProxyPeer` | Package family name or AppContainer profile name |

ProcessContainer requires `ingress.default: "allow"` for private-network communication with an identity-scoped proxy.
Windows implements this with the bidirectional `privateNetworkClientServer` capability, so the setting also permits
private-network server traffic. `egress.default: "deny"` continues to block direct internet traffic.

See [Process Container Networking Configuration](../networking.md) for Windows enforcement details.
2 changes: 1 addition & 1 deletion docs/process-container/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ For which policy aspects this backend can enforce on each Windows 11 release
## Prerequisites

1. Read the
[Sandbox Policy spec](../sandbox-policy/v1/policy.md) to
[Sandbox Policy spec](../sandbox-policy/0.7.0/policy.md) to
understand how SandboxPolicy maps to ContainerConfig.
2. Read
[authoring-a-new-feature.md](../authoring-a-new-feature.md),
Expand Down
Loading
Loading