Blog
architecturepostgrescloudflare

Multi-tenant SaaS per healthcare: scelte architetturali

di Riccardo Vecchini8 aprile 20267 minuti di lettura

Il dilemma multi-tenant

Quando costruisci un SaaS healthcare, l'isolation tra tenant non è opzionale — è un requisito GDPR e HIPAA-equivalent. Le tre opzioni classiche:

  1. **Database-per-tenant**: massima isolation, ma operativamente costoso (backup, migrazioni, monitoring × N)
  2. **Schema-per-tenant**: middle ground, ma migration complesse e tooling limitato
  3. **Schema condiviso + RLS**: una sola istanza, isolation garantita da Postgres Row-Level Security

La nostra scelta: shared schema + Postgres RLS

KAIROS usa schema condiviso con Postgres RLS attivata per ogni tabella sensibile. Ogni transazione setta `app.current_studio_id` via `set_config`, e ogni policy filtra automaticamente.

CREATE POLICY tenant_isolation ON appointments
  FOR ALL TO kairos_app
  USING (studio_id = current_setting('app.current_studio_id')::uuid);

Edge runtime su Cloudflare Workers

Il backend gira su Cloudflare Workers (V8 isolate). Latenza globale sotto 100ms, scaling automatico, zero infrastruttura da gestire. La connessione Postgres usa Neon serverless con WebSocket nativo.

Conclusione

Le scelte architetturali non sono neutre — definiscono ciò che potrai fare in 2 anni. Costruisci per la scala fin dall'inizio, anche se oggi hai 10 studi.

■ GET STARTED

Vedi KAIROS in azione

Prenota una demo personalizzata di 30 minuti. Ti mostriamo il flusso completo sui tuoi casi reali.