Concepts

Ownership and access

Understand organizations, users, teams, resources, connectors, and connections.

Deeplinq is B2B2C: an organization represents a consuming application or customer account, while the organization's own identity system remains authoritative for end users.

Identity hierarchy

Deeplinq stores opaque user subjects, not user profiles. A JWT sub, a user-bound API key, or trusted X-End-User-Id establishes the user axis.

Resource ownership

ResourceOwner modelShare model
OrganizationPlatform-created tenantNot shareable
ProjectPrivate or organizationUser, role, or team grant
DatasetPrivate or organization-sharedUser, role, or team grant
ConversationUserNever shared
Memory factUser or projectFollows user or project authority
ConnectionUserMetadata visible to org admins; invocation remains owner-only
AgentUser, team, or organizationVisibility and management follow owner
RunInvoking userOwner-only transcript and approval
ScheduleUserOwner or org-admin lifecycle
Webhook endpointOrganizationOrg-admin managed

Permissions

Projects and datasets use the ordered permission ladder:

read < write < admin

Teams are engine-owned rosters. Membership is checked live against the database; a JWT cannot self-assert a team membership. Removing a user takes effect on the next authorization check.

Connectors versus connections

TermOwned byContainsUsed for
ConnectorPlatform or organizationSealed provider credential and model routing configLLMs, embeddings, guardrails, router, reranker
IntegrationOrganizationSealed OAuth application credentialGmail or Outlook authorization
ConnectionUserSealed provider tokens or attached MCP authorityPersonal tools

An agent references tool names, never credentials. At invocation Deeplinq resolves the run owner's currently active connections and filters unavailable tools.

Isolation boundaries

Organization isolation is enforced in several layers:

  • every tenant-owned PostgreSQL table carries org_id;
  • composite foreign keys reject cross-tenant relationships;
  • forced row-level security binds app transactions to one organization;
  • object keys carry validated organization prefixes;
  • Weaviate uses an organization tenant;
  • workers reload tenant authority from trusted persistent records;
  • external tool and provider resolution is organization-scoped.

Not-found responses are sometimes used to conceal a resource outside the caller's authority. Do not use error differences as an existence oracle.

Role boundaries

platform-admin owns platform provisioning. org-admin owns the organization's teams, integrations, limits, policies, and webhooks. org-member uses entitled product surfaces.

Resource ownership still applies to administrators. For example, an org admin may revoke another user's mailbox connection but cannot invoke its email tools or approve that user's agent run.

On this page