Skip to main content
LaneSync is a multi-tenant SaaS. Each GitHub organization (or personal account installation) maps to an isolated tenant. Data from one org never leaks into another.

Tenant model

Row-level security (RLS)

PostgreSQL row-level security policies filter every query by tenant_id. Application code sets tenant context per request from the authenticated session.
Even if application code has a bug in a WHERE clause, RLS prevents cross-tenant reads at the database layer.

Authentication

Session-protected routes return 401 without a session and 403 when the user is not a member of the active workspace.

Who can access a workspace

Team management

Workspace admins can invite members:
  1. POST /api/team/invite → invite link
  2. Invitee opens link → POST /api/team/join
  3. Session switches to the invited workspace
Invite tokens are HMAC-signed with a 7-day expiry.

Self-hosted considerations

Self-hosted LaneSync deployments still use the same RLS model. Each installation typically serves one or more orgs depending on your GitHub App registration. See Enterprise security.

Public vs session endpoints

See API introduction for the full auth model.