Ingeniería · SaaS B2B

Desarrollo de SaaS B2B multi-tenant

Construimos plataformas SaaS B2B multi-tenant donde los datos de cada organización están aislados por debajo de la aplicación, no solo en el código. Suscripciones con Stripe, roles por organización y alta self-serve. Es la arquitectura sobre la que corre Perizial, hoy en producción con clientes de pago.

Actualizado:

Definiciones clave
Multi-tenant
Arquitectura en la que una única aplicación desplegada sirve a varias organizaciones (tenants) con los datos aislados entre sí.
Row-Level Security (RLS)
Política nativa de PostgreSQL que filtra las filas por organización en cada consulta, dentro de la propia base de datos. El aislamiento deja de depender de que ninguna consulta olvide el filtro.
Tenant
Cada organización cliente dentro de la plataforma. Sus usuarios, sus datos y su suscripción pertenecen solo a ella.
Alta self-serve
Que un cliente pueda registrarse, probar y contratar sin intervención comercial. Perizial ofrece 30 días de prueba y planes públicos desde 69,99 € al mes.

El aislamiento entre clientes se decide en la base de datos

Un SaaS B2B multi-tenant es una única aplicación desplegada que sirve a varias organizaciones con los datos aislados entre sí. Todo el diseño gira alrededor de una pregunta incómoda: ¿qué pasa el día que una consulta se olvide de filtrar por cliente? Si la respuesta es «un cliente ve los expedientes de otro», el SaaS no está terminado, por muchas funcionalidades que tenga.

Por eso el aislamiento se aplica con Row-Level Security en PostgreSQL, y no solo en el código de aplicación. La base de datos filtra las filas por organización en cada consulta, esté el filtro escrito arriba o no. La frontera queda por debajo de la aplicación: un fallo en el backend no puede cruzar datos entre clientes, porque la base de datos no se lo permite. Es la diferencia entre un aislamiento que depende de que nadie se equivoque nunca y uno que aguanta que alguien se equivoque.

Sobre esa base va lo demás: roles y permisos por organización, suscripciones y facturación recurrente con Stripe —planes, prorrateo al cambiar de plan y prueba gratuita— y alta self-serve, para que un cliente pueda entrar, probar y contratar sin que nadie le atienda. Un SaaS que necesita una llamada comercial para dar de alta a alguien todavía no es un SaaS.

Todo esto no es una propuesta: es lo que está corriendo. Perizial es un SaaS B2B multi-tenant que gestiona el gabinete pericial entero —del encargo a la factura, con videoperitación dentro de la plataforma—, en producción con clientes de pago, con expedientes aislados por organización, tres planes públicos desde 69,99 € al mes y 30 días de prueba. Se puede abrir y contratar sin hablar con nadie.

Si la plataforma además tiene que leer documentos y redactar sin inventarse nada, esa parte vive en el RAG privado con citas verificables. Y si lo que hay que demostrar ante un cliente enterprise es el cumplimiento del RGPD con hechos técnicos, los controles están en la arquitectura de seguridad y cumplimiento.

Qué incluye una plataforma SaaS B2B

Aislamiento con Row-Level Security

PostgreSQL filtra las filas por organización en cada consulta. La frontera está por debajo de la aplicación, no dentro de ella.

Roles y permisos por organización

Cada organización gestiona sus propios usuarios y sus propios permisos, sin que nadie tenga que tocar nada por detrás.

Suscripciones con Stripe

Planes, prorrateo al cambiar de plan, prueba gratuita y facturación recurrente. En producción hoy en Perizial.

Alta self-serve

El cliente entra, prueba y contrata sin que nadie le atienda. Perizial ofrece 30 días de prueba y tres planes públicos.

Migración a multi-tenant

Convertir un sistema de un solo cliente: la organización entra como columna, se migran los datos y se activan las políticas.

Datos dentro de la Unión Europea

Google Cloud, con la región elegida por dónde tienen que vivir los datos de los clientes.

Registro de cada actuación

Quién hizo qué, cuándo y sobre qué expediente. Es lo primero que pide un cliente enterprise cuando revisa la plataforma.

IA que cita sus fuentes

Si la plataforma genera texto, cada afirmación cita el documento del que sale y una persona revisa antes de firmar.

CI antes de producción

Cada cambio pasa por integración continua antes de desplegarse. El desarrollo se hace con Claude Code y se revisa.

Dónde se puede ver funcionando

Perizial es un SaaS B2B multi-tenant construido con esta arquitectura y en producción con clientes de pago. Expedientes aislados por organización con Row-Level Security, suscripciones con Stripe, tres planes públicos —69,99 €, 189,99 € y 399,99 € al mes— y 30 días de prueba gratuita. Cualquiera puede entrar en perizial.com, darse de alta sin hablar con nadie y ver el producto funcionando. Es la única prueba que vale de que un SaaS existe.

Preguntas frecuentes

¿Qué significa que un SaaS sea multi-tenant?
Que una única aplicación desplegada sirve a varias organizaciones (tenants) con sus datos aislados entre sí. Cada cliente ve solo lo suyo y no sabe que los demás existen. La alternativa —una instancia por cliente— es más fácil de razonar y mucho más cara de operar y de actualizar en cuanto hay más de un puñado de clientes.
¿Cómo se aíslan los datos de cada cliente?
Con Row-Level Security en PostgreSQL: la base de datos filtra las filas por organización en cada consulta, esté el filtro en el código o no. La frontera queda por debajo de la aplicación, así que un fallo en el backend no puede cruzar datos entre clientes. Aplicar el aislamiento solo en el código de aplicación significa que una consulta a la que se le olvide el WHERE devuelve los datos de otro cliente.
¿Row-Level Security o un esquema por cliente?
Depende de cuántos clientes y de qué exige el cumplimiento. Row-Level Security mantiene una sola estructura y filtra por organización: es lo que usamos y funciona bien con muchos clientes. Un esquema por cliente separa físicamente los datos y facilita copias de seguridad y borrados individuales, a cambio de que cada cambio de estructura haya que aplicarlo tantas veces como clientes haya.
¿Qué pasarela de pago usáis?
Stripe. Es la que está en producción en Perizial, con tres planes públicos (69,99 €, 189,99 € y 399,99 € al mes), prueba gratuita de 30 días, prorrateo al cambiar de plan y facturación recurrente. No es una recomendación teórica: es lo que cobra hoy.
¿Se puede convertir en multi-tenant un sistema que ya existe?
Sí, y es un trabajo de base de datos antes que de producto. Hay que introducir la organización como columna en todo lo que sea propiedad de un cliente, migrar los datos existentes a un tenant, activar las políticas de Row-Level Security y verificar que ninguna consulta se salta el filtro. El orden importa: primero el aislamiento, después la funcionalidad nueva.
¿Habéis construido un SaaS multi-tenant de verdad?
Sí. Perizial es un SaaS B2B multi-tenant en producción con clientes de pago: expedientes aislados por organización, suscripciones con Stripe, planes públicos self-serve y 30 días de prueba. Se puede abrir en perizial.com y contratar sin hablar con nadie, que es la prueba más honesta de que un SaaS existe.
¿Podéis construir nuestra plataforma SaaS?
Sí. Es una línea abierta: si tu empresa necesita su propia plataforma en lugar de un producto de catálogo, la construimos contigo, con la misma arquitectura que corre hoy en Perizial. El alcance se cierra por escrito antes de empezar, y el repositorio y la cuenta cloud quedan a tu nombre.

¿Hablamos de tu proyecto?

Escribe a [email protected] y cuenta qué proceso quieres automatizar, qué datos toca y con qué sistemas tiene que hablar. Con eso se puede responder si tiene sentido, qué alcance tendría y en qué rango de precio cae.