Multi-tenant AI knowledge platform

Turn trusted sources into answers your team can verify.

SourceLoom indexes GitHub repositories and private documents, enforces workspace and document permissions before retrieval, and returns answers grounded in visible evidence.

Recorded demo available soon. Live application available by request.
sourceloomai.com/app SourceLoom AI Workspace
Authorized retrieval

Ask your team's knowledge

Question
What information is required before submitting the form?
Search sources Generate cited answer Research agent
Answer grounded in two authorized passages

Complete the personal details and authorization sections before submission.

[1] PERSONAL DETAILS [2] AUTHORIZATION
4source types
2authorization layers
3answer modes
1traceable data path

Product

One workspace for the sources your team already uses.

SourceLoom keeps original files, searchable evidence, identity, and authorization separate enough to operate safely, while presenting one clear workflow to the user.

01

Add trusted knowledge

Import a public GitHub repository, upload PDF or DOCX files, connect a private Google Drive file, or paste text.

  • Private GCS originals
  • Asynchronous processing
  • Visible processing status
02

Search only authorized evidence

PostgreSQL RLS isolates workspaces. Document ACLs restrict resources inside each workspace before any text reaches the model.

  • Hybrid lexical and vector search
  • RRF result fusion
  • Uniform unauthorized responses
03

Choose the right answer path

Inspect original passages, generate one cited answer, or use a bounded research agent when intermediate evidence changes the next search.

  • Visible citations
  • Read-only tools
  • Time and tool budgets

Interactive product tour

Follow a document from source to answer.

This tour uses prepared sample data. It demonstrates the product workflow without uploading a file or contacting the live application.

Source connectionConnected

Import one authorized Google Drive file

The user grants read-only Drive access and submits a file link. The file does not need to be public, and SourceLoom never edits it.

F China PRC Form - Amazon.PDFPDF · 179 KB · private
Ready to import

Architecture

Two deliberate paths share one authorization boundary.

The write path turns external content into a recoverable index. The read path turns a verified identity and question into authorized evidence.

Write pathSources to searchable index
  1. 1IngressGitHub, browser upload, Google Drive, pasted text
  2. 2Atomic acceptanceBusiness state and transactional outbox
  3. 3Reliable deliveryPublisher and Redpanda topic
  4. 4Index workerParse, chunk, embed, update ACL
  5. 5StoragePrivate GCS originals and PostgreSQL index
Read pathQuestion to cited answer
  1. 1Verified identityAuth0 session, membership, tenant, principals
  2. 2Authorized candidatesTransaction-local RLS and document ACL
  3. 3Hybrid retrievalFull-text rank plus pgvector similarity
  4. 4Rank fusionReciprocal Rank Fusion combines both lists
  5. 5Grounded responseOriginal passages, cited answer, or bounded agent

Security model

The model never decides who the user is.

Identity comes from a verified session. Authorization is enforced before retrieval. Tool calls receive server-derived tenant and principal context.

Identity

OIDC through Auth0

State, nonce, PKCE, opaque sessions, CSRF protection, and verified membership checks.

Tenant boundary

PostgreSQL RLS

A restricted database role reads transaction-local tenant context on every protected query.

Resource boundary

Document ACLs

Search, direct reads, citations, conversations, and resource listings use the same principal rules.

Agent boundary

Read-only bounded tools

Strict schemas, no model-controlled identity, and explicit step, tool, time, and context budgets.

Engineering decisions

Complexity is added only where a failure mode requires it.

PostgreSQL + pgvectorinstead of a separate vector database

Keeps tenant metadata, document status, ACLs, text, and vectors in one controlled query path. A separate service becomes justified only after measured scale or filtered-ANN limits.

GCS + PostgreSQLinstead of database blobs

GCS stores immutable originals and handles resumable upload. PostgreSQL stores transactional metadata, status, chunks, embeddings, and authorization.

Transactional outboxinstead of a fragile dual write

The source record and publish intent commit together. Redelivery is expected, so consumers make the final database effect idempotent.

Docker Composeinstead of Kubernetes today

A single VM does not need cluster scheduling. Kubernetes becomes useful when multi-node availability, independent scaling, and operational ownership are real requirements.

90-second product demo The recorded walkthrough will appear here after the next live session.

Recorded demonstration

See the real workflow without waiting for the VM.

The final video will show an Auth0 login, a private Google Drive import, asynchronous indexing, permission-aware search, a cited answer, the research agent, and access control.

  • Real application, not a design mockup
  • Unlisted YouTube video embedded with privacy-enhanced mode
  • No credentials, tokens, or private user data shown
Open live application

Current scope

A complete MVP with clearly stated production gaps.

Implemented

Public HTTPS, invitation login, team access, GitHub and private document ingestion, hybrid retrieval, cited answers, bounded agent runs, and operational status.

Verified

Tenant isolation, fresh database migrations, a real private Google Drive PDF, GCS retention, two indexed chunks, and permission-aware retrieval.

Next for production

Multi-node availability, durable broker storage, OAuth publication, restore drills, managed secrets, file scanning, load testing, and SLOs.

SourceLoom AI

Explore the system, then inspect the evidence.

The portfolio stays online. The full application can be started for a live walkthrough.