Terminamos nuestra auditoría GDPR. Esto es lo que realmente cerramos.
Hace unas semanas escribimos que "cumplimiento del GDPR" en la página de inicio de una herramienta de vídeo significa menos de lo que cree — que el GDPR es un conjunto de obligaciones para usted, el responsable del tratamiento, que un proveedor le ayuda a cumplir o que deja discretamente sobre su mesa. La forma honesta de respaldar esa afirmación es hacer el trabajo de nuestro lado y mostrarlo, línea por línea.
Y lo hicimos. Realizamos una auditoría completa del código base de InterMIND frente a las obligaciones que nos corresponden como encargados del tratamiento, corregimos cada brecha que tenía código detrás y verificamos cada una contra el producto en funcionamiento. Esta publicación es el informe de cierre — no una insignia, sino una lista de verificación con nuestras respuestas.
Deliberadamente no afirmamos estar "100% certificado por el GDPR". El GDPR no es un certificado que se aprueba — y no agitaremos una insignia ISO que aún no poseemos. Lo que sí podemos decir: las obligaciones arquitectónicas y de procesos que un DPO revisa ahora tienen respuestas concretas y verificables, cada una comprobada contra el código en ejecución.
Lo que cerramos
Derecho de supresión (Art. 17) — la cascada realmente se ejecuta
Eliminar su cuenta no solo la desactiva. POST /api/user/delete-account ejecuta una cascada real: destruye sus reuniones → participantes, mensajes, conferencias, transcripciones; limpia sus blobs de almacenamiento de Tigris antes de la cascada de la base de datos para que no quede nada huérfano — archivos adjuntos de chat y archivos de grabación de vídeo, ambas columnas; y cancela sus suscripciones de Stripe y elimina al cliente de Stripe. La eliminación bajo demanda también está disponible — elimine un canal o un mensaje desde la interfaz y desaparecerá. Las cuentas anónimas (de invitado) tienen su propio endpoint de eliminación más un barrido en segundo plano cada 6 horas, bajo un cron monitorizado. La auditoría reveló una brecha aquí — blobs de grabación que la cascada de la base de datos eliminaba pero que el almacenamiento conservaba — y la cerramos: la supresión ahora no deja rastro en el almacenamiento de objetos.
Conservación (Art. 5(1)(e)) — un criterio documentado
El Art. 5(1)(e) no requiere un tiempo de vida automático. Requiere un criterio de conservación definido. El nuestro ahora está escrito en la Política de Privacidad: los datos se conservan hasta que usted o el propietario de su equipo los eliminen, y eliminar su cuenta borra todo. Ese es el mismo modelo que utilizan herramientas de colaboración como Slack y Notion — la persistencia es el comportamiento esperado, y usted mantiene el control sobre ella. El criterio está declarado, no implícito.
Consentimiento de analítica (Art. 6/7) — exclusión voluntaria por defecto
Un banner de consentimiento de Usercentrics (mostrado a los visitantes de la UE) controla el acceso a la analítica, y PostHog se entrega con opt_out_capturing_by_default: true — no se captura nada hasta que se otorgue el consentimiento, y no al revés.
Portabilidad de datos (Art. 20) — una exportación real
GET /api/user/export crea un ZIP de sus reuniones, mensajes, grabaciones y traducciones, con una ventana de descarga de 7 días y limpieza automática. El acceso, la supresión y la portabilidad son herramientas que funcionan, no promesas en una política.
El contenido de la reunión va a una única pasarela de IA, en la UE — elegida por la organización
El mayor flujo de contenido de la reunión — la traducción de voz y chat en vivo — se ejecuta en nuestro propio motor en Francia, nunca en un LLM de terceros. Los pasos de IA que sí utilizan un modelo de propósito general (el resumen, los resúmenes de documentos, las acciones generativas del editor de notas, Preguntar a la IA) se ejecutan en la pasarela de IA que la organización seleccione — Azure OpenAI en la EU Data Zone por defecto, Vertex AI EU o Amazon Bedrock Frankfurt por elección, cada uno en nuestro propio tenant con cero retención de datos y sin entrenamiento con el contenido del cliente, o el propio endpoint de la organización; un único resolvedor en el código elige la pasarela para cada punto de llamada, por lo que no hay una segunda ruta. También limpiamos los nombres de los participantes y el texto de las intervenciones de los logs del navegador de conferencias que la grabación de sesiones de PostHog podría capturar de otro modo. El mapa completo proveedor por proveedor está en Dónde se ejecuta realmente una reunión de InterMIND.
Transparencia — subprocesadores y registros de tratamiento, publicados
La lista de subprocesadores está publicada, con lo que hace cada proveedor y dónde está domiciliado — no "disponible bajo petición". Detrás de ella se encuentra un Registro de Actividades de Tratamiento (ROPA) construido a partir del esquema en vivo: 11 operaciones de tratamiento, las medidas de seguridad de cada una y las rutas de supresión / portabilidad. Nuestra Política de Privacidad y los Términos ahora funcionan bajo nuestra propia entidad legal, con la cadena de tratamiento real descrita.
Tiempo de ejecución en la UE — fijado, no prometido
Cada salto en tiempo de ejecución que da una reunión está en la UE: la aplicación y las API en Vercel Frankfurt, el servidor de reuniones en Fly París, los datos de la aplicación en Neon Postgres (AWS Frankfurt), los errores en Sentry EU, la analítica en PostHog EU, el correo electrónico a través de Resend Irlanda. El almacenamiento de objetos en Tigris ahora está fijado a regiones de la UE (Frankfurt + Ámsterdam) — cada nueva escritura aterriza en la UE independientemente de dónde esté el usuario. La arquitectura completa está en nuestra página de seguridad.