Skip to content

[Feat] Bind private integrations to private Sessions - #2640

Draft
roomote-roomote[bot] wants to merge 1 commit into
roomote/private-sessions-03-inheritancefrom
roomote/private-sessions-04-integrations
Draft

roomote-roomote[bot] wants to merge 1 commit into
roomote/private-sessions-03-inheritancefrom
roomote/private-sessions-04-integrations

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

​Opened on behalf of @daniel-lxs. Follow up by mentioning @roomote-roomote, in the web UI, or in Telegram.

What changed

  • Add provider-neutral shared | private integration data policy; all existing integrations remain shared.
  • Filter and re-authorize private integrations against the immutable Session owner before audit/execution.
  • Omit private arguments, results, and provider errors from canonical history and durable audits.

Why this change was made

Credential ownership and data confidentiality are separate; future private providers must opt into the Session boundary.

Impact

No existing integration is reclassified and no connector is added.

Related PRs

@roomote-community

roomote-community Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

1 issue outstanding. See task

  • Preserve dataPolicy when returning discovered Fast integrations so private integrations remain restricted and redacted.

Reviewed 5f67a6f

integration?.description ??
'Use tools from this deployment-configured MCP server.',
instructions: integration?.instructions,
dataPolicy: getMcpIntegrationDataPolicy(integration),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

dataPolicy is computed here but is dropped when candidates are converted into the returned FastAgentIntegration objects at lines 595-609. Consequently a catalog-discovered private integration reaches the Fast service with dataPolicy === undefined, so the private-session filter, broker owner check, transcript redaction, and audit redaction all treat it as shared. Forward the policy in that return object and cover the discovery path; the current test only passes a manually constructed private integration directly to the broker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant