MyHealth — Lista de Subprocesadores y Registro de las Actividades de Tratamiento (ROPA)
Responsable (LGPD Art. 5º, VI / GDPR "controller"): BAS AI — BAS ARTIFICIAL INTELLIGENCE LTDA CNPJ: 64.106.409/0001-70 Sitio web: www.bas-ai.com Encargado / DPO (LGPD Art. 5º, VIII): privacy@bas-ai.com — Rua Gomes de Carvalho, 911, Vila Olímpia, São Paulo/SP, CEP 04547-003, Brasil Producto: MyHealth — aplicación iOS de historial personal de salud y lectura educativa por IA (pt/en/es). Versión de este documento: 1.7 — Última actualización: 17 de junio de 2026
Naturaleza del producto. MyHealth organiza su historial de salud y ofrece una lectura educativa y prudente. No es un dispositivo médico, no realiza diagnósticos y no prescribe. Toda observación de la IA está marcada como "(a confirmar)" y debe ser validada con su médico.
Vigencia y contratos. La vigencia efectiva de este registro acompaña la firma de los DPA/SCC referidos más adelante; hasta entonces, vale como registro operacional del diseño en producción. Los instrumentos contractuales constan por proveedor en la Sección 3. La relación con Anthropic y con Resend ya se rige por DPA y Cláusulas Contractuales Estándar (SCC) EN VIGOR (incorporados a los términos comerciales de cada proveedor); el DPA de Supabase está EN VIGOR (firmado el 2026-06-18; Supabase Pte. Ltd); los términos de las fuentes de dispositivos vestibles (Oura/WHOOP) y del Apple Developer Program siguen el estado indicado en cada ítem. La versión pública de esta lista queda en https://www.bas-ai.com/myhealth/legal/subprocessadores; el historial de versiones queda publicado en https://www.bas-ai.com/myhealth/legal/versoes, y cada versión aceptada permanece archivada.
1. Cómo leer este documento
Este documento tiene dos partes complementarias:
- Parte A — Lista de Subprocesadores (Sección 3): todos los terceros que tratan datos personales en nombre de BAS AI, con su rol, los datos tratados, la finalidad, la localización/transferencia internacional y las salvaguardas.
- Parte B — Registro de las Actividades de Tratamiento (ROPA, Secciones 4 a 7): el inventario de las actividades de tratamiento (estilo GDPR Art. 30 / LGPD Art. 37), la matriz finalidad → base legal → retención, la política de retención y eliminación, y el procedimiento de eliminación de cuenta/datos.
BAS AI actúa como responsable de los datos personales tratados en MyHealth. Los terceros listados en la Parte A actúan como encargados/subencargados (LGPD Art. 5º, VII) / processors/sub-processors (GDPR Art. 28), tratando datos exclusivamente bajo las instrucciones de BAS AI.
1.1 Principios que rigen la cadena de subprocesadores
- Minimización. Cada subprocesador recibe solo el mínimo de datos necesario para su función.
- Separación entre identidad y datos clínicos. Los identificadores directos (PII) quedan cifrados en una bóveda (
identity_vault), separados de las tablas clínicas, que se refieren al titular solo por un identificador seudónimo (profile_id). - No-entrenamiento y minimización en la IA. El proveedor de IA tiene prohibido contractualmente usar los datos para entrenar o mejorar modelos. La minimización efectiva consiste en: eliminar los identificadores directos (nombre, CPF, correo electrónico, teléfono — que permanecen cifrados en el
identity_vaulty no se envían), sustituyéndolos por sexo y edad; no enviar los contactos de la tarjeta de emergencia; y aplicar salvaguardas contra inyección (cerca de instrucción). Esa minimización no es una desidentificación en el dispositivo: en el análisis del historial, la IA recibe contenido clínico identificable por sexo + edad; en la extracción de documento, recibe la imagen/PDF bruta, que puede contener nombre/CPF impresos en el informe. Las anotaciones libres pueden contener nombres, por eso se recomienda no insertar identificación en los campos de texto. - Sin venta de datos. Ningún dato personal se vende a terceros.
- Cadena controlada. Ningún subprocesador puede contratar un nuevo subprocesador para tratar sus datos sin una obligación contractual equivalente y sin nuestro derecho de objeción.
2. Categorías de datos tratados (glosario)
Para uso en las tablas a continuación:
| Sigla | Categoría | Ejemplos |
|---|---|---|
| PII | Identificación directa (cifrada en el identity_vault) | Nombre/apodo, correo electrónico, teléfono, documento/CPF |
| PHI | Datos de salud / sensibles | Análisis y marcadores; condiciones/sistemas; medicaciones; alergias; vacunas; consultas; signos vitales y bioimpedancia (peso, grasa, glucemia, presión, FC); síntomas y molestias; actividad física (incl. entrenamientos de dispositivo vestible); sueño (sesiones y fases — sleep_sessions); métricas continuas de dispositivo vestible (FC de reposo, HRV, VO2max, pasos, energía, temperatura de piel); puntajes propietarios de proveedores de dispositivos vestibles (Oura readiness/sleep/stress/resilience; WHOOP recovery/strain — daily_scores); eventos de dispositivo (ECG — solo clasificación y metadatos, nunca el trazado/forma de onda bruta; ritmo irregular; FC alta/baja; carga de fibrilación auricular; caída detectada — health_events); registro de toma de medicación (med_intakes); check-in diario de bienestar; ciclo menstrual y salud reproductiva (flujo, sangrado intermenstrual, prueba de ovulación, moco cervical, prueba de embarazo — importados de HealthKit a cycle_entries; la actividad sexual no se importa); hábitos de vida autodeclarados (tabaquismo — incl. años de tabaquismo —, alcohol, actividad, percepción de sueño y estado de menopausia — autodeclarado opt-in, no importado de HealthKit — lifestyle_facts); conversaciones con el asistente de IA (preguntas y respuestas persistidas — chat_messages/conversations); documentos/informes; historia familiar; equipo de cuidados |
| DEMO | Perfil clínico-demográfico seudónimo | Sexo biológico y fecha/edad en la fecha del examen (en profiles, sin PII) |
| LOC | Localidad opcional e idioma | País (country_code — enviado a la IA, ver 3.2, para regionalizar la orientación educativa)/estado/ciudad; idioma (locale) |
| CUENTA | Cuenta, autenticación y consentimiento | Identificador de cuenta, correo electrónico/identificador Sign in with Apple, tokens de sesión, factor MFA (TOTP), eventos de consentimiento versionados |
| TÉC | Metadatos técnicos y de uso | Logs de acceso (metadato, sin contenido clínico), datos de uso desidentificados, telemetría de fallos/rendimiento |
| PAG | Facturación de suscripción | Estado de la suscripción, recibo/transacción (el procesamiento del pago lo hace Apple; BAS AI no recibe datos de tarjeta) |
| CONEX | Datos de conexión de dispositivos vestibles | Conexiones OAuth (wearable_connections: estado, ámbitos, tokens de acceso/refresh cifrados AES-256-GCM server-side, cursores de sincronización) y estados anti-CSRF (oauth_states). No son datos de salud — son datos de conexión, eliminados al desconectar la fuente |
3. Parte A — Lista de Subprocesadores
3.1 Supabase — infraestructura, base de datos, almacenamiento y autenticación
| Campo | Detalle |
|---|---|
| Subprocesador | Supabase Pte. Ltd — entidad contratante del DPA firmado el 2026-06-18 (Document Ref IUEMY-WMWYS-MIWD9-XVTSF), con BAS ARTIFICIAL INTELLIGENCE LTDA como responsable |
| Rol | Encargado/subencargado (hosting de backend) |
| Finalidad | Alojar la infraestructura de MyHealth: base de datos (PostgreSQL), almacenamiento de documentos/informes, autenticación de cuenta y funciones de borde. Da soporte a las finalidades clinical_processing y, en el enrutamiento de la IA, ai_processing. |
| Datos tratados | PHI estructurado y documentos/informes (referenciados por profile_id seudónimo); PII cifrada campo a campo (XChaCha20-Poly1305 vía pgsodium) en el identity_vault; DEMO; LOC; CUENTA (incl. factor MFA/TOTP y consent_events); TÉC (logs de acceso access_log). Supabase opera la infraestructura, pero no accede en claro a la PII del identity_vault en el curso normal de operación (el descifrado solo ocurre vía función segura, bajo la identidad del propio usuario). |
| Localización / transferencia internacional | Región sa-east-1 (São Paulo, Brasil) — residencia de datos en Brasil. Tratamientos administrativos auxiliares (ej.: soporte) pueden implicar acceso desde otras jurisdicciones por parte del personal del subprocesador, bajo las salvaguardas descritas abajo. Por seguridad, no se exponen públicamente el ref del proyecto ni la clave anon/JWT en esta página ni en materiales externos. |
| Salvaguardas | DPA EN VIGOR (firmado el 2026-06-18; Supabase Pte. Ltd) — incluye SCC de la UE + salvaguardas de transferencia (UK/Suiza), regido por GDPR + leyes suizas + leyes de los EE. UU.; infraestructura certificada SOC 2 Type 2 e ISO 27001 (certificaciones del proveedor Supabase); copias de seguridad diarias (14 días); retención de log 28 días; cifrado en tránsito (TLS 1.3, con certificate pinning en la app) y en reposo; cifrado adicional de campo (pgsodium) bajo nuestra gestión de claves; aislamiento por Row-Level Security (RLS) por verbo; rastro de auditoría (access_log append-only / pgaudit best-effort); cláusula de NO-ENTRENAMIENTO. |
3.2 Anthropic — modelo de lenguaje (Claude) para lectura educativa y extracción de exámenes
| Campo | Detalle |
|---|---|
| Subprocesador | Anthropic, PBC — la entidad contratante y la dirección serán las constantes en el DPA de Anthropic, en vigor vía Términos Comerciales (anthropic.com/legal/data-processing-addendum) |
| Rol | Encargado/subencargado (procesamiento por IA) |
| Finalidad | Procesar, vía API Claude, el contenido del propio usuario para: (a) extraer/estructurar documentos y exámenes; (b) generar lectura educativa, NO-diagnóstica (análisis longitudinal del historial); y (c) responder al chat asistente educativo. Se mapea a las finalidades ai_processing y, cuando hay salida de Brasil, intl_transfer. La búsqueda en la web existe solo en el chat asistente: el modelo es instruido a usar únicamente términos clínicos genéricos, sin valores, fechas, edad, nombres ni identificadores del usuario — protección por instrucción al modelo, no por un filtro técnico infalible; la búsqueda es ejecutada por la infraestructura de Anthropic. Las funciones de análisis del historial y de extracción de documentos no hacen búsqueda en la web. |
| Datos tratados | Contenido clínico (PHI) del propio usuario, enviado mediante consentimiento de procesamiento por IA. La minimización aplicada elimina los identificadores directos (nombre, CPF, correo electrónico, teléfono — sustituidos por sexo y edad) y no envía los contactos de la tarjeta de emergencia, pero no es una desidentificación en el dispositivo: en el análisis del historial, la IA recibe contenido clínico identificable por sexo + edad (marcadores y tendencias de exámenes, mediciones y bioimpedancia, medicaciones, vacunas, alergias, síntomas, consultas y anotaciones, historia familiar, actividad física, sueño y puntajes de dispositivo vestible, eventos de dispositivo — clasificación de ECG, ritmo irregular, caída, nunca el trazado bruto, ciclo menstrual y datos reproductivos, hábitos de vida autodeclarados — tabaquismo (incl. años de tabaquismo)/alcohol/actividad/sueño/estado de menopausia, país (country_code, para regionalizar la orientación educativa), grupo sanguíneo y observaciones de la tarjeta de emergencia); en la extracción de documento, recibe la imagen/PDF bruta, que puede contener nombre/CPF impresos en el informe. Las conversaciones del chat (preguntas y respuestas) también transitan. Cuando hay una fuente de dispositivo vestible conectada (Sección 3.5), los datos entran como agregados en el contexto del análisis longitudinal (tendencias de sueño, FC de reposo, HRV siempre con el método SDNN/rMSSD, pasos, energía y puntajes del proveedor etiquetados por marca, sin recálculo); no se envían series brutas continuas (agregación server-side, límite de 90 puntos por métrica). Anthropic no recibe la PII directa cifrada en el identity_vault, datos de cuenta ni tokens de conexión (CONEX). Tratamiento transitorio; retención limitada por el subprocesador (ver Salvaguardas). |
| Localización / transferencia internacional | Procesamiento vía API de Anthropic, con infraestructura en los Estados Unidos. Transferencia internacional de datos personales sensibles desde Brasil, realizada solo con el consentimiento específico del titular. |
| Salvaguardas | DPA en vigor (Términos Comerciales Anthropic); cláusula de NO-ENTRENAMIENTO (las entradas y salidas no se usan para entrenar ni mejorar modelos — compromiso contractual); retención limitada por el subprocesador (por regla, eliminación en hasta ~30 días, salvo retención exigida por ley o para prevención de abuso) — no hay "retención cero"/ZDR contratada; SCC UE (Módulos 2/3) + UK IDTA + adendo suizo; mecanismo equivalente bajo la LGPD; TIA/evaluación de transferencia (Schrems II) a documentar antes de cualquier dato real en el camino hacia los EE. UU.; transmisión bajo TLS 1.3 con certificate pinning de api.anthropic.com; validación estricta del payload; salvaguardas contra inyección (cerca de instrucción); sin cuerpo clínico en los logs de nuestras Edge Functions. |
3.3 Apple — App Store, Sign in with Apple, push, HealthKit y pago (In-App Purchase)
| Campo | Detalle |
|---|---|
| Subprocesador / plataforma | Apple Inc. — la entidad contratante aplicable por jurisdicción es la definida en los términos del Apple Developer Program License Agreement |
| Rol | Plataforma de distribución y servicios de SO; encargado en la medida en que trate datos en nuestro nombre (push, HealthKit); y proveedor responsable de la transacción (merchant of record) en el procesamiento del pago de las suscripciones y créditos vía In-App Purchase nativo (StoreKit). |
| Finalidad | (a) Distribución de la app (App Store); (b) autenticación vía Sign in with Apple, cuando la elige el usuario; (c) notificaciones push; (d) acceso de lectura a los datos de Apple Salud (HealthKit) — implementado, opcional, solo con autorización explícita del usuario y consentimiento wearable_sync_apple_health (la lectura ocurre localmente, en el dispositivo; Apple no participa del tráfico de esos datos hacia nuestro backend); (e) procesamiento de pagos de suscripción y créditos de IA vía In-App Purchase nativo, como merchant of record. |
| Datos tratados | CUENTA (identificador Sign in with Apple, token de push); PAG (procesamiento del pago de la suscripción y de los créditos vía App Store / In-App Purchase — BAS AI no recibe ni almacena datos de tarjeta; sin contenido de salud en el flujo de pago). El PHI de HealthKit se lee en el propio iPhone mediante autorización granular de iOS y se graba en el historial del usuario; Apple no recibe la base clínica de MyHealth. Conformidad con la Guideline 5.1.3 (nunca marketing, terceros ni entrenamiento de IA). |
| Localización / transferencia internacional | EE. UU. e infraestructura global de Apple, conforme los términos aplicables del Apple Developer Program. Transferencia internacional. |
| Salvaguardas | Términos del Apple Developer Program / Apple Developer Program License Agreement; términos del Apple Developer Program en vigor (aceptados); DPA aplicable conforme esos términos; SCC a celebrar/mecanismo equivalente; Apple Guideline 5.1.3: datos de HealthKit nunca usados para marketing, compartir con terceros o entrenamiento de modelos; Directrices Apple 3.1.1/3.1.2 para compras digitales; permisos just-in-time; tokens de sesión protegidos en el dispositivo. |
3.4 Resend — envío de correos transaccionales
| Campo | Detalle |
|---|---|
| Subprocesador | Resend — la entidad contratante y la dirección serán las constantes en el DPA de Resend en vigor (aceptación de los términos); certificación EU-US Data Privacy Framework + UK extension; SCC |
| Rol | Encargado/subencargado (proveedor de correo transaccional) |
| Finalidad | Entregar correos transaccionales de la cuenta: código de acceso/OTP de autenticación y avisos operacionales de la cuenta. No participa de ningún flujo clínico o de IA. |
| Datos tratados | Solo el correo electrónico del destinatario y el contenido del correo (código/aviso). Sin contenido de salud (PHI), sin datos de cuenta sensibles más allá de lo necesario para el envío, sin PII clínica. |
| Localización / transferencia internacional | EE. UU. / global; la región efectiva de procesamiento consta en el DPA de Resend. Transferencia internacional. |
| Salvaguardas | DPA de Resend en vigor (aceptación de los términos); certificación EU-US Data Privacy Framework + UK extension; SCC; mecanismo equivalente; cláusula de no-entrenamiento/no-uso secundario; minimización (ningún dato de salud se comparte); TLS en tránsito. |
RevenueCat NO se utiliza. La monetización de MyHealth funciona por In-App Purchase nativo (StoreKit) — suscripción y créditos —, con Apple como proveedor responsable de la transacción (merchant of record; ver 3.3). No hay intermediario de suscripciones de terceros.
3.5 Fuentes de datos de dispositivos vestibles — Oura y WHOOP (originadores; NO son subprocesadores)
Cuando el usuario conecta un dispositivo vestible, el proveedor actúa como fuente de datos/originador (controlador independiente de su propia plataforma), no como encargado de BAS AI: el flujo de datos es solo de entrada (del proveedor hacia el historial del usuario), mediante conexión OAuth autorizada por el propio titular y consentimiento específico por fuente (wearable_sync_oura / wearable_sync_whoop, base doble LGPD Art. 11, I + GDPR Art. 9(2)(a), revocable). El proveedor no recibe datos del historial.
| Campo | Oura | WHOOP |
|---|---|---|
| Entidad | Oura Health Oy (Finlandia / EEE) — la dirección será la constante en el API Agreement; los términos de API se aceptarán al crear la cuenta de desarrollador, antes de que la integración opere | WHOOP, Inc. (EE. UU.) — la dirección será la constante en los Developer Terms; los términos de API se aceptarán al crear la cuenta de desarrollador, antes de que la integración opere |
| Rol | Fuente de datos conectada por el titular (controlador independiente) | Fuente de datos conectada por el titular (controlador independiente) |
| Datos recopilados (conforme los ámbitos autorizados) | Sueño (sesiones/fases), puntajes diarios (readiness, sleep, activity, stress, resilience), métricas (FC de reposo, HRV rMSSD, temperatura, SpO2, VO2max), actividad diaria, entrenamientos | Sueño (sesiones/fases), puntajes diarios (recovery, strain), métricas (FC de reposo, HRV rMSSD, SpO2, temperatura de piel), entrenamientos |
| Datos de conexión (CONEX) | Tokens OAuth cifrados (AES-256-GCM) solo en el servidor; la app nunca ve los tokens; eliminados al desconectar | Ídem |
| Localización / transferencia internacional | Recopilación desde la API de Oura (Finlandia/EEE) → almacenamiento en Brasil (sa-east-1) | Recopilación desde la API de WHOOP (EE. UU.) → almacenamiento en Brasil (sa-east-1) |
| Desconexión / purga | Revocación del token en el proveedor + consent_events granted=false; el titular elige mantener o borrar los datos ya importados | Revocación (DELETE /v2/user/access) + consent_events granted=false + purga obligatoria de todos los datos originados de WHOOP (exigencia contractual del proveedor — sin opción de mantener) |
| Salvaguardas / contratos | Oura API Terms/Agreement a aceptar al crear la cuenta de desarrollador, antes de que la integración opere (con evaluación, en la aprobación, de la cláusula de caché de 60 días y de la base de transferencia internacional); atribución de marca obligatoria; puntajes nunca recalculados/combinados | WHOOP Developer Terms a aceptar al crear la cuenta de desarrollador, antes de que la integración opere (la aprobación exige Privacy Policy URL y conformidad con brand guidelines); atribución de marca; prohibición de derivación de puntajes |
El Apple Salud (HealthKit) no consta en esta tabla porque la lectura es local, en el dispositivo (ver 3.3 y 3.6) — no hay tráfico de datos entre Apple y el backend de BAS AI.
3.6 Lo que NO es subprocesador
- Lo que ocurre en el iPhone. La lectura de HealthKit y el caché en el dispositivo no involucran a terceros. (No hay, hoy, desidentificación en el dispositivo ni OCR local antes del envío a la IA — ver 1.1 y 3.2.)
- Fuentes de datos conectadas por el titular. Oura y WHOOP (Sección 3.5) son originadores de datos bajo control del titular, no encargados de BAS AI.
- Sin SDK de rastreo de terceros. La app no embarca SDK de publicidad/rastreo que vea datos de salud. Hoy no usamos ninguna herramienta de analytics o rastreo de terceros; si eso cambia, actualizaremos esta página y la Política de Privacidad antes de la activación, con un nuevo aviso (ver Sección 9).
- Vocabularios/estándares abiertos licenciados (LOINC® / UCUM). Para reconocer el mismo examen bajo nombres/siglas/idiomas diferentes como un único parámetro (catálogo canónico de marcadores) y estandarizar unidades, la app embarca un diccionario de referencia derivado de LOINC® (Regenstrief Institute, Inc.) y de UCUM. Es contenido licenciado embarcado — funciona localmente como una tabla de consulta. El Regenstrief Institute no recibe ningún dato personal/clínico del titular, no trata datos en nombre de BAS AI y no es subprocesador; se trata de una obligación de atribución/licencia de propiedad intelectual (cumplida en la Política de Privacidad §6.4 y en la pantalla de avisos de la app), no de una cadena de tratamiento de datos. La LOINC License es gratuita inclusive para uso comercial y exige atribución visible y seguimiento de las actualizaciones (~2x/año).
4. Parte B — Registro de las Actividades de Tratamiento (ROPA)
Inventario de las actividades de tratamiento (GDPR Art. 30 / LGPD Art. 37). Los consentimientos por finalidad quedan en un registro append-only (consent_events), versionados por policy_version, y las Edge Functions verifican el consentimiento en tiempo de ejecución (gate has_active_consent).
| # | Actividad | Categorías de datos | Categorías de titulares | Destinatarios / subprocesadores | Transferencia internacional |
|---|---|---|---|---|---|
| 1 | Registro, autenticación y seguridad de la cuenta (MFA TOTP) | CUENTA, PII (cifrada) | Usuarios adultos; responsables legales | Supabase; Apple (Sign in with Apple); Resend (correo/OTP) | No (BR), salvo Sign in with Apple y Resend (EE. UU./global) |
| 2 | Organización del historial (extracción, línea de tiempo, tendencias; rutina diaria — toma de medicación med_intakes y check-in de bienestar; hábitos de vida lifestyle_facts) | PHI, DEMO, documentos/informes | Titulares y dependientes (menores) | Supabase | No (BR) |
| 3 | Lectura educativa y extracción de documentos por IA (incl. agregados de dispositivo vestible, ciclo, hábitos y eventos de dispositivo en el contexto del análisis longitudinal — ver 3.2) | PHI (contenido del propio usuario, identificable por sexo+edad); documento/imagen bruta en la extracción | Titulares y dependientes | Anthropic (Claude) | Sí — EE. UU. |
| 4 | Chat asistente educativo por IA (preguntas/respuestas persistidas en chat_messages/conversations; búsqueda en la web solo con términos genéricos — ver 3.2) | PHI (contenido del propio usuario); conversaciones | Titulares y dependientes | Anthropic (Claude); Supabase (persistencia) | Sí — EE. UU. (Anthropic); persistencia BR |
| 5 | Compartir en familia (opt-in, solo lectura) | PHI, DEMO | Titular y familiar vinculado | Supabase | No (BR) |
| 6 | Sincronización Apple Salud (HealthKit) — opcional, lectura local en el dispositivo, continua (background delivery) | PHI (mediciones, métricas continuas, sueño, entrenamientos, eventos de dispositivo, ciclo/reproductivo) | Titulares | Lectura local (iPhone); almacenamiento Supabase | No (lectura local; almacenamiento BR) |
| 7 | Portabilidad / exportación (FHIR R4, PDF) — incluye datos de dispositivos vestibles, hábitos, conversaciones de IA y registros de rutina | PHI, DEMO, PII | Titulares y dependientes | Generado en la app/backend; entregado al titular | No |
| 8 | Cuenta, suscripción y créditos (In-App Purchase nativo / StoreKit); telemetría de uso y cobro de IA (ai_usage, credit_ledger) | CUENTA, PAG, TÉC (sin PHI en el flujo de pago) | Suscriptores; responsables (cobro de menor) | Apple (merchant of record); Supabase | Sí — Apple (EE. UU./global); persistencia BR |
| 9 | Seguridad, auditoría y prevención de abuso | TÉC (metadato de acceso, sin PHI) | Todos los usuarios | Supabase | No (BR) |
| 10 | Telemetría de estabilidad / diagnóstico | TÉC (sin PHI) | Todos los usuarios | BAS AI — hoy sin tercero de observabilidad; si se adopta, se listará en esta página antes de la activación | No (BR) — hoy sin tercero |
| 11 | Gestión de consentimientos versionados | CUENTA (consent_events) | Todos los usuarios | Supabase | No (BR) |
| 12 | Atestación de edad (age_attestation) — declaración de 18+; bloqueo de registro de menor; registro inmutable con fecha/hora del servidor | CUENTA | Todos los usuarios | Supabase | No (BR) |
| 13 | Sincronización Oura — conexión OAuth, recopilación vía API y webhook (sueño sleep_sessions, puntajes daily_scores, métricas, entrenamientos) | PHI (dispositivo vestible), CONEX | Titulares | Oura Health Oy (fuente/originador — ver 3.5); Supabase | Sí — recopilación desde Finlandia/EEE → BR |
| 14 | Sincronización WHOOP — conexión OAuth, recopilación vía API y webhook (sueño, recovery/strain, métricas, entrenamientos) | PHI (dispositivo vestible), CONEX | Titulares | WHOOP, Inc. (fuente/originador — ver 3.5); Supabase | Sí — recopilación desde EE. UU. → BR |
| 15 | Gestión de conexiones de dispositivos vestibles (tokens cifrados, estado OAuth, revocación y purga al desconectar) | CONEX | Titulares | Supabase (acceso restringido a service_role; la app nunca lee los tokens) | No (BR) |
5. Matriz Finalidad → Base Legal → Retención
| Finalidad | Base legal LGPD | Base legal GDPR | Retención |
|---|---|---|---|
Procesamiento clínico (clinical_processing) — organizar el historial | Art. 7, I y Art. 11, I (consentimiento específico y destacado para dato sensible) | Art. 6(1)(a) + Art. 9(2)(a) (consentimiento explícito) | Mientras la cuenta exista; eliminado a pedido (Sección 7) |
Procesamiento por IA (ai_processing) — extracción de documentos, lectura educativa y chat asistente | Art. 7, I y Art. 11, I (consentimiento específico) | Art. 6(1)(a) + Art. 9(2)(a) | Procesamiento transitorio en Anthropic, con retención limitada por el subprocesador (por regla, eliminación en hasta ~30 días) — sin "retención cero"/ZDR contratada; resultado guardado en el historial mientras la cuenta exista; conversaciones del chat persistidas hasta su eliminación por el titular |
Transferencia internacional (intl_transfer) — salida hacia Anthropic/EE. UU. en el procesamiento por IA | Art. 7, I; Art. 11, I; Art. 33 | Art. 6(1)(a) + Art. 9(2)(a); Arts. 44–49 | Transitorio; retención limitada en el destino (~30 días), conforme los términos de Anthropic; SCC en vigor (DPA Anthropic) + TIA a documentar |
Compartir en familia (family_sharing) — opt-in, solo lectura | Art. 7, I y Art. 11, I (consentimiento) | Art. 6(1)(a) + Art. 9(2)(a) | Vínculo activo hasta su revocación; la invitación expira en 7 días |
Sincronización de dispositivos vestibles (wearable_sync_apple_health / wearable_sync_oura / wearable_sync_whoop) — consentimiento específico por fuente, grabado antes de cualquier lectura/pull | Art. 7, I y Art. 11, I (consentimiento específico y destacado; revocable) | Art. 6(1)(a) + Art. 9(2)(a) (consentimiento explícito; revocable) | Datos importados: regla general (mientras la cuenta exista). Al desconectar: tokens/conexión (CONEX) siempre eliminados; WHOOP — purga obligatoria de los datos importados (exigencia contractual del proveedor); Oura/HealthKit — el titular elige mantener (bajo consentimiento activo) o borrar |
| Datos de menores bajo guarda | Art. 14 (mejor interés; consentimiento del responsable) | Art. 6(1)(a)/Art. 8 + Art. 9(2)(a), ejercido por el responsable | Mientras la cuenta del responsable exista; eliminado a pedido |
Atestación de edad (age_attestation) — declaración de 18+ en el registro | Art. 14 + Ley 15.211/2025 (ECA Digital) | Art. 8 | Registro inmutable mientras la cuenta exista (prueba de conformidad) |
| Cuenta, suscripción y créditos (In-App Purchase) — mantener la cuenta y procesar suscripción/créditos de IA (por regla, 1 crédito = 1 página); el consumo de IA de un menor se cobra al responsable | Art. 7, V (ejecución de contrato); Art. 7, II y Art. 16, I (guarda fiscal obligatoria de los comprobantes) | Art. 6(1)(b); Art. 6(1)(c) (guarda fiscal) | Cuenta: mientras exista. Comprobantes fiscales/de facturación: 5 años (CTN, arts. 173 y 174 — plazos de caducidad y prescripción tributarias), independientemente de la eliminación de la cuenta |
| Seguridad, auditoría y prevención de abuso | Art. 7, II (obligación legal) y Art. 10 (interés legítimo) — no Art. 11, II "f" (tutela de la salud) | Art. 6(1)(c) (obligación legal) y Art. 6(1)(f) (interés legítimo) — no Art. 9(2)(h) | Logs de acceso (fecha/hora + IP, metadato sin contenido clínico): mínimo de 6 meses (Marco Civil de Internet, Ley 12.965/2014, art. 15 — piso legal de guarda). Ese piso se refiere al log de acceso, que no es dato de salud y no justifica retener contenido del historial |
| Telemetría técnica / estabilidad | Art. 7, IX (interés legítimo) | Art. 6(1)(f) | Hasta ~12 meses, por autolimitación de minimización (LGPD art. 6º, III) — política interna del Responsable, no plazo impuesto por ley; sin PHI |
Base legal del núcleo clínico (decidida). La base primaria de todo el núcleo clínico (organización del historial, lectura/extracción por IA, chat asistente, transferencia internacional, compartir en familia y sincronización de dispositivos vestibles) es el consentimiento específico y destacado para dato sensible — LGPD Art. 11, I/II "a" / GDPR Art. 9(2)(a) — coherente con el posicionamiento de "historial soberano" y revocable en cualquier momento. Como base subsidiaria — restringida a la seguridad e integridad del tratamiento, al cumplimiento de obligación legal y a la ejecución de la propia eliminación de datos — se aplican LGPD Art. 7, II y Art. 10 / GDPR Art. 6(1)(c) y (f). NO se invoca la hipótesis de tutela de la salud (LGPD Art. 11, II "f" / GDPR Art. 9(2)(h)): el GDPR Art. 9(3) condiciona esa base al tratamiento por un profesional sujeto a secreto en el flujo, y no hay médico en el circuito de MyHealth — el asistente nunca comunica diagnóstico, pronóstico ni decisión terapéutica.
6. Política de Retención y Eliminación
- Regla general. Los datos se mantienen mientras la cuenta exista y el titular quiera mantener el historial organizado.
- Plazos legales. Los datos de facturación/fiscales (comprobantes de compra de suscripción y créditos) se mantienen por 5 años para cumplir las obligaciones tributarias (CTN, arts. 173 y 174 — caducidad y prescripción), aunque la cuenta se elimine antes. Los logs de acceso (metadato de auditoría/seguridad — quién, cuándo, qué tabla, acción, IP de origen) se guardan por un mínimo de 6 meses, en la forma del art. 15 de la Ley 12.965/2014 (Marco Civil de Internet) — ese es el piso legal de guarda, y el log de acceso no es contenido clínico, de modo que ese plazo no justifica retener el historial. Los logs de auditoría nunca contienen contenido clínico.
- Procesamiento por IA. El contenido enviado a Anthropic es transitorio; el subprocesador lo retiene por un período limitado y luego lo elimina (por regla, en hasta ~30 días), salvo retención exigida por ley o para prevención de abuso — no hay "retención cero"/ZDR contratada. El resultado incorporado al historial sigue la regla general; las conversaciones del chat asistente quedan guardadas hasta que el titular las borre.
- Telemetría técnica. La telemetría de estabilidad/diagnóstico (sin PHI) se mantiene por hasta ~12 meses, por autolimitación de minimización (LGPD art. 6º, III) — se trata de una política interna del Responsable, no de un plazo impuesto por ley.
- Sin purga automática por inactividad. Hoy no existe rutina de eliminación automática por inactividad prolongada ni por transcurso de plazo máximo por categoría — y este documento no afirma una rutina vigente. Cuando la política de retención por tiempo / plazo máximo por categoría se defina — en atención al principio de limitación de conservación (GDPR Art. 5(1)(e)) —, constará aquí y en la Política de Privacidad.
- Eliminación a pedido. La eliminación se ejecuta a pedido del titular (o del responsable legal, en el caso de menores), conforme el procedimiento de la Sección 7, en hasta 30 días.
- Inmutabilidad de los registros.
consent_eventsyaccess_logson append-only (UPDATE/DELETE bloqueados por trigger): revocar el consentimiento es insertar un nuevo eventogranted=false; la revocación no borra retroactivamente el tratamiento ya realizado lícitamente, pero interrumpe el tratamiento futuro de esa finalidad.
7. Procedimiento de Eliminación de Cuenta y de Datos
La eliminación de cuenta está disponible en la propia app (exigencia de Apple) y también puede solicitarse al Encargado (privacy@bas-ai.com).
- Solicitud. El titular (o responsable legal, en el caso de dependiente menor) inicia la eliminación en la app o por contacto con el Encargado.
- Alcance. La eliminación abarca: los datos estructurados del historial (PHI/DEMO), los documentos/informes en el Storage, la PII cifrada en el
identity_vault, los vínculos de compartir en familia, los datos de dispositivos vestibles y rutina (sleep_sessions,daily_scores,health_events,med_intakes, mediciones conprovider/external_id), los hábitos de vida (lifestyle_facts), las conversaciones con el asistente de IA (chat_messages/conversations), los registros de uso y saldo de créditos de IA (ai_usage,credit_ledgery correlatos, salvo la retención fiscal de comprobantes de compra), los datos de conexión de dispositivos vestibles (wearable_connections,oauth_states— tokens cifrados) y los datos de cuenta. Las tablas clínicas tienen eliminación en cascada a partir delprofile_id(claves foráneason delete cascade). - Eliminación efectiva. Remoción permanente, en cascada, de los registros y de los documentos; limpieza de los datos en caché en el dispositivo al cerrar sesión/eliminar. La eliminación es permanente, pero no se alega destrucción de claves de cifrado (crypto-shredding) ni irreversibilidad absoluta en copias de seguridad — eventuales copias de seguridad expiran conforme los ciclos de retención de la infraestructura.
- Retención mínima legal. Aun después de la eliminación, se mantienen: (a) el mínimo de metadato que la ley exige (registro de que la eliminación ocurrió); (b) los logs de acceso por el piso de 6 meses (Marco Civil, art. 15) — metadato, sin contenido clínico; y (c) los comprobantes de facturación/fiscales por 5 años (CTN, arts. 173 y 174). Nada de esto recompone el historial, que es eliminado.
- Plazo y confirmación. La eliminación es una operación inmediata en la base de datos. No hay emisión de recibo automático; el titular puede solicitar la confirmación de la conclusión al Encargado (DPO) — privacy@bas-ai.com — que responde con base en el registro mínimo de eliminación (LGPD art. 6º, X).
- Subprocesadores. La eliminación se propaga a la infraestructura (Supabase). El contenido enviado a Anthropic es transitorio y retenido por un período limitado (~30 días) y luego eliminado por el subprocesador, conforme sus términos. Para Apple (incl. datos de compra/suscripción vía In-App Purchase) y Resend (correo), se aplican los mecanismos de eliminación de la respectiva plataforma en cuanto a los datos que cada una trata. RevenueCat no se utiliza.
- Desconexión de dispositivo vestible (purga selectiva por proveedor, sin eliminar la cuenta). Disponible en la pantalla de Integraciones. La desconexión: (a) revoca los tokens ante el proveedor (Oura:
oauth/revoke; WHOOP:DELETE /v2/user/access); (b) elimina los datos de conexión (CONEX); (c) grabaconsent_events granted=falsepara la finalidad de la fuente; (d) aplica la política de datos importados — WHOOP: purga obligatoria de todos los datos consource='whoop'(exigencia contractual, verificable por conteo cero); Oura/HealthKit: el titular elige mantener o borrar. Los eventos de connect/disconnect/purge se registran en auditoría.
8. Edad mínima y datos de menores
La protección de niños y adolescentes observa el Estatuto del Niño y del Adolescente (Ley 8.069/1990), la Ley 15.211/2025 (ECA Digital), el Art. 14 de la LGPD, el Art. 8 del GDPR (EEE) y la COPPA (EE. UU.).
- Edad única de 18 años para cuenta propia, en cualquier país (o la mayoría de edad civil del país, si es superior). Ese requisito se refiere a la titularidad de la cuenta y no se confunde con la edad de consentimiento digital autónomo del GDPR (Art. 8, entre 13 y 16 años según el país). La atestación de edad (
age_attestation) se registra de forma inmutable, con fecha/hora del servidor; el registro de menor de 18 con cuenta propia está bloqueado. - El menor no posee cuenta ni correo electrónico propios: existe solo como perfil gestionado (
profiles.kind='minor',profiles.managed_by) dentro de la cuenta de un responsable adulto, que ejerce los derechos en nombre del menor (LGPD Art. 14). - Multi-guardián. El perfil puede tener más de un responsable: el principal invita a otro adulto mediante código de invitación con plazo de validez. Cada invitado recibe un rol — responsable (ve y edita) o acompañante (solo lectura). Toda autorización se verifica en el servidor en cada operación (protección contra acceso indebido a objeto / IDOR). El consentimiento relativo al menor se registra identificando qué adulto lo concedió.
- Cobro. Los recursos pagos de IA exigen rol de responsable y se cobran al adulto responsable que ejecuta la acción; el dependiente no tiene saldo ni medio de pago propios. El registro de uso permanece vinculado al perfil del menor para auditoría.
- Los datos de dispositivos vestibles y de Apple Salud nunca siguen al perfil de un menor — siempre se graban en el perfil del titular adulto de la cuenta.
- A los datos de menores se aplican las mismas protecciones (cifrado de PII, separación de identidad, no-entrenamiento de la IA) y el mejor interés del niño/adolescente.
- EE. UU. (COPPA): MyHealth no ofrece cuentas a menores ni recopila datos directamente de niños; cualquier dato de menor es insertado y controlado por un adulto responsable, que ejerce el consentimiento parental verificable.
Verificación de edad (Ley 15.211/2025 — ECA Digital, en vigor desde el 17/03/2026). Hoy, la verificación de edad se hace por autodeclaración, con la atestación registrada en la aceptación (age_attestation, inmutable, con fecha/hora del servidor); mecanismos reforzados de verificación de edad están en evaluación para atender plenamente el "mecanismo efectivo de verificación de edad" exigido por el ECA Digital.
9. Notificación de nuevos subprocesadores y derecho de objeción
- Due diligence previa y DPA con obligaciones equivalentes (mínimo: no-entrenamiento; salvaguardas de transferencia internacional — cláusulas contractuales estándar / SCC y mecanismo equivalente bajo la LGPD; límites contractuales de retención cuando sea aplicable).
- Aviso previo con ventana de objeción de 30 días antes de que el nuevo subprocesador trate datos, salvo urgencia de seguridad/continuidad.
- Derecho de objeción ante el Encargado (privacy@bas-ai.com); donde la finalidad depende de consentimiento (
ai_processing,intl_transfer,family_sharing,wearable_sync_*), el nuevo tratamiento no ocurre sin el consentimiento registrado.
10. Historial de versiones
| Versión | Fecha | Cambio |
| 1.5 | 2026-06-11 | Publicación: eliminados todos los marcadores de revisión (texto 100% publicable); URLs públicas completadas (subprocesadores e historial de versiones en www.bas-ai.com/myhealth/legal); eliminación corregida (inmediata, sin recibo automático — confirmación vía DPO); redacción de PII on-device registrada. |
|---|---|---|
| 1.0 | — (versión archivada; ver historial publicado) | Publicación inicial. Subprocesadores activos: Supabase (BR, sa-east-1) y Anthropic (IA). Apple como plataforma/encargado (App Store, Sign in with Apple, push, HealthKit futuro). RevenueCat entonces previsto (no activo) — posteriormente descartado en la 1.3. |
| 1.1 | 2026-06-10 | Integraciones de dispositivos vestibles: nuevas categorías de PHI (sueño, métricas continuas, puntajes propietarios, eventos de dispositivo, med_intakes, check-in, ciclo menstrual próximamente) y categoría CONEX; Apple HealthKit implementado (lectura local); Oura Health Oy y WHOOP, Inc. como fuentes/originadores (Sección 3.5); actividades ROPA 11–13; finalidades wearable_sync_* (LGPD Art. 11 + GDPR Art. 9); agregados de dispositivo vestible en el contexto de la IA; purga al desconectar (WHOOP obligatorio). |
| 1.3 | 2026-06-11 | Corrección de hecho y sincronización con el código en producción: Anthropic = infraestructura en los EE. UU. (transferencia internacional), con retención limitada (~30 días) — eliminada cualquier alegación de "retención cero/ZDR" y de "BAA"; honestidad sobre lo que la IA recibe (contenido identificable por sexo+edad en el análisis; imagen/PDF bruta en la extracción; conversaciones del chat; sin desidentificación en el dispositivo); ciclo menstrual y hábitos de vida ya en producción y enviados a la IA; eventos de dispositivo solo como clasificación (ECG sin trazado bruto); RevenueCat eliminado (no utilizado) y sustituido por In-App Purchase nativo con Apple como merchant of record; nuevo subprocesador Resend (correo transaccional); chat asistente como actividad propia (conversaciones persistidas); menores multi-guardián con cobro al responsable ejecutor y verificación de autorización en el servidor; age_attestation y edad fija 18 (titularidad ≠ consentimiento digital GDPR Art. 8); alcance de eliminación/portabilidad ampliado (lifestyle_facts, conversaciones, ai_usage/créditos, IAP); eliminada la alegación de crypto-shredding; nota de seguridad (no exponer ref/anon JWT); responsable/DPO actualizados. DPA/SCC/TIA señalados como a firmar/documentar. |
| 1.4 | 2026-06-11 | Plazos de retención concretos en la ROPA (sincronizados con la Política): logs de acceso — piso de 6 meses (Marco Civil, Ley 12.965/2014, art. 15), metadato sin contenido clínico; comprobantes fiscales/facturación — 5 años (CTN, arts. 173 y 174); telemetría — ~12 meses por autolimitación de minimización (LGPD art. 6º, III), política interna, no plazo legal; registrada con honestidad (no como rutina vigente) la ausencia de purga automática por inactividad (GDPR Art. 5(1)(e)). Base legal decidida: núcleo clínico = consentimiento primario (LGPD Art. 11, II "a" / GDPR Art. 9(2)(a)); base subsidiaria para seguridad, obligación legal y eliminación = LGPD Art. 7, II y Art. 10 / GDPR Art. 6(1)(c) y (f); rechazada la tutela de la salud (LGPD Art. 11, II "f" / GDPR Art. 9(2)(h)) por no haber médico en el circuito (GDPR Art. 9(3)). |
| 1.5 | 2026-06-12 | Catálogo canónico de marcadores (LOINC®/UCUM): registrado el diccionario de referencia embarcado que reconoce el mismo examen bajo nomenclaturas diferentes como un único parámetro — contenido licenciado, NO subprocesador (Regenstrief no recibe dato personal); atribución cumplida en la Política de Privacidad §6.4 y en la pantalla de avisos de la app (Sección 3.6). Sin nuevo dato personal recopilado ni nueva transferencia internacional → no dispara re-consentimiento. |
| 1.6 | 2026-06-14 | Alineamiento de hecho (salud reproductiva y contexto de la IA) — sin nueva cadena de subprocesadores y sin nueva transferencia internacional: (a) hecho explícito que la prueba de embarazo de HealthKit se graba en cycle_entries (actividad ROPA 6, ya existente — lectura local en el iPhone, Apple no es subprocesadora de ese flujo); (b) registrados como datos autodeclarados opt-in en lifestyle_facts (NO importados de HealthKit) el estado de menopausia y los años de tabaquismo (smoking_years), que componen el contexto de la IA bajo ai_processing ya consentido; (c) confirmado que país (country_code) y observaciones autorreportadas de la tarjeta de emergencia (emergency_info.notes) pasan a componer el contexto enviado a Anthropic (actividad ROPA 3, flujo ya existente — el country_code se usa para regionalizar la orientación educativa de emergencia/crisis y contextualizar la lectura; ver glosario LOC y Sección 3.2): ningún subprocesador nuevo, ningún destino nuevo — el mismo régimen ai_processing/intl_transfer ya declarado. Reconfirmada la retención del dato reproductivo (regla general PHI; eliminación en cascada; ~30 días transitorio en Anthropic). No dispara re-consentimiento (categorías y flujos ya consentidos; es una descripción más precisa, no un nuevo tratamiento — policy_version permanece 1.6). Riesgo reproductivo post-Dobbs incorporado al DPIA (R-19). |
| 1.7 | 2026-06-17 | DPA/SCC de Anthropic y Resend descritos como en vigor (antes "a firmar"); eliminación de salvedades de borrador; correcciones de traducción; + creadas las versiones EN/ES. |
El historial de versiones queda publicado en https://www.bas-ai.com/myhealth/legal/versoes; cada versión aceptada permanece archivada.
Nota de no-diagnóstico. MyHealth organiza su historial de salud y ofrece una lectura educativa y prudente. No es un dispositivo médico, no realiza diagnósticos y no sustituye la evaluación de un profesional de salud. En caso de emergencia, busque atención médica inmediatamente.