Skip to content

sbx: document team-scoped governance policies#25251

Merged
dvdksn merged 8 commits into
docker:mainfrom
dvdksn:worktree-sbx-team-scoped-governance
Jun 4, 2026
Merged

sbx: document team-scoped governance policies#25251
dvdksn merged 8 commits into
docker:mainfrom
dvdksn:worktree-sbx-team-scoped-governance

Conversation

@dvdksn
Copy link
Copy Markdown
Contributor

@dvdksn dvdksn commented Jun 3, 2026

Add docs for scoping organization governance policies to specific teams. Explains org-wide vs team-scoped policies, how a user's effective policies combine (additive allows, absolute denies, org-wide guardrails, how to create polices in the admin UI).

@netlify
Copy link
Copy Markdown

netlify Bot commented Jun 3, 2026

Deploy Preview for docsdocker ready!

Name Link
🔨 Latest commit 77936b5
🔍 Latest deploy log https://app.netlify.com/projects/docsdocker/deploys/6a21024e5881a600089bb4f1
😎 Deploy Preview https://deploy-preview-25251--docsdocker.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions github-actions Bot added area/api Relates to Docker API docs area/ai labels Jun 3, 2026
@dvdksn dvdksn force-pushed the worktree-sbx-team-scoped-governance branch from 0da85a2 to a3143c7 Compare June 3, 2026 09:34
Copy link
Copy Markdown

@docker-agent docker-agent left a comment

Choose a reason for hiding this comment

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

Assessment: 🟡 NEEDS ATTENTION

Comment thread content/manuals/ai/sandboxes/governance/org.md Outdated
Copy link
Copy Markdown

@docker-agent docker-agent left a comment

Choose a reason for hiding this comment

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

Assessment: 🟡 NEEDS ATTENTION

Two style guide issues in the newly added content:

content/reference/api/ai-governance/api.yaml — Semicolon in teams field description

The description uses a semicolon to join two independent clauses (line 507–508):

Each value must be a valid group in the target organization; requests referencing unknown identifiers are rejected.

Per the Docker Style Guide: "Semicolons: Don't use — write two sentences instead." Suggested fix:

Each value must be a valid group in the target organization. Requests referencing unknown identifiers are rejected.

@dvdksn dvdksn changed the title sbx: document team-scoped and time-bounded governance policies sbx: document team-scoped governance policies Jun 3, 2026
dvdksn and others added 3 commits June 3, 2026 11:53
Add docs for scoping organization governance policies to specific teams.
Explains org-wide vs team-scoped policies and how a user's effective
policies combine: additive allows, absolute denies, and org-wide deny
rules acting as guardrails that team-scoped policies can't override.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a Create a policy section with the Admin Console steps (name, Scope
toggle, rules) and document team scoping setup: prerequisites (teams via
manual management or SSO group mapping) and a worked guardrail example.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Address PR review feedback: bold is reserved for UI elements, so the
additive/absolute and org-wide/team-scoped list labels use plain text.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@dvdksn dvdksn force-pushed the worktree-sbx-team-scoped-governance branch from a35db47 to c7fa99d Compare June 3, 2026 09:55
dvdksn and others added 2 commits June 3, 2026 12:10
Replace PRD-style framing ("govern an organization with thousands of
users") with a plain statement that policies are managed by team rather
than per user.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Link the dedicated group mapping page instead of the SSO overview, and
match its wording: group mapping synchronizes IdP groups with the teams
in your organization, creating teams as needed and keeping membership in
step with your IdP groups.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Comment on lines -46 to +71
| Pattern | Example | Matches |
| ------- | ------- | ------- |
| Exact hostname | `example.com` | `example.com` only, not subdomains |
| Single-level wildcard | `*.example.com` | One subdomain level: `api.example.com` |
| Multi-level wildcard | `**.example.com` | Any depth: `api.example.com`, `v2.api.example.com` |
| Hostname with port | `example.com:443` | `example.com` on port 443 only |
| Pattern | Example | Matches |
| --------------------- | ----------------- | -------------------------------------------------- |
| Exact hostname | `example.com` | `example.com` only, not subdomains |
| Single-level wildcard | `*.example.com` | One subdomain level: `api.example.com` |
| Multi-level wildcard | `**.example.com` | Any depth: `api.example.com`, `v2.api.example.com` |
| Hostname with port | `example.com:443` | `example.com` on port 443 only |
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Just formatting noise

Comment on lines -66 to +90
| Pattern | Example | Matches |
| ------- | ------- | ------- |
| Exact path | `/data` | `/data` only |
| Segment wildcard | `/data/*` | `/data/project`, one path segment only, not subdirectories |
| Recursive wildcard | `/data/**` | `/data/project`, `/data/project/src`, any depth |
| Pattern | Example | Matches |
| ------------------ | ---------- | ---------------------------------------------------------- |
| Exact path | `/data` | `/data` only |
| Segment wildcard | `/data/*` | `/data/project`, one path segment only, not subdirectories |
| Recursive wildcard | `/data/**` | `/data/project`, `/data/project/src`, any depth |
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Just formatting noise

dvdksn and others added 2 commits June 3, 2026 12:45
Remove the repeated explanations of how effective policies combine. The
concepts page now owns the model: Policy scope defines "effective
policies" once, Rule evaluation owns the deny-wins/additive mechanics, and
Precedence points to it instead of restating. The org page states the
practical upshot once and links to the model, keeping the worked example.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the incorrect app.docker.com/admin link (the real AI governance
URLs are org-scoped and can't be linked directly) with the standard
navigation: sign in to Docker Home, select the org, then Admin Console >
AI governance > Network access / Filesystem access.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@dvdksn dvdksn marked this pull request as ready for review June 3, 2026 11:03
@dvdksn dvdksn requested a review from a team June 3, 2026 11:05
Copy link
Copy Markdown

@docker-agent docker-agent left a comment

Choose a reason for hiding this comment

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

Assessment: 🟡 NEEDS ATTENTION

Comment thread content/manuals/ai/sandboxes/governance/org.md
Comment thread content/manuals/ai/sandboxes/governance/org.md
Comment thread content/manuals/ai/sandboxes/governance/concepts.md
Comment thread content/manuals/ai/sandboxes/governance/concepts.md Outdated

After updating organization policies in the Admin Console, changes take up
to 5 minutes to propagate to developer machines. To apply changes
immediately, users can run `sbx policy reset`, which stops the daemon and
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I believe sbx logout now also stops the daemon and might be less intrusive than reset.

From https://docs.docker.com/ai/sandboxes/release-notes/#0310:

sbx logout now stops the daemon and running sandboxes.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

logout would be more intrusive I think - policy reset just deletes any custom, local policy rules, which are ignored anyway if org policies are turned on.

### Policy changes not taking effect

After updating organization policies in the Admin Console, changes take up
to 5 minutes to propagate to developer machines. To apply changes
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

You may also want to mention that sbx policy ls will display the last synched time which can help a user debug whether they have the latest or not.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We already explain that policies take up to 5 minutes to propagate + how to force sync, I think that's enough for real users

Copy link
Copy Markdown

@brianpratt-docker brianpratt-docker left a comment

Choose a reason for hiding this comment

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

LGTM

Address review feedback: the default-deny principle described outbound
network traffic only. It now covers both domains — outbound traffic needs
a network rule, and a host path needs a filesystem rule before it can be
mounted.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@dvdksn dvdksn added the status/review Pull requests that are ready for review label Jun 4, 2026
@dvdksn dvdksn merged commit 93444f5 into docker:main Jun 4, 2026
15 checks passed
@dvdksn dvdksn deleted the worktree-sbx-team-scoped-governance branch June 4, 2026 08:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ai area/api Relates to Docker API docs status/review Pull requests that are ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants