The rule that applies everywhere
Speckle never has more access than you grant on your side. There is no Speckle-side switch that widens what an integration can read. Every integration authenticates with an identity you control, and the permissions attached to that identity in your platform are the whole boundary. Two consequences follow:- You govern in your own tools. Access reviews, revocation, and scoping happen in Autodesk admin, ProjectWise, Unity Catalog, or Snowflake roles — the places your team already audits. Speckle adds nothing that needs a parallel policy.
- Nothing is crawled. Speckle does not index your hub, datasource, catalog, or lake. It reads only the specific files or tables a user selects, only when a sync or query runs, and only if the identity is permitted to read them.
Two kinds of integration
Syncs (BIM and CAD)
A sync takes a file the user can already open in the CDE and converts it into Speckle’s object model — atomised into individual elements with their properties, normalised so a Revit wall and an IFC wall can be queried the same way. That conversion is what enables the viewer, dashboards, AI chat, and the SQL join to your tables. The source file is read, not modified, and the sync does not trigger paid translation or consume cloud credits on the CDE side.Subscriptions (data)
A subscription points at a table or view in your warehouse. Speckle presents a browser of what the service identity can see; a user picks a table, and Speckle queries it read-only when a dashboard, AI chat, or SQL join needs it — for example, joining a cost table to the elements of a synced model. Queries run on your warehouse compute under the service identity, so they appear in your query history and consume your compute like any other client.Who the integration acts as
This is where the integrations differ, and it determines where you scope access.
For ACC, permissions are per user and follow the user. If Sarah is a member of two hubs — full read on one, a single project on the other — she can sync anything she can read across both, and nothing else. Change her Autodesk permissions and her Speckle reach changes with them. There is nothing for you to enable beyond registering the Speckle integration on the hub once.
For Databricks and Snowflake, permissions are per workspace and follow the service identity. Everyone in the Speckle workspace sees the same set of tables: the ones you granted. This is deliberate — it lets you publish a curated, governed surface (specific schemas, views with row filtering applied on your side) without mirroring individual user entitlements into Speckle. If different teams need different data, use separate Speckle workspaces with separate service identities.
ProjectWise is both. The service account must be added to a project for it to be reachable at all, and within that the user’s own ProjectWise permissions still apply.
Speckle’s own project roles govern what happens after data is in Speckle — who can view,
comment, or load a model. They do not extend anyone’s reach into the source platform.
What Speckle never does
- Write back. No integration modifies, uploads, or deletes anything in the source platform. Scopes and grants are read-only by design; in ACC, the requested scopes are
account:read,user-profile:read,data:read,data:search,bucket:read,viewables:read, andopenid. - Crawl or enumerate beyond the identity’s permissions. Speckle lists only what the identity can list, and only when a user opens the browser view.
- Escalate. Speckle cannot request broader access on a user’s behalf; broadening access is always an action you take in your own admin console.
- Expose credentials. Service principal secrets and private keys are encrypted in the browser before they are sent, stored encrypted at rest, and never displayed again after you save them.
Recommended scoping patterns
For ACC, if you want tighter control than per-user inheritance, create a dedicated Autodesk account with access to only the projects you want synced and have users sign in to Speckle with it. For Databricks and Snowflake, treat the service identity as a publishing surface. Grant it access to a dedicated schema or set of views rather than to raw tables, and apply any row- or column-level policies on your side — Speckle only ever sees what the query returns. For ProjectWise, add the service account only to the projects that need syncing; unlisted projects are invisible regardless of user permissions.Enable a specific integration
Autodesk Forma Data Management (ACC)
Register the Speckle integration on your hub
Bentley ProjectWise
Add the service account, or configure an on-premises WSG server
Databricks
Create a service principal and grant it read access
Snowflake
Create a service user, role, and key-pair credentials
FAQ
Can a Speckle user see something in our hub they can't see in Autodesk?
Can a Speckle user see something in our hub they can't see in Autodesk?
No. ACC access is the user’s own Autodesk permission set, requested read-only. If they cannot
open it in Autodesk, they cannot sync it.
If I revoke a user's access on our side, does Speckle keep the data?
If I revoke a user's access on our side, does Speckle keep the data?
New syncs and queries stop immediately. Data already converted into a Speckle project stays
there, governed by Speckle project roles, until a project owner removes it — the same as any
file a user had legitimately exported while they had access.
Why does everyone in the workspace see the same Databricks tables?
Why does everyone in the workspace see the same Databricks tables?
Because the integration authenticates as the service principal, not as each user. Scope the
service principal to a governed set of views; use separate workspaces if teams need different
surfaces.
Do syncs or queries cost us anything on our platform?
Do syncs or queries cost us anything on our platform?
Syncs read existing files and derivatives and do not trigger paid translation. Warehouse queries
run on your compute under the service identity and are billed by your platform like any other
client.
Does Speckle store our warehouse data?
Does Speckle store our warehouse data?
Speckle stores the query results it needs to render a dashboard or answer a question, not a copy
of the table. The table of record stays in your warehouse.