Skip to content
relay_
self-hosted · read-only ]

Cited answersfrom your ownWorkspace.Or none at all.

Relay reads your Drive, Gmail, Calendar and Sheets, then answers with a link to the exact passage. If it can't find support, it says so instead of guessing.

Product demo on sample data. Relay answers a question and cites each source, or refuses when nothing supports an answer.

relay — chat
sample data
sources ]

Ask once.Relay checksfour places.

Each source stays fresh its own way, and has its own rules about what gets indexed.

  • Docs, plain text and PDFs. Text is split into pieces of about 1,000 characters with 150 of overlap, breaking at paragraphs first, then sentences, then words. PDFs are read with pdf.js.

    sync
    push · channel renewed every 6h
    scope
    drive.readonly
    chunks
    ~1000 / 150 overlap
  • Nothing is indexed until you choose a label, a date range, or both. Subject, sender and body are read; HTML-only messages are stripped to text. Push notifications are deferred until there is a public URL to receive them.

    sync
    polls every 5 minutes
    scope
    gmail.readonly
    opt-in
    label and/or dates
  • Events over a window of 90 days back and 180 ahead. Recurring meetings are expanded, so each occurrence is its own citable event that links to the real Calendar entry.

    sync
    push · channel renewed every 6h
    scope
    calendar.readonly
    window
    -90d / +180d
  • One chunk per row, with the header cells naming each value, so a row reads as facts (Status: Active) instead of a flattened blob. Citations link to that row's range.

    sync
    rides Drive's push channel
    scope
    spreadsheets.readonly
    chunks
    1 row = 1 chunk
the gate ]

It would rather saynothing than makesomething up.

Every answer starts with a relevance score for the best passage Relay found. Below the line it refuses. Above the line it answers and cites. The line sits at 0.02 because that is where real scores split.

refusesanswers + citesgate 0.02
0.0010.010.11
Log scale. A subset of reranker scores seen while building and testing Relay, hollow for refused, filled for answered. Illustrative, not a benchmark.
inside the app ]

One instance.One owner.Read-only.

scopes
*.readonly, nothing that writes
tokens
AES-256-GCM at rest
oauth
PKCE, hand-rolled, signed state
index
your Postgres, your Qdrant

Passages you ask about are sent to Hugging Face and Groq to embed, rerank and answer. The security page lists exactly what goes where.

Read the security model