Qué pasa con los datos de tus pacientes
Para el delegado de protección de datos de la clínica: qué tratamos, por dónde pasa cada mensaje, cuánto se guarda y cómo se borra. Cada plazo sale del código que lo aplica, no de una promesa.
- Estado
- Vigente
- Última revisión
- 28 sep 2026
- Comprobado en el códigolo comprueba un test contra el servicio
- Según documento internoconsta por escrito; no se ejecuta
- Sin verificarno lo podemos comprobar desde aquí
Quién decide
Responsable del tratamiento: decide para qué y durante cuánto tiempo se tratan los datos de sus pacientes.
Encargado del tratamiento (art. 28 RGPD): trata esos datos por cuenta de la clínica y siguiendo sus instrucciones. Los pacientes ejercen sus derechos ante la clínica. Según documento interno
Qué datos se tratan
Sí, se tratan datos de salud. El paciente escribe en texto libre y cuenta lo que le pasa; el asistente además deduce el motivo de consulta de cada mensaje. Decir lo contrario sería falso.
| Categoría | Datos de salud (art. 9) | De dónde sale | Dónde se guarda |
|---|---|---|---|
| Identificación y contacto | No | Lo facilita el paciente | pacientes |
| Contenido de las conversaciones (texto, audio transcrito e imágenes si la clínica lo activa)El asistente recibe texto libre. Si el paciente describe síntomas, dolor o tratamientos, eso es un dato de salud y se trata: no se puede afirmar lo contrario. | Puede contenerlos | Lo facilita el paciente | interacciones, inbound_events, failed_messages |
| Motivo de consulta y tratamiento de interés | Sí | Lo facilita el paciente | pacientes, citas, handoffs |
| Intención y urgencia inferidas de cada mensaje | Sí | Lo infiere el sistema | intent_log, conversion_events |
| AseguradoraEl código la trata como dato sensible al borrar; si es categoría especial lo decide un abogado. | Pendiente de revisión jurídica | Lo facilita el paciente | pacientes |
| Citas, lista de espera y peticiones de cambio | No | Lo facilita el paciente | citas, waitlist, reschedule_requests |
| Señal de la cita y valor estimadoLos campos de la señal existen, pero AI Empire no ofrece hoy su cobro. Si algún día se cobra, el número de tarjeta lo tratará Stripe y no se guardará en la base de datos. | No | Lo genera el sistema | citas |
| Puntuaciones y etapa comercial (perfilado)Orienta al equipo de la clínica; ninguna decisión sobre el paciente se toma sólo con esto (art. 22: revisión legal). | No | Lo infiere el sistema | pacientes, conversion_events, experiment_variants |
| Consentimiento y preferencias de contacto | No | Lo facilita el paciente | pacientes |
| Token de acceso al portal del pacienteEs una credencial viva: se borra con la ficha. | No | Lo genera el sistema | pacientes |
| Identificadores y marcas de tiempo | No | Lo genera el sistema | pacientes |
El recorrido de un mensaje
Un mensaje de un paciente pasa por 5 proveedores antes de que llegue la respuesta. La ubicación es la que declara cada proveedor en su contrato; la última fila dice si, aun así, los datos pueden tratarse fuera del Espacio Económico Europeo, y con qué garantía.
El paciente escribe por WhatsApp. El mensaje llega a Meta.
- Proveedor
- Meta Platforms Ireland Ltd
- Qué recibe
- El número y el contenido de cada mensaje de WhatsApp, que Meta descifra en sus servidores.
- Ubicación declarada
- Irlanda (UE)
- ¿Sale del EEE?
- SíTérminos de WhatsApp Business y cláusulas contractuales tipo
Meta lo entrega al servicio de AI Empire, que comprueba la firma y lo acepta.
- Proveedor
- Cloudflare, Inc.
- Qué recibe
- Todo el tráfico del servicio: cada mensaje entrante y saliente pasa por su red.
- Ubicación declarada
- Red global: cada petición se atiende en el centro de datos más cercano
- ¿Sale del EEE?
- PuedeCláusulas contractuales tipo
Queda en una cola hasta que se procesa, para que no se pierda si algo falla.
- Proveedor
- Upstash, Inc.
- Qué recibe
- La cola lleva el evento completo de cada mensaje hasta procesarlo; Redis guarda contadores con el teléfono o el token del portal durante 60 segundos.
- Ubicación declarada
- UE (eu-central-1 · eu-west-1)
- ¿Sale del EEE?
- No
Se guarda en la base de datos, junto a la ficha del paciente.
- Proveedor
- Supabase, Inc.
- Qué recibe
- Todos los datos persistidos: fichas, conversaciones, citas, derivaciones y registros.
- Ubicación declarada
- UE (Irlanda · aws-eu-west-1)
- ¿Sale del EEE?
- No
El modelo redacta la respuesta con la información de la clínica. La respuesta vuelve por Meta.
- Proveedor
- OpenAI Ireland Ltd
- Qué recibe
- El texto de cada mensaje con su contexto, el audio para transcribirlo y, sólo si la clínica lo activa, las imágenes.
- Ubicación declarada
- Irlanda; trata los datos en EE. UU. con cláusulas contractuales tipo
- ¿Sale del EEE?
- SíCláusulas contractuales tipo
Y sólo en algunos casos:
| Cuándo | Proveedor y qué recibe | ¿Sale del EEE? |
|---|---|---|
| Si el paciente reserva | Cal.com (EE. UU., con cláusulas contractuales tipo). Nombre, teléfono y correo electrónico (o uno generado a partir del teléfono) de cada reserva. | SíCláusulas contractuales tipo |
| Si la clínica cobra una señal | Stripe (Irlanda (UE)). Ninguno: AI Empire no ofrece hoy el cobro de señales de cita. Stripe sólo interviene en la facturación de las cuotas de las clínicas. | No |
| Si algo falla | Sentry (UE (de.sentry.io)). Errores del servicio, con los datos personales filtrados antes del envío. | No |
Vercel, que aloja esta web, no recibe datos de pacientes: sirve la web pública. El portal del paciente lo sirve Cloudflare, no Vercel. La lista de proveedores, con el acuerdo de cada uno, está en subencargados.
Cuánto se conservan
Un barrido automático borra o anonimiza cada día, a las 04:00 UTC, lo que ha superado su plazo. Los meses del código son de 30 días; por eso cada plazo lleva también los días.
| Dato | Plazo | Desde | Qué se hace |
|---|---|---|---|
| Conversaciones de un paciente (sus mensajes y las respuestas del asistente)Borra como mucho las conversaciones de 5.000 pacientes inactivos por día. | 24 meses (720 días) | el último mensaje del paciente | Se borra |
| Cualquier mensaje, aunque el paciente siga activo (tope global) | 24 meses (720 días) | la fecha del propio mensaje | Se borra |
| Ficha del pacienteSe borran nombre, teléfono, email, token del portal, tratamiento de interés y aseguradora, y se retira el consentimiento; la fila y el perfil agregado (puntuaciones, etapa) se conservan para estadística. Una ficha sin fecha de último mensaje no entra en este barrido. | 24 meses (720 días) | el último mensaje del paciente | Se anonimiza |
| Citas | 60 meses (1800 días) | la fecha de la cita | Se borra |
| Registro de auditoría (consentimientos, borrados, accesos a exportaciones)Es un registro controlado, no inalterable: el propio servicio puede escribir en él. | 36 meses (1080 días) | la fecha del registro | Se borra |
| Registro de errores | 90 días | la fecha del error | Se borra |
| Derivaciones a una persona del equipo (con el motivo en texto libre)Una derivación sin resolver no caduca por este barrido. | 12 meses (360 días) | que la derivación se resuelve | Se borra |
| Mensajes que no se pudieron enviar (incluyen el texto íntegro), ya resueltos | 90 días | que se resuelven | Se borra |
| Mensajes que no se pudieron enviar, sin resolver | 30 días | que se crean | Se borra |
| Intención e interés de tratamiento que el sistema infiere de cada mensaje | 12 meses (360 días) | la fecha del registro | Se borra |
| Copia de entrada de cada mensaje recibido de WhatsApp (el evento completo)Sólo los eventos ya cerrados; uno pendiente de reintento se conserva hasta que su cron lo cierra. | 90 días | la recepción | Se borra |
| Contador de mensajes por número de teléfono del paciente (clave con el número) | 60 segundos | el primer mensaje de cada ventana de 60 segundos | Caduca sola |
| Contador de accesos al portal del paciente (clave con su token de acceso) | 60 segundos | el primer acceso de cada ventana de 60 segundos | Caduca sola |
No todo tiene plazo propio. Estas tablas se conservan mientras dure el contrato y salen con el borrado que pide el paciente o con la baja de la clínica: reschedule_requests, waitlist, experiment_variants y conversion_events. Decir que «todo se borra a los 24 meses (720 días)» sería falso por ellas.
Plazos que no aplica el código
- Datos de facturación de la clínica: 72 meses tras el fin del contrato. La política lo declara «manual»; no hay ningún trabajo que lo aplique. Según documento interno
- Métricas agregadas por clínica: 36 meses. La política lo declara, pero el borrado automático diario no llega a esa tabla. Según documento interno
- Eventos de error en Sentry: 90 días. Depende de la configuración del proyecto en Sentry, que no está en el repositorio. Sin verificar
- Contenido enviado a OpenAI: hasta 30 días en OpenAI para vigilancia de abusos. La retención cero (ZDR) está solicitada desde el 2026-05-02 y sin respuesta; hasta entonces rige la retención estándar del proveedor. Según documento interno
Derechos de los pacientes
El paciente se dirige a su clínica, que debe responderle en el plazo de un mes, prorrogable en casos complejos (art. 12.3 RGPD). AI Empire pone a disposición de la clínica los canales de abajo y la asiste para responder a cada solicitud. Estas son las vías que ya funcionan:
| Quién y cómo | Derecho | Qué pasa |
|---|---|---|
| El paciente. Escribe por WhatsApp una de las frases de borrado, exacta. | Supresión (art. 17) | Se borran sus conversaciones, citas, derivaciones y registros vinculados, y su ficha queda vaciada; el registro de auditoría se conserva (art. 17.3). Comprobado en el código |
| El paciente. Escribe «stop», «unsubscribe» o «baja» como mensaje único. | Oposición a mensajes no solicitados (art. 21) | Se retira el consentimiento para mensajes; la ficha y su historial se conservan. Comprobado en el código |
| El paciente. Abre el enlace personal del portal que le envía su clínica. | Portabilidad (art. 20), rectificación de nombre y email (art. 16) y supresión (art. 17) | Descarga en JSON; la supresión aplica el mismo borrado que por WhatsApp. Comprobado en el código |
| La clínica. Desde Ajustes del panel. | Acceso (art. 15) a todos los datos de la clínica, para responder a cualquier solicitud | Descarga un JSON con todas las tablas de la clínica, sin credenciales. Comprobado en el código |
Frases que borran los datos si el paciente las escribe tal cual: «darme de baja» · «quiero darme de baja» · «borrar mis datos» · «eliminar mis datos» · «borra mis datos» · «elimina mis datos» · «no quiero mas mensajes» · «dejar de recibir mensajes».
Borrar no es darse de baja
El borrado por WhatsApp es inmediato, no pide confirmación y no se puede deshacer. Algunas de esas frases parecen de baja y no lo son: borran conversaciones, citas y derivaciones. Para dejar sólo de recibir mensajes, el paciente escribe «stop», «unsubscribe» y «baja» como mensaje único, y su ficha se conserva. Que el borrado no pida confirmación es un defecto conocido del servicio, pendiente de corregir.
Letra a letra
Las frases se comparan tal cual, sin distinguir mayúsculas y sin corregir tildes: escrita con tilde, «no quiero más mensajes» todavía no se reconoce. El portal del paciente permite pedir el borrado sin depender de cómo se escriba.
Si un paciente nos escribe a nosotros
No decidimos sobre su solicitud. Si alguna clínica que usa AI Empire trata sus datos, se la trasladamos sin dilación y, como máximo, el día laborable siguiente. No le confirmamos qué clínicas tratan sus datos, porque eso ya revelaría algo de su salud (por ejemplo, que es paciente de una clínica estética): le pedimos que nos diga cuál es la suya. Siempre puede reclamar ante la AEPD.
Qué queda registrado
Consentimientos, borrados, exportaciones y derivaciones a una persona quedan en un registro de auditoría con fecha y clínica. Cada respuesta del asistente guarda qué modelo la escribió y con qué confianza.
Lo que no es
Es un registro controlado, no inalterable: el propio servicio puede escribir en él. Se conserva 36 meses (1080 días).
Si la clínica se va
- La clínica descarga todos sus datos en JSON desde el panel, en cualquier momento, también después de pedir la baja. Comprobado en el código
- Pide el borrado escribiendo «BORRAR MI CUENTA». Durante 30 días puede cancelarlo; después, el barrido diario borra en cascada todos sus datos y los de sus pacientes. Comprobado en el código
Lo que el borrado no alcanza, o no hace todavía:
- Certificado escrito de la supresión: lo promete la plantilla de DPA; ningún código lo emite. Según documento interno
- Copias de seguridad de Supabase: lo borrado sigue en ellas hasta que rotan; el plazo real no consta en el repositorio. Sin verificar
- Datos que ya tienen los proveedores (OpenAI, Meta, Cal.com, Stripe) se rigen por su propia retención. Sin verificar
Lo que falta por decidir
Estas preguntas no se pueden contestar desde el código. Mientras no haya respuesta, no las damos por resueltas:
- ¿Qué base del art. 9.2 cubre los datos de salud que el paciente escribe? Decide: revisión jurídica.
- ¿Los agentes de IA con lectura de producción (Claude, ChatGPT, Codex) ven datos de pacientes, y entonces son subencargados? Decide: el fundador con revisión jurídica.
- Si una clínica activa la voz (Vapi) o el SMS con su proveedor, ¿quién entra en la lista de subencargados? Decide: el fundador.
- ¿Cuánto tiempo sobreviven los datos borrados en las copias de seguridad de Supabase? Decide: el fundador.
¿Tu DPO necesita algo que no está aquí? Escribe a info@aiempire.software y lo añadimos. El resto de documentos está en el centro de confianza.