You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 433f859
Browse filesBrowse the repository at this point in the historyBrowse files
docs: fix prose defects found auditing the edited pages end to end
Reading the final state of all 34 pages as prose, rather than diffing them,
surfaced seams that per-claim review cannot see.
The worst was mine: an earlier replacement produced "with a configured
Trigger.dev project, and a configured Trigger.dev project" in three files.
Also fixed:
- A dangling colon in troubleshooting where the list it introduced had been
removed, and a lead-in promising two deployment options above a list of three.
- "Before the UI walkthrough" on a section that now sits after it, and a
reference to "steps 3 and 4 below" that are above.
- A rollback snippet whose comment said to set the previous tag but whose
commands never did, and an LM Studio section telling operators to recreate a
service using the development compose file.
- A scaling page that recommended the 8 Gi default two lines above warning that
peaks reach 12 GB.
- An ADFS example setting SSO_ISSUER to Sim's own URL, which the callout four
lines earlier says it must not be.
- Table cells that were sentence fragments, prose glued onto the end of an
<Image> tag, and a comma splice.
- Paragraphs restating an earlier paragraph on the same page verbatim, in
access-control, self-hosted, whitelabeling, object-storage and email.
- "canvas" used for the visual builder in five places, competitor name-dropping,
and two marketing-shaped passages on operator pages.
- Title Case headings in troubleshooting, the only page not using sentence case.
- type="warning" normalized to type="warn". Both resolve identically in
fumadocs, so this is consistency rather than a rendering fix.
Every in-scope link and anchor still resolves after the heading renames.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015BwsJTEQRzWJaY4BRCkPZt
Copy file name to clipboardExpand all lines: apps/docs/content/docs/platform/enterprise/access-control.mdx
+11-9Lines changed: 11 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ Access Control lets organization admins define permission groups that restrict w
13
13
14
14
## How it works
15
15
16
-
Access control is built around **permission groups**. Each group belongs to a specific organization and has a name, an optional description, a **workspace scope**, an optional **member** list, and a configuration that defines what its members can and cannot do. The organization's single **default group** is org-wide; every other group targets a **specific set of workspaces**. A non-default group with **no members** governs **all members** of its workspaces (including external members); adding members narrows it to only those people. Personal or grandfathered workspaces that do not belong to an organization have no permission groups.
16
+
Each group belongs to a specific organization and has a name, an optional description, a **workspace scope**, an optional **member** list, and a configuration that defines what its members can and cannot do. Personal or grandfathered workspaces that do not belong to an organization have no permission groups.
17
17
18
18
Sim resolves the governing group for a user in a workspace deterministically:
19
19
@@ -59,7 +59,9 @@ A workspace-scoped group with **no members** applies to everyone in its workspac
59
59
60
60
Controls which AI model providers members of this group can use.
61
61
62
-
<Imagesrc="/static/enterprise/access-control-model-providers.png"alt="Model Providers tab showing a grid of AI providers including Ollama, vLLM, OpenAI, Anthropic, Google, Azure OpenAI, and others with checkboxes to allow or restrict access"width={900}height={430} /> The list shows all providers available in Sim.
62
+
<Imagesrc="/static/enterprise/access-control-model-providers.png"alt="Model Providers tab showing a grid of AI providers including Ollama, vLLM, OpenAI, Anthropic, Google, Azure OpenAI, and others with checkboxes to allow or restrict access"width={900}height={430} />
63
+
64
+
The list shows all providers available in Sim.
63
65
64
66
-**All checked (default):** All providers are allowed.
65
67
-**Subset checked:** Only the selected providers are allowed. Any workflow block or agent using a provider not on the list will fail at execution time.
@@ -70,7 +72,9 @@ Expand a provider row to reach its **model denylist**. Clearing individual model
70
72
71
73
Controls which workflow blocks members can place and execute.
72
74
73
-
<Imagesrc="/static/enterprise/access-control-blocks.png"alt="Blocks tab showing Core Blocks (Agent, API, Condition, Function, Knowledge, etc.) and Tools (integrations like 1Password, Ahrefs, Airtable, and more) with checkboxes to allow or restrict each"width={900}height={634} /> Blocks are split into two sections: **Core Blocks** (Agent, API, Condition, Function, etc.) and **Tools** (all integration blocks).
75
+
<Imagesrc="/static/enterprise/access-control-blocks.png"alt="Blocks tab showing Core Blocks (Agent, API, Condition, Function, Knowledge, etc.) and Tools (integrations like 1Password, Ahrefs, Airtable, and more) with checkboxes to allow or restrict each"width={900}height={634} />
76
+
77
+
Blocks are split into two sections: **Core Blocks** (Agent, API, Condition, Function, etc.) and **Tools** (all integration blocks).
74
78
75
79
-**All checked (default):** All blocks are allowed.
76
80
-**Subset checked:** Only the selected blocks are allowed. Workflows that already contain a disallowed block will fail when run — they are not automatically modified.
@@ -83,7 +87,7 @@ Expand an integration block to reach its **tool denylist**. Clearing individual
83
87
84
88
#### Platform
85
89
86
-
Controls the modules, actions, and credentials available to group members. Every row refuses at the API, not only in the UI — clearing a box revokes the access, it does not merely hide a tab.
90
+
Controls the modules, actions, and credentials available to group members. Every row refuses at the API, not only in the UI — clearing a box revokes the access; it does not merely hide a tab.
87
91
88
92
<Imagesrc="/static/enterprise/access-control-platform.png"alt="Platform tab showing feature toggles grouped by category"width={900}height={566} />
89
93
@@ -141,7 +145,7 @@ The **Chat Deployment** row also carries an **auth-mode allowlist** — *Auth mo
| Tool Auto-Approval | Prevents silencing a tool confirmation, so every call is confirmed again. |
148
+
| Tool Auto-Approval | Prevents auto-approving tool calls, so every call must be confirmed. |
145
149
146
150
**Logs**
147
151
@@ -156,7 +160,7 @@ The **Chat Deployment** row also carries an **auth-mode allowlist** — *Auth mo
156
160
| Feature | What clearing it withholds |
157
161
|---------|---------------------------|
158
162
| Invitations | Prevents inviting anyone to a workspace or to the organization. |
159
-
| Workspace Creation | Prevents creating new workspaces, which no existing group would govern. |
163
+
| Workspace Creation | Prevents creating new workspaces. A new workspace falls outside every existing group's scope. |
160
164
| Member Directory | Withholds the member directory. Members cannot see the names or email addresses of other members. |
161
165
162
166
**Credentials & Access**
@@ -174,12 +178,10 @@ The **Chat Deployment** row also carries an **auth-mode allowlist** — *Auth mo
174
178
175
179
Two rows — **Workspace Creation** and **Member Directory** — are read only from the organization's **default group**, because the act they govern names no workspace. On any other group the editor renders them inert, tags them **Organization**, and skips them in **Select All**. Set them on the default group.
176
180
177
-
Five more rows — **Integrations**, **API Keys**, **Invitations**, **Personal API Keys**, and **CLI Access** — apply on the group in front of you for anything scoped to one of its workspaces, but fall back to the default group for the account-level path of the same action (minting a personal key, an organization-wide invitation, an account-level CLI login). To close one of these completely, set it on the default group as well.
181
+
Five more rows — **Integrations**, **API Keys**, **Invitations**, **Personal API Keys**, and **CLI Access** — apply on the group in front of you for anything scoped to one of its workspaces. The account-level path of the same action falls back to the default group: minting a personal key, an organization-wide invitation, an account-level CLI login. To close one of these completely, set it on the default group as well.
178
182
179
183
### 4. Choose who it applies to
180
184
181
-
A workspace-scoped group applies to **all members of its workspaces by default** — including external members. To restrict it to specific people instead, open the group's **Details → General** tab and add members by searching your organization by name or email. Removing every member returns the group to governing everyone in its workspaces.
182
-
183
185
A user is governed by one group per workspace, so adding a user is rejected when it would conflict with another of their groups on a shared workspace (skipped rather than added in bulk). The default group ignores members entirely — it always governs everyone not covered by a workspace group.
184
186
185
187
A workspace also has at most one all-members group. Adding a workspace to a group, or removing a group's last member, is rejected when doing so would violate that — memberships and scopes are never silently moved.
Copy file name to clipboardExpand all lines: apps/docs/content/docs/platform/enterprise/custom-blocks.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ A custom block always runs the **latest deployed version** of its source workflo
14
14
15
15
## Common uses
16
16
17
-
Custom blocks turn a workflow one team owns into infrastructure the whole organization can safely reuse. Credentials and complexity stay with the block's author; everyone else gets a clean block that's always up to date. A few patterns:
17
+
The block's author keeps the credentials and the workflow logic; consumers see only the inputs and outputs. Common patterns:
18
18
19
19
-**Internal API gateway.** Wrap an authenticated internal or partner endpoint — "Create Ticket", "Charge Account", "Provision User" — behind a block that takes only the business inputs. Teammates call it without the base URL, API key, or auth headers, and when the endpoint changes you update one workflow instead of every consumer's.
20
20
-**Blessed knowledge lookup.** Package a vetted retrieval pipeline — chunking, filters, reranking — as "Search Company Docs" with a single query input, so teams reuse the approved retrieval instead of each rebuilding it.
@@ -90,13 +90,13 @@ Click **Save changes**. The block is published immediately and becomes available
90
90
91
91
## Using a custom block
92
92
93
-
In the workflow editor, open the block toolbar. Published custom blocks appear under a **Custom blocks** section. Drag one onto the canvas like any other block, fill in its inputs (using the placeholders as a guide), and reference its outputs in downstream blocks.
93
+
In the workflow editor, open the block toolbar. Published custom blocks appear under a **Custom blocks** section. Drag one into your workflow like any other block, fill in its inputs (using the placeholders as a guide), and reference its outputs in downstream blocks.
94
94
95
95
<Imagesrc="/static/enterprise/custom-blocks-toolbar.png"alt="Workflow editor block toolbar with a Custom Blocks section listing two published blocks below Core Blocks"width={400}height={476} />
96
96
97
97
Consumers don't need any access to the source workflow. The block runs on its own, using only the inputs provided, and returns only the outputs you exposed. Its internal steps, models, and intermediate values stay hidden unless the block's publisher turned on **Trace runs in consumer logs**, in which case they appear under the block in the run's trace.
98
98
99
-
<Imagesrc="/static/enterprise/custom-blocks-canvas.png"alt="A custom block connected to a Start block on the workflow canvas, with its query input filled in and the run output showing the returned fields"width={900}height={570} />
99
+
<Imagesrc="/static/enterprise/custom-blocks-canvas.png"alt="A custom block connected to a Start block in the workflow editor, with its query input filled in and the run output showing the returned fields"width={900}height={570} />
Copy file name to clipboardExpand all lines: apps/docs/content/docs/platform/enterprise/data-drains.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -187,7 +187,7 @@ The **last 10 runs** for each drain are visible by expanding its row in the sett
187
187
188
188
## Pairing with Data Retention
189
189
190
-
Drains and [Data Retention](/platform/enterprise/data-retention) are independent modules. Sim does **not** gate retention on drain progress — if a drain is failing, retention will still purge data on its own schedule. This matches the model used by Datadog Archives and AWS CloudWatch + S3 Export: keep the two configurations orthogonal and let the customer pair them deliberately.
190
+
Drains and [Data Retention](/platform/enterprise/data-retention) are independent modules. Sim does **not** gate retention on drain progress — if a drain is failing, retention will still purge data on its own schedule. Keep the two configurations independent and pair them deliberately.
191
191
192
192
To safely use both together, set the drain cadence shorter than the retention period for the same data category:
Each due drain is then fanned out as a `run-data-drain` background job, so the deployment also needs `TRIGGER_DEV_ENABLED`with a configured Trigger.dev project, and a configured Trigger.dev project. Without it the dispatcher still claims the work and enqueues it to the database, but nothing drains that queue for this job type, so the runs stay pending and never execute. See [background jobs](/platform/self-hosting/background-jobs).
263
+
Each due drain is then fanned out as a `run-data-drain` background job, so the deployment also needs `TRIGGER_DEV_ENABLED` and a configured Trigger.dev project. Without it the dispatcher still claims the work and enqueues it to the database, but nothing drains that queue for this job type, so the runs stay pending and never execute. See [background jobs](/platform/self-hosting/background-jobs).
Each call fans the work out as background jobs, so the deployment also needs `TRIGGER_DEV_ENABLED`with a configured Trigger.dev project, and a configured Trigger.dev project. Without it the dispatcher still claims the work and enqueues it to the database, but nothing drains that queue for this job type, so the runs stay pending and never execute.
208
+
Each call fans the work out as background jobs, so the deployment also needs `TRIGGER_DEV_ENABLED` and a configured Trigger.dev project. Without it the dispatcher still claims the work and enqueues it to the database, but nothing drains that queue for this job type, so the runs stay pending and never execute.
Copy file name to clipboardExpand all lines: apps/docs/content/docs/platform/enterprise/forks.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -361,7 +361,7 @@ Schedules, webhooks, and triggers are not live in the child until you **deploy**
361
361
362
362
## Edge cases to keep in mind
363
363
364
-
-**Force overwrite** — Sync does not merge canvas changes. Anything only on the target that conflicts with the source’s deployed workflows can be lost. Use the confirm dialog’s archive list carefully.
364
+
-**Force overwrite** — Sync does not merge editor changes. Anything only on the target that conflicts with the source’s deployed workflows can be lost. Use the confirm dialog’s archive list carefully.
365
365
-**Deselect on fork** — Cleared references are intentional. Prefer copying the resource, or plan to reconnect it in the child.
366
366
-**Background copy** — Right after fork, large tables / knowledge bases / files may still be copying. Check **Activity** if something looks empty.
367
367
-**OAuth MCP** — Expect a reconnect in the child (and after a copied server on sync).
Copy file name to clipboardExpand all lines: apps/docs/content/docs/platform/enterprise/index.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Enterprise
3
3
description: Enterprise features for business organizations
4
4
---
5
5
6
-
Sim Enterprise adds fine-grained access control, SSO, audit logging, compliance features, and workspace forking on top of Team plans.
6
+
Sim Enterprise adds permission groups, SSO, audit logs, usage tracking, data retention and drains, white-labeling, and workspace forks on top of Team plans.
7
7
8
8
---
9
9
@@ -21,7 +21,7 @@ External workspace members can be governed by permission groups just like intern
21
21
22
22
### Setup
23
23
24
-
1. Navigate to **Settings** → **Organization** → **Permission groups** from any workspace in your organization
24
+
1. Navigate to **Settings → Organization → Permission groups** from any workspace in your organization
25
25
2. Create a permission group with your desired restrictions
26
26
3. Scope it to workspaces, and optionally add named members
27
27
@@ -65,7 +65,7 @@ Configure how long execution logs, soft-deleted resources, and Chat data are kep
65
65
66
66
## Data Drains
67
67
68
-
Continuously export workflow logs, audit logs, and Chat data to a customer-owned S3 bucket or HTTPS webhook on a schedule. See the [data drains guide](/platform/enterprise/data-drains).
68
+
Continuously export workflow logs, audit logs, and Chat data to a destination you control — object storage, a data warehouse, Datadog, or an HTTPS webhook — on a schedule. See the [data drains guide](/platform/enterprise/data-drains).
That turns on organizations, permission groups, SSO, white-labeling, audit logs,
27
27
usage tracking, custom blocks, session policies, data retention, data drains, workspace
28
-
forks, the Sandbox entitlement, and the inbox. Sandboxes remain unavailable until their
29
-
remote provider and dedicated Function base are configured.
28
+
forks, the Sandbox entitlement, and the inbox.
30
29
31
30
### Turning one feature off
32
31
@@ -64,13 +63,13 @@ JavaScript without `import` or `require` does not use the remote provider and co
64
63
65
64
See [Sandboxes](/platform/self-hosting/sandboxes) for the provider credentials, the Function base-image build, and the promotion procedure.
66
65
67
-
<Callouttype="warning">
66
+
<Callouttype="warn">
68
67
Data retention is the one feature that deletes data. Its flag controls the cleanup pass, not the settings screen — retention windows are always configurable. Nothing is ever deleted until you enable it, and even then only against windows you configured explicitly. Sim never applies the hosted plan defaults to a self-hosted deployment.
69
68
</Callout>
70
69
71
70
## Schedule the background jobs
72
71
73
-
Two enterprise features do their work from a cron-driven HTTP endpoint rather than from the app process. Both endpoints authenticate with a bearer token equal to `CRON_SECRET`, and both return `401` when `CRON_SECRET` is unset:
72
+
Two enterprise features do their work from a cron-driven HTTP endpoint rather than from the app process. All four endpoints authenticate with a bearer token equal to `CRON_SECRET`, and both return `401` when `CRON_SECRET` is unset:
The Helm chart schedules the data-drain dispatcher but **not** the three retention cleanup endpoints. Setting `DATA_RETENTION_ENABLED=true` on the chart alone deletes nothing — the windows are evaluated only when one of those endpoints is called. Add them to `cronjobs.jobs` yourself, or drive them from an external scheduler.
Both features also fan work out as background jobs, so the deployment needs `TRIGGER_DEV_ENABLED`with a configured Trigger.dev project, and a configured Trigger.dev project. Without it the dispatcher still claims the work and enqueues it to the database, but nothing drains that queue for this job type, so the runs stay pending and never execute. See [background jobs](/platform/self-hosting/background-jobs).
94
+
Both features also fan work out as background jobs, so the deployment needs `TRIGGER_DEV_ENABLED` and a configured Trigger.dev project. Without it the dispatcher still claims the work and enqueues it to the database, but nothing drains that queue for this job type, so the runs stay pending and never execute. See [background jobs](/platform/self-hosting/background-jobs).
Copy file name to clipboardExpand all lines: apps/docs/content/docs/platform/enterprise/session-policies.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,7 +60,7 @@ Use this after a security incident, an offboarding wave, or before tightening a
60
60
{
61
61
question: 'What happens to a member who is working when their session expires?',
62
62
answer:
63
-
'They are redirected to sign in again on their next request. Unsaved workflow changes in the editor are preserved by the collaborative canvas, which continuously syncs edits.',
63
+
'They are redirected to sign in again on their next request. Unsaved workflow changes in the editor are preserved by the collaborative editor, which continuously syncs edits.',
64
64
},
65
65
{
66
66
question: 'Does "Sign out all members" affect API keys or running workflows?',
0 commit comments