VarolioVarolio Docs
Deployment scenarios

BYO Data Store

Host the data plane yourself — Varolio connects to your Elasticsearch, LLM, and object storage

Bring Your Own Data Store (BYO)

BYO Data Store lets you keep the platform's data plane on infrastructure you control. You host an Elasticsearch/OpenSearch deployment, an LLM endpoint, S3-compatible object storage — or any combination — and provide Varolio with connection credentials. Varolio's application connects to your deployment instead of its managed stores, so conversation content, search indexes, and attachments live where you decide.

This model composes with either Cloud SaaS or Dedicated Cloud as the base: the application keeps running where it runs today, and only the data plane moves to you.

Customer Users
Varolio (Cloud SaaS or Dedicated Cloud)
AWS WAF + ALB
Stays with Varolio
Supabase (PostgreSQL)
Supabase (PostgreSQL)
app metadata
AWS Secrets Manager
AWS Secrets Manager
customer credentials
Amazon EKS cluster
Engine
API service · control-plane access
Agent (DialogueApi)
AI orchestration · retrieval
retrieval
LLM
objects
Customer-Hosted Data Plane — any cloud / on-prem
Elasticsearch / OpenSearch
Elasticsearch / OpenSearch
LLM endpoint
S3-compatible object storage
S3-compatible object storage

What you can host

ComponentWhat it stores / doesRequirements
Elasticsearch / OpenSearchThreads, messages, cases, knowledge index, embeddingsAn Elasticsearch- or OpenSearch-compatible deployment reachable over TLS, with credentials scoped to Varolio's indices
LLM endpointAll model inference (extraction, drafting, case evaluation)An endpoint for your own model deployment or provider account, reachable over TLS
S3-compatible object storageEmail bodies, attachments, large objectsAn S3-compatible bucket with scoped access keys

You can adopt any subset — for example, hosting only the search index while keeping Varolio's default LLM providers, or only routing inference to your own model deployment.

How it works

Varolio's application code is identical in every deployment model. Internally, all retrieval, inference, and object-storage operations go through a single abstraction (DialogueApi) that exposes the data plane behind three interfaces:

  • getRetrieverApi() — every read/write of threads, cases, and knowledge goes through the retriever interface, backed by Elasticsearch
  • getLlmApi() — every model call goes through the LLM interface, which resolves the configured model endpoint
  • the object-storage interface — attachment and large-object uploads/downloads

In a BYO configuration, these interfaces are wired to your connection targets for your workspace. No application logic changes; only the connection targets do.

Credential handling

  • You provide connection credentials (Elasticsearch API key, LLM endpoint key, object-storage access keys) during onboarding.
  • Credentials are stored in Supabase Vault, which applies authenticated encryption (AEAD, libsodium) to every secret before it is written to disk; encryption keys are managed by Supabase's key-management infrastructure and are never stored in the database alongside the data. Secrets are resolved at runtime for your workspace only, under the same per-tenant credential isolation used for all integrations.
  • Rotating a credential on your side and updating it with Varolio is sufficient to cut over; revoking it immediately severs Varolio's access to the data store.

What lives where

DataLocation in BYO
Threads, messages, cases, knowledge index, embeddingsYour Elasticsearch/OpenSearch
Email bodies, attachments, large objectsYour S3-compatible storage (when hosted)
Inference inputs/outputsYour LLM endpoint (when hosted)
Application metadata: accounts, workspaces, configuration, workflow stateVarolio's Supabase (PostgreSQL) in the base deployment

Network requirements

Your hosted components must be reachable over TLS (HTTPS 443) from Varolio's environment. Supported connectivity paths: public endpoint with IP allow-listing of Varolio's egress addresses, or private connectivity (VPC peering / private link) scoped per engagement — the latter is most natural when combined with Dedicated Cloud.

When to choose a different model

  • If application metadata (PostgreSQL) must also live in your account — not just the content data plane — choose Cloud-Prem.
  • If your requirement is regional residency rather than self-hosting, Dedicated Cloud is operationally simpler.

AI Tools

Ask ChatGPTAsk Claude

On this page