Vera is a logical multi-tenant SaaS — the same architecture used by Salesforce, HubSpot, Notion, Linear, Stripe, and most modern B2B software. One managed Postgres instance (Supabase, EU region), with strict per-tenant boundaries enforced at the database layer. We don't pretend to give every customer a dedicated database — what we do is enforce isolation with discipline.
How isolation is enforced
- Every customer-data table has Row-Level Security (RLS) policies enabled in Postgres
- Each row carries an
org_id and policies require it to match your authenticated org membership before returning the row - No application bug can override RLS — the rule is enforced by Postgres itself on every query from the browser
- Unauthenticated requests cannot read any customer-specific data — only the public threat intelligence feed
What stays per-tenant
- Your ICP configuration, buyer profiles, plays, and tone-of-voice
- Your leads, signals, watchlist, and the GTM briefings Vera generates on them
- Your enrichment usage, activity log, and team membership
- Your integration tokens (CRM, Slack, n8n, etc.), encrypted at the application layer
What's shared (and why that's fine)
Public threat intelligence — CVEs from NVD, the CISA Known-Exploited-Vulnerabilities catalogue, NCSC bulletins, and public breach news — lives in a single shared layer and is correlated to your tenant at query time. No customer-specific data is ever combined into this layer, and the data is already public.