SaaS, cloud & on-prem

One product, hosted by us or run by you

VerticalServe runs InsightAssure as SaaS, or you run the same images in your own cloud or data centre with your Postgres, your object store, your secret manager and your model provider, or no model at all.

Two ways to run it

SaaS or self-hosted

The images, migrations and features are the same. What changes is who operates them and where the data sits.

VerticalServe SaaSSelf-hosted
Who operates itVerticalServe, on AWSYou, with Docker Compose (./install.sh) or your own orchestration
TenancyA workspace per organization; every row carries the organization and Postgres row-level security enforces itOne organization; the same row-level security
DatabaseA schema on a managed Postgres, connected as an ordinary role so the policies bindPostgres 16 in the compose stack, or your managed Postgres
Evidence filesPrivate, encrypted S3 bucketfile:///data/evidence by default, or your bucket
Integration credentialsSealed in AWS Secrets Manager, one secret per connectionSealed in your secret store, or AES-256-GCM in the row with a key on your data volume
AIClaude on Amazon BedrockYour provider (Bedrock, Azure OpenAI, Vertex, OCI, any OpenAI-compatible endpoint) or none: ASSURE_AI=false answers by rule
ConsultanciesPortfolio across every client workspace a consultant belongs toConsultants get accounts in your installation
UpgradesRolled out by VerticalServedocker compose pull && docker compose up -d; migrations run on start
By cloud

The service mapping

Self-hosted, each dependency is a URL scheme or a provider name in one environment variable.

PostgresEvidence storeSecretsModel
AWSRDS for PostgreSQLS3 (s3://)Secrets Manager (aws-sm://)Bedrock (bedrock)
AzureDatabase for PostgreSQL Flexible ServerBlob Storage (az://)Key Vault (azure-kv://)Azure OpenAI (azure_openai)
Google CloudCloud SQL for PostgreSQLCloud Storage (gs://)Secret Manager (gcp-sm://)Vertex AI (vertex)
OCIOCI Database with PostgreSQLObject Storage (oci://)OCI Vault (oci-vault://)OCI Generative AI (oci)
On-premises / air-gappedPostgres 16 in the compose stackLocal volume (file://) or MinIO (s3+http://)Mounted files (file://) or HashiCorp VaultAn OpenAI-compatible endpoint you run, or none
Inside a deployment

Three containers and the systems they read

The console, the API and Postgres; the API reaches out read-only to your systems and nowhere else.

Self-hosted deployment: the console proxies to the API; the API uses Postgres, the evidence store and an optional model, and reads your systems read-only 1Console (nginx)The React app;proxies /api to theAPI. The onlypublished port.2APIFastAPI on :8136: theprogram, the hourlymonitors, syncs andreminders.3PostgresSchema assure, anordinary role,row-level securityper organization.4Evidence storeFiles, policy PDFsand audit packages,keyed byorganization.5Your systemsRead-onlyconnections; privateaddresses refusedunless you allowthem.The model is optional: with ASSURE_AI=false, questionnaires, Ask and drafts answer by rule from the same sources.Self-hosted deployment: the console proxies to the API; the API uses Postgres, the evidence store and an optional model, and reads your systems read-only 1Console (nginx)The React app; proxies /api to theAPI. The only published port.2APIFastAPI on :8136: the program, thehourly monitors, syncs andreminders.3PostgresSchema assure, an ordinary role,row-level security perorganization.4Evidence storeFiles, policy PDFs and auditpackages, keyed by organization.5Your systemsRead-only connections; privateaddresses refused unless you allowthem.The model is optional: withASSURE_AI=false, questionnaires, Askand drafts answer by rule from thesame sources.
Laptops check in to the API with the device agent; the public Trust Center is served by the same console.
Data residency

Where your compliance data lives

Your region

Self-hosted, every byte stays in the account and region you deploy to: database, evidence bucket, secret store and model endpoint.

Secrets as references

The database password and the model key are secret references resolved at start; integration credentials are sealed and never returned by the API.

Your model, or none

Bedrock, Azure OpenAI, Vertex, OCI or an OpenAI-compatible endpoint in your account. With no model, every AI feature answers by rule.

Backups

Back up the Postgres database and the data volume, which holds the signing key, the credential-sealing key and, by default, the evidence.

Private by default

Integrations refuse private, loopback and cloud-metadata addresses unless ASSURE_ALLOW_PRIVATE_INTEGRATIONS is set for a system inside your network.

A pilot on one VM

The compose stack runs on a single machine; move Postgres and storage to managed services when you are ready.

Choose where it runs

Tell us the cloud, the region and the frameworks; we will set up a SaaS workspace or a self-hosted pilot with you.

Talk to us