MyHealth — Lista de Subencargados y Registro de las Actividades de Tratamiento (ROPA)
Responsable del tratamiento (LGPD Art. 5, VI / RGPD "controller"): BAS AI — BAS ARTIFICIAL INTELLIGENCE LTDA CNPJ (identificación de empresa de Brasil): 64.106.409/0001-70 Sitio web: www.bas-ai.com Delegado de Protección de Datos (DPD/DPO) (LGPD Art. 5, VIII): Guilherme Bastian — dpo@bas-ai.com Producto: MyHealth — app iOS de historial personal de salud con lectura educativa por IA (pt/en/es). Versión de este documento: 2.8 — 2026-07-18
Naturaleza del producto. MyHealth organiza tu historial de salud y ofrece una lectura educativa y prudente. No es un producto sanitario, no diagnostica y no prescribe. Toda observación de la IA se marca como "(a confirmar)" y debe validarse con tu médico. La IA no verifica interacciones medicamentosas, no verifica contraindicaciones y no cruza alergias con medicamentos.
Distribución. MyHealth se distribuye en la App Store a escala mundial, excepto en la Unión Europea/EEE y el Reino Unido en el lanzamiento. Aun así, las protecciones de nivel RGPD/RU se adoptan como base global aplicada a todos los titulares (denominador común más estricto).
Vigencia. Este registro está en vigor a partir del 2026-06-23. Los contratos de tratamiento (DPA/SCC) referidos más adelante están firmados y en vigor (ver Sección 3). La versión pública de esta lista está en https://www.bas-ai.com/myhealth/legal/subprocessadores; el historial de versiones se publica 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 Subencargados (Sección 3): todos los terceros que tratan datos personales por cuenta de BAS AI, con rol, datos tratados, finalidad, ubicación/transferencia internacional y salvaguardas.
- Parte B — Registro de las Actividades de Tratamiento (ROPA, Secciones 4 a 7): el inventario de las actividades de tratamiento (estilo RGPD Art. 30 / LGPD Art. 37), la matriz finalidad → base jurídica → conservación, la política de conservación y supresión, y el procedimiento de supresió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 / RGPD Art. 28), tratando datos exclusivamente bajo las instrucciones de BAS AI. Son solo tres: Supabase, Anthropic y Resend. Las plataformas y fuentes que actúan como responsables independientes (Apple, Oura, WHOOP) no son subencargados y se describen en la Sección 3.5.
1.1 Principios que rigen la cadena de subencargados
- Minimización. Cada subencargado recibe solo el mínimo de datos necesario para su función.
- Separación entre identidad y datos clínicos. Los identificadores directos (PII) se cifran en una bóveda (
identity_vault), apartados de las tablas clínicas, que referencian al titular solo por un identificador seudónimo (profile_id). El cifrado es cifrado de campo autenticado (AEAD) determinista vía pgsodium (AES-256), aplicado a nombre, correo de contacto, teléfono y documento nacional. - Ocultación (tarja) en el dispositivo antes de la IA (best-effort, no es anonimización). Antes de enviar un documento a la IA, la app aplica — en el propio dispositivo — una ocultación dirigida a los cuatro identificadores directos del titular (nombre, documento nacional, correo y teléfono), y es la copia ocultada la que va a la IA. Esa ocultación es best-effort y no es una anonimización: cuando la ocultación se ejecuta y ningún identificador coincide, o cuando la bóveda de identidad está vacía, el documento original puede seguir; además, un informe puede contener otros identificadores impresos que la ocultación no cubre. Por ello recomendamos no introducir información identificativa en campos de texto libre.
- Sin entrenamiento. El proveedor de IA tiene prohibido contractualmente usar los datos para entrenar o mejorar modelos.
- Sin venta de datos. Ningún dato personal se vende a terceros.
- Cadena controlada. Ningún subencargado puede contratar a un nuevo subencargado para tratar tus 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 siguientes:
| Sigla | Categoría | Ejemplos |
|---|---|---|
| PII | Identificación directa (cifrada AEAD/AES-256 en identity_vault) | Nombre/apodo, correo de contacto, teléfono, documento nacional |
| PHI | Datos de salud / sensibles | Exámenes y marcadores; condiciones/sistemas; medicaciones; alergias; vacunas; consultas; signos vitales y composición corporal (peso, grasa, glucemia, presión, FC — glucosa de monitor continuo/CGM: solo agregados diarios — media/mín/máx/CV/% del día dentro del rango 70–180 del estándar de visualización AGP; las lecturas continuas brutas nunca se almacenan); síntomas y quejas; actividad física (incl. entrenos de wearable); sueño (sesiones y fases — sleep_sessions); métricas continuas de wearable (FC en reposo, HRV, VO2max, pasos, energía, temperatura cutánea); scores propietarios de proveedores de wearable (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 en bruto; 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, test de ovulación, moco cervical — 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 del 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; antecedentes familiares; equipo de cuidados; anotaciones de wearable en texto libre (Oura enhanced tags — tipo, nombre personalizado y comentario — wearable_annotations, migración 0330: lectura solo-titular, fuera del intercambio familiar, nunca enviadas a la IA, eliminadas incondicionalmente al desconectar el proveedor) |
| SUP | Comunicaciones de soporte | Mensajes de texto libre que envías al soporte en la app + respuestas del agente (support_tickets/support_ticket_messages); pueden contener datos de salud; guardados en Supabase |
| DEMO | Perfil clínico-demográfico seudónimo | Sexo biológico; edad; año de nacimiento (sin día/mes) (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, número de cuenta público (account_ref) — identificador seudónimo generado por nosotros, 8 dígitos, no secuencial, correo/identificador de Sign in with Apple, tokens de sesión, factor MFA (TOTP), eventos de consentimiento versionados |
| TÉC | Metadatos técnicos y de uso | Registros de acceso (metadato, sin contenido clínico), datos de uso desidentificados, telemetría de fallos/rendimiento |
| PAGO | 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 wearables | Conexiones OAuth (wearable_connections: estado, scopes, tokens de acceso/refresh cifrados AES-256-GCM en servidor, 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 Subencargados
3.1 Supabase — infraestructura, base de datos, almacenamiento y autenticación
| Campo | Detalle |
|---|---|
| Subencargado | Supabase, Inc. |
| 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 edge. Da soporte a la finalidad 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 (AEAD determinista vía pgsodium, AES-256) en el identity_vault; DEMO; LOC; CUENTA (incl. factor MFA/TOTP y consent_events); SUP (comunicaciones de soporte — support_tickets/support_ticket_messages —, que pueden contener datos de salud); TÉC (registros 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 (descifrado solo vía función segura, bajo la identidad del propio usuario). |
| Ubicación / transferencia internacional | Región sa-east-1 (São Paulo, Brasil) — residencia de datos en Brasil. Tratamientos administrativos auxiliares (p. ej. soporte) pueden implicar acceso desde otras jurisdicciones por el personal del subencargado, bajo las salvaguardas siguientes. 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 firmado el 2026-06-18, con cláusulas contractuales tipo (SCC) de la UE y salvaguardas equivalentes para eventuales transferencias, y mecanismo equivalente bajo la LGPD; cifrado en tránsito (TLS 1.3, con certificate pinning en la app) y en reposo; cifrado adicional de campo (pgsodium AEAD/AES-256) bajo nuestra gestión de claves; aislamiento por Row-Level Security (RLS) por verbo; traza 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 |
|---|---|
| Subencargado | Anthropic, PBC |
| Rol | Encargado/subencargado (procesamiento por IA) |
| Finalidad | Procesar, vía la API de 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); (c) responder al chat asistente educativo; y (d) generar la biblioteca educativa genérica/poblacional (marker_education) — en esa generación Anthropic recibe solo la coordenada abstracta del tema (nombre del marcador/medición/condición del catálogo + categorías genéricas de dirección/rango/grupo poblacional), nunca un valor, resultado, fecha ni identificador del titular. Se mapea a la finalidad ai_processing y, al salir de Brasil hacia EE. UU., intl_transfer. La búsqueda web existe solo en el chat asistente: el modelo está instruido para usar solo términos clínicos genéricos, sin valores, fechas, edad, nombres ni identificadores del usuario — protección por instrucción al modelo, no por filtro técnico infalible; la búsqueda la ejecuta la infraestructura de Anthropic. Las funciones de análisis del historial y de extracción de documentos no hacen búsqueda web. |
| Datos tratados | Contenido clínico (PHI) del propio usuario, enviado previo consentimiento de procesamiento por IA. Anthropic recibe: la copia OCULTADA de la imagen/PDF del documento (no la PII directa — ver 1.1); sexo + edad + país (country_code) y el año de nacimiento (sin día/mes); y el contenido clínico del historial en el análisis longitudinal (marcadores y tendencias de exámenes, medidas y composición corporal, medicaciones, vacunas, alergias, síntomas, consultas y anotaciones, antecedentes familiares, el equipo de cuidado (nombre del profesional + especialidad y, si se indican, institución y motivo — nunca teléfono/correo/dirección ni el número de registro profesional), actividad física, sueño y scores de wearable, eventos de dispositivo — clasificación de ECG, ritmo irregular, caída, nunca el trazado en bruto —, ciclo menstrual y datos reproductivos, hábitos de vida autodeclarados — tabaquismo (incl. años de tabaquismo)/alcohol/actividad/sueño/estado de menopausia — y grupo sanguíneo). Las conversaciones del chat (preguntas y respuestas) también transitan. Anthropic NO recibe: los identificadores directos (nombre, documento, correo, teléfono — cifrados en el identity_vault), los contactos de la tarjeta de emergencia, datos de cuenta ni tokens de conexión (CONEX). Salvedad de la ocultación: la ocultación es best-effort; cuando se ejecuta y nada coincide, o la bóveda está vacía, el documento original puede seguir, y un informe puede contener otros identificadores impresos. Cuando hay una fuente de wearable conectada (Sección 3.5), los datos entran como agregados en el contexto del análisis longitudinal (tendencias de sueño, FC en reposo, HRV siempre con el método SDNN/rMSSD, pasos, energía y scores del proveedor etiquetados por marca, sin recálculo); no se envían series brutas continuas (agregación en servidor, límite de 90 puntos por métrica). En la glucosa de monitor continuo (CGM), la propia base de datos guarda solo agregados diarios (media/mín/máx/CV/% dentro del rango 70–180) — no existen lecturas continuas brutas que enviar. Las anotaciones de wearable en texto libre (wearable_annotations) NO se envían (exclusión fail-closed — ningún constructor de contexto lee la tabla; ver la nota abajo). Soporte asistido por IA (borrador + traducción): cuando un operador activa la IA para redactar o traducir la respuesta de soporte, Anthropic recibe, de forma transitoria, el TEXTO de la conversación de soporte (que puede contener datos de salud), minimizado por eliminación best-effort de identificadores (no es anonimización) — NUNCA el historial clínico —, constituyendo una transferencia internacional (EE. UU.), siempre con revisión humana. Para el titular con sesión iniciada, condicionada a su consentimiento PROPIO y desagrupado support_ai_share + intl_transfer (Perfil › Privacidad, desactivado por defecto); para un remitente externo sin cuenta (correo), al consentimiento-primero del propio remitente (procesar + transferir a Anthropic/EE. UU.), capturado antes de cualquier IA. Tratamiento transitorio; conservación limitada por el subencargado (ver Salvaguardas). Estado de embarazo autodeclarado (enum de trimestre): cuando la titular ADULTA mantiene la función activa y ella misma dispara un análisis o el chat, Anthropic recibe, de forma transitoria, solo el trimestre (nunca FUM/FPP), bajo el consentimiento PROPIO y desagrupado pregnancy-state-1.0 (que cubre la transferencia internacional) — on-device (Keychain), nunca almacenado por nosotros, nunca en lifestyle_facts ni sincronizado, y ausente de los análisis automáticos/proactivos y de la vía batch de historial grande (ver Política §6.10 y §9). |
| Ubicación / transferencia internacional | Procesamiento vía la 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, bajo las salvaguardas contractuales siguientes. |
| Salvaguardas | Tratamiento regido por los Commercial Terms de Anthropic (en vigor desde el 2026-06-17), con cláusulas contractuales tipo (SCC) para la transferencia internacional y mecanismo equivalente bajo la LGPD; cláusula de NO ENTRENAMIENTO (entradas y salidas no se usan para entrenar ni mejorar modelos — compromiso contractual); conservación limitada por el subencargado (por regla, supresión en hasta ~30 días, salvo conservación exigida por ley o para prevención de abuso); transmisión bajo TLS 1.3 con certificate pinning de api.anthropic.com; validación estricta del payload; salvaguardas anti-inyección (cerco de instrucción); sin cuerpo clínico en los logs de nuestras Edge Functions. |
Diario de salud sensible — NO va a Anthropic. Los registros diarios de hábitos sensibles (dosis de alcohol, contexto de estrés/alcohol de la noche — finalidad opt-indaily_journal) NO se comparten con Anthropic. Permanecen almacenados en la base de datos (Supabase, cifrados en reposo) y fuera del contexto de análisis (allow-list de kinds enanalysis_core/wearable_context). Un eventual envío a la IA exigiría un consentimiento de IA separado y explícito del titular, inexistente en esta versión.
**Anotaciones de wearable (Oura enhanced tags) — NO van a Anthropic. Las anotaciones de texto libre que el titular registra en la app de Oura (tipo, nombre personalizado, comentario — wearable_annotations, migración 0330) NO se comparten con Anthropic (exclusión fail-closed: ningún constructor de contexto/herramienta lee la tabla — la misma regla que el Diario de salud sensible). Son de lectura solo-titular (RLS; quedan fuera del intercambio familiar de solo lectura), su contenido nunca se registra en logs, y se eliminan incondicionalmente al desconectar el proveedor (regla más estricta que la purga opcional de las demás tablas de Oura). Un eventual envío a la IA exigiría un consentimiento separado y explícito del titular, inexistente en esta versión**.
3.3 Resend — envío de correos transaccionales
| Campo | Detalle |
|---|---|
| Subencargado | Resend |
| Rol | Encargado/subencargado (proveedor de correo transaccional) |
| Finalidad | Entregar los correos transaccionales de la cuenta: código de acceso/OTP de autenticación y avisos operativos de la cuenta. No participa en ningún flujo clínico o de IA. |
| Datos tratados | Solo el correo 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. Apple Private Email Relay: quien oculta su correo en Sign in with Apple recibe los mensajes vía una dirección @privaterelay.appleid.com; Resend recibe únicamente esa dirección-relay + el contenido del correo — ningún dato nuevo. |
| Ubicación / transferencia internacional | EE. UU. / global. Transferencia internacional. |
| Salvaguardas | DPA en vigor (2026-06-17), con base de transferencia por el Marco de Privacidad de Datos UE-EE. UU. (DPF) + cláusulas contractuales tipo (SCC) y mecanismo equivalente bajo la LGPD; cláusula de no entrenamiento/no uso secundario; minimización (no se comparte ningún dato de salud); TLS en tránsito. |
RevenueCat NO se utiliza. La monetización de MyHealth funciona por In-App Purchase nativo (StoreKit) — suscripción y paquetes adicionales (páginas/prompts) —, con Apple como responsable de la transacción (merchant of record; ver 3.5). No hay intermediario de suscripciones de terceros.
3.4 Lo que NO es subencargado
- Lo que ocurre en el iPhone. La lectura de HealthKit y la caché en el dispositivo no implican a terceros. La ocultación de los identificadores del titular ocurre localmente, antes del envío a la IA (best-effort — ver 1.1 y 3.2). No hay OCR local ni anonimización en el dispositivo.
- Plataforma y fuentes que son responsables independientes. Apple (plataforma/IAP/Sign in with Apple/HealthKit) y los proveedores de wearable Oura y WHOOP actúan como responsables independientes de sus propias plataformas — no como encargados de BAS AI (ver Sección 3.5).
- Sin SDK de rastreo de terceros. La app no integra ningún SDK de publicidad/rastreo que vea datos de salud. Hoy no usamos ninguna herramienta de analítica o rastreo de terceros; si esto 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 integra un diccionario de referencia derivado de LOINC® (Regenstrief Institute, Inc.) y UCUM. Es contenido licenciado integrado — funciona localmente como una tabla de consulta. Regenstrief Institute no recibe ningún dato personal/clínico del titular, no trata datos por cuenta de BAS AI y no es subencargado; 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 cadena de tratamiento de datos. La LOINC License es gratuita incluso para uso comercial y exige atribución visible y seguimiento de las actualizaciones (~2x/año).
3.5 Plataforma y fuentes de datos — Apple, Oura y WHOOP (responsables independientes; NO son subencargados)
Estas entidades no tratan datos por cuenta de BAS AI: cada una es responsable independiente de su propia plataforma. Apple es la plataforma de distribución, autenticación opcional, push y pago; Oura y WHOOP son fuentes de datos/originadores conectadas por el propio titular. El flujo de wearable es solo de entrada (del proveedor al historial del usuario), mediante conexión OAuth autorizada por el titular y consentimiento específico por fuente (wearable_sync_oura / wearable_sync_whoop, base doble LGPD Art. 11, I + RGPD Art. 9(2)(a), revocable). El proveedor no recibe datos del historial.
Apple Inc. — plataforma de distribución y servicios de SO, responsable de la transacción (merchant of record) de las compras de suscripción y paquetes adicionales vía In-App Purchase nativo (StoreKit), proveedor de Sign in with Apple (cuando se elige) y de notificaciones push. El acceso de lectura a Apple Health (HealthKit) es opcional y ocurre localmente, en el dispositivo (consentimiento wearable_sync_apple_health) — Apple no participa en el tránsito de esos datos a nuestro backend y no recibe la base clínica de MyHealth. En el pago, BAS AI no recibe ni almacena datos de tarjeta. Cumplimiento de la Apple Guideline 5.1.3 (datos de salud nunca usados para marketing, compartición con terceros o entrenamiento de IA) y de las Directrices 3.1.1/3.1.2 (compras digitales). Ubicación: EE. UU. / infraestructura global de Apple, bajo el Apple Developer Program License Agreement.
| Campo | Oura | WHOOP |
|---|---|---|
| Entidad | Oura Health Oy (Finlandia / EEE) — responsable independiente; integración bajo los términos de API de Oura | WHOOP, Inc. (EE. UU.) — responsable independiente; integración bajo los Developer Terms de WHOOP |
| Rol | Fuente de datos conectada por el titular | Fuente de datos conectada por el titular |
| Datos recopilados (según scopes autorizados) | Sueño (sesiones/fases), scores diarios (readiness, sleep, activity, stress, resilience), métricas (FC en reposo, HRV rMSSD, temperatura, SpO2, VO2max), actividad diaria, entrenos, anotaciones del usuario (enhanced tags: tipo, nombre personalizado y comentario en texto libre — requiere el alcance OAuth tag; las conexiones antiguas exigen reconexión) | Sueño (sesiones/fases), scores diarios (recovery, strain), métricas (FC en reposo, HRV rMSSD, SpO2, temperatura cutánea), entrenos |
| Datos de conexión (CONEX) | Tokens OAuth cifrados (AES-256-GCM) solo en el servidor; la app nunca ve tokens; eliminados al desconectar | Ídem |
| Ubicació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 conservar o borrar los datos ya importados; excepción: las anotaciones de texto libre (wearable_annotations) se eliminan SIEMPRE al desconectar | 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 conservar) |
| Salvaguardas / contratos | Términos de API de Oura (caché de 60 días y base de transferencia evaluados); atribución de marca obligatoria; scores nunca recalculados/combinados | WHOOP Developer Terms (exigen Privacy Policy URL y cumplimiento de brand guidelines); atribución de marca; prohibición de derivar scores |
Apple Health (HealthKit) no figura en la tabla de wearables con tráfico de red porque la lectura es local, en el dispositivo — no hay tráfico de datos entre Apple y el backend de BAS AI.
4. Parte B — Registro de las Actividades de Tratamiento (ROPA)
Inventario de las actividades de tratamiento (RGPD Art. 30 / LGPD Art. 37). Los consentimientos por finalidad se guardan 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 / subencargados | Transferencia internacional |
|---|---|---|---|---|---|
| 1 | Registro, autenticación y seguridad de la cuenta (MFA TOTP) | CUENTA, PII (cifrada) | Usuarios adultos; tutores legales | Supabase; Resend (correo/OTP); Apple (Sign in with Apple — responsable independiente) | No (BR), salvo Resend y Sign in with Apple (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 wearable, ciclo, hábitos y eventos de dispositivo en el contexto del análisis longitudinal — ver 3.2) | PHI (contenido del propio usuario, con sexo+edad+país+año de nacimiento); copia ocultada del documento/imagen 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 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 | Compartición familiar (opt-in, solo lectura) | PHI, DEMO | Titular y familiar vinculado | Supabase | No (BR) |
| 6 | Sincronización Apple Health (HealthKit) — opcional, lectura local en el dispositivo, continua (background delivery) | PHI (medidas, métricas continuas, sueño, entrenos, 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 wearables, 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 paquetes adicionales (In-App Purchase nativo / StoreKit); telemetría de uso y facturación de IA (ai_usage, credit_ledger) | CUENTA, PAGO, TÉC (sin PHI en el flujo de pago) | Suscriptores; tutores (facturación de menor) | Apple (merchant of record — responsable independiente); Supabase | Sí — Apple (EE. UU./global); persistencia BR |
| 9 | A la espera de cuota/uso disponible — guarda de un documento ya ocultado sin análisis hasta que haya cuota o paquete disponible, con análisis automático cuando el uso disponible lo permita | PHI (copia ocultada del documento, en reposo) | Titulares y dependientes | Supabase | No (BR) — el análisis por IA (actividad 3) solo ocurre cuando se dispara |
| 10 | Seguridad, auditoría y prevención de abuso | TÉC (metadato de acceso, sin PHI) | Todos los usuarios | Supabase | No (BR) |
| 11 | 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 |
| 12 | Gestión de consentimientos versionados (registro desvinculado/seudonimizado — ver 6.7) | CUENTA (consent_events) | Todos los usuarios | Supabase | No (BR) |
| 13 | 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) |
| 14 | Sincronización Oura — conexión OAuth, recopilación vía API y webhook (sueño sleep_sessions, scores daily_scores, métricas, entrenos, anotaciones del usuario wearable_annotations — texto libre; solo-titular; nunca a la IA; eliminadas al desconectar) | PHI (wearable), CONEX | Titulares | Oura Health Oy (fuente/responsable independiente — ver 3.5); Supabase | Sí — recopilación desde Finlandia/EEE → BR |
| 15 | Sincronización WHOOP — conexión OAuth, recopilación vía API y webhook (sueño, recovery/strain, métricas, entrenos) | PHI (wearable), CONEX | Titulares | WHOOP, Inc. (fuente/responsable independiente — ver 3.5); Supabase | Sí — recopilación desde EE. UU. → BR |
| 16 | Gestión de conexiones de wearables (tokens cifrados, estado OAuth, revocación y purga al desconectar) | CONEX | Titulares | Supabase (acceso restringido a service_role; la app nunca lee tokens) | No (BR) |
| 17 | Atención al usuario (canal de soporte en la app) — apertura e intercambio de mensajes de soporte; borrador/traducción de respuesta asistidos por IA bajo consentimiento | SUP (pueden contener PHI), CUENTA | Titulares y dependientes | Supabase (almacenamiento); en el borrador asistido por IA, Anthropic (Claude) | No (BR) en el almacenamiento; Sí — EE. UU. en el borrador asistido por IA (titular: consentimiento support_ai_share/intl_transfer; remitente externo: consentimiento-primero propio) |
| 18 | Diario de salud sensible — recopilación de registros diarios (alcohol/estrés), fechados en body_measurements; opt-in daily_journal (default OFF, bloqueo server-side por trigger, indisponible para menores) | PHI sensible autodeclarado (sustancia / salud mental) | Titulares (no menores) | Supabase (persistencia) | No — no transmitido a la IA en esta versión |
| 19 | Índice forense post-eliminación (account_forensic_hold, migración 0308, aplicada 2026-07-17) — en el acto de la eliminación, retención minimizada que sobrevive al borrado, para prevención de fraude, ejercicio/defensa de derechos y respuesta a autoridad competente ("qué cuentas ligadas a este correo/Apple ID/IP") | Como máximo: (a)+(b) identificadores de búsqueda en HMAC (correo, Apple sub, teléfono, documento nacional) + IPs recientes en texto; (c) el identificador seudónimo de la cuenta (account_ref) y metadatos mínimos de guarda (account_id, fechas de creación/eliminación, jurisdicción, plazo). SIN PHI, sin nombre/correo legible (dato SEUDONIMIZADO — LGPD Art. 12/13) | Todos los usuarios (incl. menores — gate DPD; para el menor, plazo REDUCIDO y proporcional) | Supabase (tabla blindada: RLS sin políticas, sin grant a admin_ops; acceso solo vía RPCs owner-gated auditadas) | No (BR); entrega puntual a autoridad competente cuando se exija |
| 20 | Recordatorios educativos de cribado poblacional — tarjetas dentro de la app (nunca una notificación) que sugieren conversar con el médico sobre cribados que las guías poblacionales suelen indicar para la franja de edad; disparados exclusivamente por edad + sexo al nacer del perfil (datos ya recopilados); supresión por calendario sin leer el contenido de informes; motor determinístico, 100% en el dispositivo; solo-titular adulto; descartable y desactivable | DEMO (fecha de nacimiento + sexo al nacer, ya recopilados) | Titulares adultos (solo-titular; nunca dependientes/perfiles gestionados) | Ninguno — procesamiento en el dispositivo (nada nuevo va a un servidor ni a la IA) | No |
5. Matriz Finalidad → Base Jurídica → Conservación
| Finalidad | Base jurídica LGPD | Base jurídica RGPD | Conservació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 exista la cuenta; suprimido a petición (Sección 7) |
Diario de salud sensible (daily_journal) — recopilación de registros diarios sensibles (alcohol/estrés); opt-in, default OFF, bloqueo server-side, indisponible para menores; no va a la IA | 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) | Guardado en el historial mientras existan el consentimiento y la cuenta; suprimido en la revocación; eliminado con la supresión de la cuenta (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 conservación limitada por el subencargado (por regla, supresión en hasta ~30 días); resultado guardado en el historial mientras exista la cuenta; conversaciones del chat persistidas hasta su supresió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; conservación limitada en destino (~30 días), según los términos de Anthropic; transferencia bajo SCC |
Compartición familiar (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 caduca en 7 días |
Sincronización de wearables (wearable_sync_apple_health / wearable_sync_oura / wearable_sync_whoop) — consentimiento específico por fuente, registrado 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 exista la cuenta); las series diarias brutas de métricas de wearable pueden ser condensadas después de 13 meses en resúmenes semanales (mín/media/máx/conteo) y, después de 36 meses, en mensuales — minimización (LGPD art. 6, III; RGPD art. 5(1)(c)/(e)); las mediciones manuales y clínicas nunca se condensan. Al desconectar: tokens/conexión (CONEX) siempre eliminados; WHOOP — purga obligatoria de los datos importados (exigencia contractual del proveedor); Oura/HealthKit — el titular elige conservar (bajo consentimiento activo) o borrar; anotaciones de texto libre (Oura): eliminadas SIEMPRE al desconectar |
| Recordatorios educativos de cribado poblacional — tarjetas in-app por edad/sexo (motor determinístico en el dispositivo; nunca push; solo-titular adulto; descartable/desactivable) | Art. 7, V (ejecución del contrato) + Art. 11, I (uso del dato sensible ya recopilado — sexo al nacer — bajo el consentimiento clínico) | Art. 6(1)(b) + Art. 9(2)(a) | No se recopila ni se retiene ningún dato nuevo — reglas fijas aplicadas en el dispositivo sobre datos del perfil ya existentes; el tratamiento cesa al desactivar la superficie de recordatorios |
| Datos de menores bajo tutela | Art. 14 (mejor interés; consentimiento del tutor) | Art. 6(1)(a)/Art. 8 + Art. 9(2)(a), ejercido por el tutor | Mientras exista la cuenta del tutor; suprimido a petición. La identidad del menor se SUPRIME en el acto de la supresión (no hay vía fiscal de identidad para menores) |
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 exista la cuenta (prueba de cumplimiento) |
| Cuenta, suscripción y paquetes adicionales (In-App Purchase) — mantener la cuenta y procesar la suscripción y los paquetes adicionales de uso de IA (por regla, 1 página de cuota por página de documento); el consumo de IA de un menor se factura al tutor | 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. Los comprobantes fiscales/de facturación y la identidad mínima de quien transaccionó se conservan por el plazo fiscal de la jurisdicción incluso tras la supresión de la cuenta — 5 años (Brasil, EE. UU. y demás), 6 años (Reino Unido, Canadá), 10 años (UE) — ver Sección 6 (doble vía) |
Atención / Soporte (support) — atender solicitudes del usuario en el canal de soporte de la app; borrador de respuesta asistido por IA bajo consentimiento | Art. 7, V (ejecución de contrato) + Art. 11, I (consentimiento específico, cuando el mensaje incluye datos de salud) | Art. 6(1)(b) + Art. 9(2)(a) (cuando incluye datos de salud) | Mientras exista la cuenta; suprimido al borrar la cuenta (support_tickets/support_ticket_messages) |
| 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) | Registros de acceso (fecha/hora + IP + user-agent en los accesos síncronos, metadato sin contenido clínico): 6 meses (Marco Civil de Internet, Ley 12.965/2014, art. 15 — piso legal de guarda). Ese piso se refiere a registros de acceso, que no son datos de salud y no justifican conservar contenido del historial |
Índice forense post-eliminación (account_forensic_hold) — prevención de fraude + ejercicio/defensa de derechos + respuesta a autoridad competente tras la eliminación (identificadores de búsqueda en HMAC + IPs; sin PHI) | Art. 16, I (obligación legal — atender a la autoridad) + Art. 7, VI (defensa de derechos en proceso) + Art. 7, IX (interés legítimo — prevención de fraude, uso secundario bajo LIA) | Art. 6(1)(f) (interés legítimo) + Art. 17(3)(e) (excepción al borrado — defensa de derechos) | Plazo prescriptivo aplicable (ejercicio/defensa de derechos + respuesta a autoridad), fijado por defecto en la misma duración que el plazo de guarda fiscal por proporcionalidad — 5 años Brasil/EE. UU./demás; 6 años Reino Unido/Canadá; 10 años UE —, con purga automática (purge_legal_retention). Menores: plazo REDUCIDO y proporcional a la prevención de fraude (nunca el fiscal), sujeto a evaluación de proporcionalidad + sign-off del DPD. Acceso break-glass owner, motivo obligatorio, auditoría inmutable (admin_audit) |
| 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 jurídica 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, compartición familiar y sincronización de wearables) es el consentimiento específico y destacado para dato sensible — LGPD Art. 11, I/II "a" / RGPD Art. 9(2)(a) — coherente con el posicionamiento de "historial soberano" y revocable en cualquier momento. Como base subsidiaria — limitada a la seguridad e integridad del tratamiento, al cumplimiento de una obligación legal y a la ejecución de la propia supresión de datos — se aplican LGPD Art. 7, II y Art. 10 / RGPD Art. 6(1)(c) y (f). NO se invoca la base de tutela de la salud (LGPD Art. 11, II "f" / RGPD Art. 9(2)(h)): el RGPD Art. 9(3) condiciona esa base a un tratamiento por un profesional sujeto a secreto en el flujo, y no hay médico en el bucle de MyHealth — el asistente nunca comunica diagnóstico, pronóstico ni decisión terapéutica.
HIPAA no aplica. MyHealth es un producto B2C bajo el control del propio titular; BAS AI no es covered entity ni business associate de HIPAA. Por ello no publicamos "BAA" ni "HIPAA compliant".
6. Política de Conservación y Supresión (doble vía)
- Regla general (vía clínica). Los datos del historial (PHI/DEMO, documentos, conversaciones de IA, wearables, rutina) se conservan mientras exista la cuenta y el titular quiera mantener el historial organizado; se suprimen al borrar la cuenta (Sección 7).
1-A. Condensación de series de wearable (minimización). Las series diarias brutas de métricas continuas de wearable (p. ej., SpO2, pasos, FC media al caminar — nunca mediciones manuales ni mediciones clínicas como peso, glucosa o presión) pueden ser condensadas después de 13 meses en rollups semanales (mínimo/media/máximo/conteo) y, después de 36 meses, en mensuales (migración 0231; parámetros en wearable_condense_config). El DELETE del dato bruto solo ocurre en la misma transacción del rollup persistido; la condensación nunca dispara un análisis de pago; la supresión de la cuenta borra también los rollups (cascada). Base: minimización/limitación de almacenamiento — LGPD art. 6, III; RGPD art. 5(1)(c)/(e).
- Doble vía de identidad. La identidad directa (nombre/correo, cifrada en el
identity_vault) se conserva solo para quien TRANSACCIONÓ (se suscribió o compró paquetes adicionales), por el plazo fiscal de la jurisdicción: 5 años (Brasil, EE. UU. y demás), 6 años (Reino Unido, Canadá), 10 años (UE). Para menores y para no pagadores, la identidad se SUPRIME en el acto de la supresión — no hay vía fiscal de identidad. - Comprobantes fiscales. Los comprobantes de facturación/fiscales (compra de suscripción y paquetes adicionales) siguen el mismo plazo fiscal de la jurisdicción anterior (Brasil: CTN, arts. 173 y 174), aunque la cuenta se borre antes.
- Registros de acceso. El
access_log(metadato de auditoría/seguridad — quién, cuándo, qué tabla, acción, IP de origen y el user-agent de la petición en los accesos síncronos orientados al usuario — edgesanalyze-exam/ai-assistant/access-ping, migración 0309; en los inserts asíncronos/cron el user-agent queda nulo por diseño) se guarda por 6 meses (Marco Civil de Internet, art. 15). Es metadato sin contenido clínico; ese plazo no justifica conservar contenido del historial.
4-A. Índice forense post-eliminación (account_forensic_hold, migración 0308, aplicada 2026-07-17). En el acto de la eliminación, y para toda cuenta (incl. menores — gate DPD), se guarda un índice minimizado que sobrevive al borrado, con como máximo: identificadores de búsqueda (correo, Apple sub, teléfono, documento nacional) en HMAC-SHA256 con pepper dedicado guardado en una bóveda (Vault), cifrado por una clave-raíz gestionada fuera de la base de datos, nunca expuesto (nunca texto legible) + IPs recientes en texto; y el identificador seudónimo de la cuenta (account_ref) con metadatos mínimos de guarda (account_id, fechas de creación/eliminación, jurisdicción, plazo). Sin PHI, sin nombre/correo legible. Los identificadores en HMAC son dato SEUDONIMIZADO — siguen siendo dato personal (LGPD Art. 12/13), retenidos bajo el Art. 16, I; no se invoca la anonimización (Art. 16, IV). Finalidad: prevención de fraude, ejercicio/defensa de derechos y respuesta a autoridad competente dentro del plazo de guarda. Plazo: plazo prescriptivo aplicable, fijado por defecto en la misma duración que el plazo de guarda fiscal (ítem 2) por proporcionalidad — no "plazo fiscal" —, con purga automática (purge_legal_retention); para menores, plazo REDUCIDO y proporcional a la prevención de fraude (nunca el fiscal, que no se aplica a un menor que no transacciona), sujeto a evaluación de proporcionalidad + sign-off del DPD. Tabla blindada (RLS sin políticas, sin grant a admin_ops); acceso solo vía RPCs SECURITY DEFINER owner-gated que auditan antes de resolver. Base (por finalidad): LGPD Art. 16, I (autoridad) + Art. 7, VI (defensa de derechos) + Art. 7, IX (fraude, bajo LIA); GDPR Art. 6(1)(f) + Art. 17(3)(e). (La guarda fiscal — GDPR Art. 6(1)(c)/Art. 17(3)(b) — es del account_legal_hold; el Marco Civil Art. 15 rige el access_log de 6 meses, no este índice.) Las cuentas eliminadas antes de la vigencia no tienen hold.
- Procesamiento por IA. El contenido enviado a Anthropic es transitorio; el subencargado lo conserva por un período limitado y luego lo suprime (por regla, en hasta ~30 días), salvo conservación exigida por ley o para prevención de abuso. El resultado incorporado al historial sigue la regla general; las conversaciones del chat asistente se guardan hasta que el titular las borre.
- Telemetría técnica. La telemetría de estabilidad/diagnóstico (sin PHI) se conserva por hasta ~12 meses, por autolimitación de minimización (LGPD art. 6, III) — política interna del Responsable, no plazo impuesto por ley.
- Inmutabilidad y desvinculación de los registros. El
access_loges append-only (UPDATE/DELETE bloqueados por trigger). Losconsent_eventsestán desvinculados/seudonimizados (clave HMAC mantenida fuera de la base de datos) — no "anónimos": preservan la prueba de cuándo se concedió/revocó el consentimiento sin reidentificar directamente al titular. 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. - Supresión a petición. La supresión se ejecuta a petición del titular (o del tutor legal, en el caso de menores), según el procedimiento de la Sección 7, en hasta 30 días.
7. Procedimiento de Supresión de Cuenta y de Datos
La supresión de cuenta está disponible en la propia app (exigencia de Apple) y también puede solicitarse al DPD (dpo@bas-ai.com).
- Solicitud. El titular (o tutor legal, en el caso de un dependiente menor) inicia la supresión en la app o por contacto con el DPD.
- Alcance. La supresión borra toda la PHI, los documentos/informes en el Storage, los vínculos de compartición familiar, los datos de wearables y rutina (
sleep_sessions,daily_scores,health_events,med_intakes, medidas conprovider/external_id), los hábitos de vida (lifestyle_facts), las conversaciones con el asistente de IA (chat_messages/conversations), las comunicaciones de soporte (support_tickets/support_ticket_messages), los registros de uso del Servicio de IA (ai_usage,credit_ledgery correlatos, salvo la conservación fiscal de comprobantes de compra), los datos de conexión de wearables (wearable_connections,oauth_states— tokens cifrados) y los datos de cuenta. Las tablas clínicas se borran en cascada desdeprofile_id(claves foráneason delete cascade). - Dependientes gestionados. La supresión de la cuenta también borra los datos de los dependientes gestionados (perfiles de menores) bajo esa cuenta. Antes de borrar a un menor, la app ofrece MIGRAR la tutela del menor a un co-tutor existente — en cuyo caso el perfil del menor sobrevive bajo el nuevo tutor, en lugar de ser borrado.
- Identidad (doble vía). Si el titular transaccionó, su identidad mínima (nombre/correo) se conserva cifrada solo por el plazo fiscal de la jurisdicción (Sección 6). Si no transaccionó — y siempre para menores — la identidad se SUPRIME en el acto de la supresión.
- Supresión efectiva. Eliminación permanente, en cascada, de los registros y de los documentos; limpieza de los datos en caché del dispositivo al cerrar sesión/borrar. La supresión es permanente, pero no se alega destrucción de claves de cifrado (crypto-shredding) ni irreversibilidad absoluta en copias de seguridad — eventuales copias expiran según los ciclos de conservación de la infraestructura.
- Conservación mínima legal. Incluso tras la supresión, se mantienen: (a) el mínimo de metadato que la ley exige (registro de que la supresión ocurrió); (b) los registros de acceso por el piso de 6 meses (art. 15) — metadato, sin contenido clínico; (c) la vía fiscal (comprobantes + identidad mínima de quien transaccionó) por el plazo fiscal de la jurisdicción (Sección 6); y (d) el índice forense mínimo (
account_forensic_hold— ítem 4-A: identificadores de búsqueda en HMAC + IPs +account_ref/metadatos de guarda, sin PHI), por el plazo prescriptivo aplicable (misma duración que el plazo de guarda fiscal, por proporcionalidad; para menores, plazo REDUCIDO), para prevención de fraude, ejercicio/defensa de derechos y respuesta a autoridad competente, bajo acceso break-glass owner auditado. Nada de esto recompone el historial, que es suprimido. - Plazo y confirmación. La supresió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 DPD — dpo@bas-ai.com — que responde con base en el registro mínimo de supresión (LGPD art. 6, X).
- Subencargados. La supresión se propaga a la infraestructura (Supabase). El contenido enviado a Anthropic es transitorio y conservado por un período limitado (~30 días) y luego suprimido por el subencargado, según sus términos. Para Apple (incl. datos de compra/suscripción vía In-App Purchase, como responsable independiente) y Resend (correo), se aplican los mecanismos de supresión de la respectiva plataforma respecto a los datos que cada una trata. RevenueCat no se utiliza.
- Desconexión de wearable (purga selectiva por proveedor, sin borrar 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 conservar 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 de Brasil (Ley 8.069/1990), la Ley 15.211/2025 (ECA Digital), el Art. 14 de la LGPD, el Art. 8 del RGPD (estándar de referencia) 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). Este requisito se refiere a la titularidad de la cuenta y no se confunde con la edad de consentimiento digital autónomo del RGPD (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 un menor de 18 con cuenta propia está bloqueado. - El menor no posee cuenta ni correo propios: existe solo como perfil gestionado (
profiles.kind='minor',profiles.managed_by) dentro de la cuenta de un tutor adulto, que ejerce los derechos en nombre del menor (LGPD Art. 14). - Multi-tutor. El perfil puede tener más de un tutor: el principal invita a otro adulto mediante un código de invitación con plazo de validez. Cada invitado recibe un rol — tutor (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ó. Al borrar la cuenta del tutor principal, la app ofrece migrar la tutela del menor a un co-tutor existente (ver Sección 7).
- Facturación. Las funciones de pago de IA requieren rol de tutor y se facturan al adulto responsable que ejecuta la acción; el dependiente no tiene cuota, paquete ni medio de pago propios. El registro de uso permanece vinculado al perfil del menor para auditoría.
- Los datos de wearables y de Apple Salud nunca siguen el 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. La identidad del menor se SUPRIME en el acto de la supresión (Sección 6).
- EE. UU. (COPPA): MyHealth no ofrece cuentas a menores ni recopila datos directamente de niños; cualquier dato de menor es introducido 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 2026-03-17). La verificación de edad se hace por autodeclaración en el registro, con la atestación registrada en la aceptación (age_attestation, inmutable, con fecha/hora del servidor).
9. Notificación de nuevos subencargados y derecho de objeción
- Diligencia previa y DPA con obligaciones equivalentes (mínimo: no entrenamiento; salvaguardas de transferencia internacional — cláusulas contractuales tipo / SCC y mecanismo equivalente bajo la LGPD; límites contractuales de conservación cuando aplique).
- Aviso previo con una ventana de objeción de 30 días antes de que el nuevo subencargado trate datos, salvo urgencia de seguridad/continuidad.
- Derecho de objeción ante el DPD (dpo@bas-ai.com); cuando la finalidad depende de consentimiento (
ai_processing,intl_transfer,family_sharing,wearable_sync_*), el nuevo tratamiento no ocurre sin el consentimiento registrado.
10. Derechos del titular (multijurisdicción)
Independientemente de la jurisdicción, el titular puede, vía la app o el DPD (dpo@bas-ai.com): acceder y exportar sus datos (portabilidad FHIR R4/PDF), rectificar, suprimir (Sección 7), revocar el consentimiento en cualquier momento y oponerse a tratamientos basados en interés legítimo.
- LGPD (Brasil): derechos del Art. 18 (confirmación, acceso, rectificación, anonimización/supresión, portabilidad, información sobre compartición, revocación).
- RGPD (estándar de referencia global): derechos de acceso, rectificación, supresión, limitación, portabilidad y oposición (Arts. 15–21).
- EE. UU. — CCPA/CPRA (California): derecho a saber, suprimir, rectificar y a excluirse de la "venta"/"compartición" — BAS AI no vende ni comparte datos personales para publicidad comportamental; no hay señales de rastreo de terceros.
- EE. UU. — Washington My Health My Data (MHMDA): los "datos de salud del consumidor" se tratan previo consentimiento; el titular puede retirar el consentimiento y solicitar la supresión; BAS AI no vende datos de salud.
- Canadá (PIPEDA + leyes provinciales): acceso, rectificación y retirada del consentimiento, con conservación fiscal de 6 años cuando aplique.
11. Historial de versiones
| Versión | Fecha | Cambio |
|---|---|---|
| 2.8 | 2026-07-18 | Ronda consolidada (policy_version de la app 3.8). (a) Anotaciones de wearable (Oura enhanced tags, migración 0330): nueva categoría de PHI de la MISMA fuente ya conectada — texto libre (tipo, nombre personalizado, comentario) en wearable_annotations; lectura solo-titular, fuera del intercambio familiar, NUNCA enviada a Anthropic (exclusión fail-closed — nueva nota dedicada bajo la §3.2), eliminada incondicionalmente al desconectar (celda Oura de la §3.5 + actividad #14); requiere el alcance OAuth tag (las conexiones antiguas exigen reconexión). Oura sigue siendo responsable independiente — ningún subencargado nuevo. (b) Equipo de cuidado en el contexto del análisis (G3c): la celda Datos tratados de Anthropic (§3.2) pasa a declarar nombre + especialidad (e institución/motivo, si se indican) de los profesionales de care_team — nunca datos de contacto (teléfono/correo/dirección) ni el número de registro profesional (columnas no seleccionadas); el mismo conjunto que el chat ya enviaba. (c) Glucosa CGM agregada: el glosario PHI (§2) y la celda de Anthropic declaran que los días de monitor continuo se convierten en solo agregados diarios (media/mín/máx/CV/% dentro del rango 70–180 del estándar AGP) — lecturas continuas brutas nunca almacenadas. (d) Biblioteca educativa generada (marker_education): finalidad (d) de Anthropic — la generación recibe solo la coordenada abstracta del tema (cero datos personales del titular). (e) Cribados poblacionales (G2): nueva actividad ROPA #20 + fila en la matriz — tarjetas educativas in-app por edad/sexo, motor determinístico 100% en el dispositivo, nunca push, solo-titular adulto; ningún dato nuevo, ningún destinatario. (f) Condensación de series de wearable (G8, migración 0231): ítem 1-A de la política de conservación (§6) + matriz — las series diarias brutas pueden ser condensadas después de 13 meses en rollups semanales y después de 36 meses en mensuales (minimización; manuales/clínicas nunca). Recuento de subencargados mantenido en TRES (Supabase, Anthropic, Resend); sin nueva transferencia internacional. policy_version (app) 3.8. |
| 2.7 | 2026-07-18 | Estado de embarazo autodeclarado (FASE 0) — reconciliación de la ROPA. (a) La app **dejó de importar y persistir la prueba de embarazo de HealthKit (la migración 0322 purga el legado): la mención fue eliminada de la lista de salud reproductiva importada a cycle_entries (Parte A / PHI) — permanecen flujo, sangrado intermenstrual, test de ovulación y moco cervical. (b) La celda Datos tratados de Anthropic (§3.2) pasa a declarar el estado de embarazo autodeclarado (enum de trimestre) — transitorio, solo cuando la titular adulta dispara el análisis/chat, bajo consentimiento propio pregnancy-state-1.0, on-device, nunca almacenado por nosotros, ausente de la vía batch/proactiva. Sin nuevo subencargado; recuento mantenido en TRES (Supabase, Anthropic, Resend); sin nueva transferencia internacional (la misma del análisis). policy_version (app) 3.7 — estado de embarazo.** |
| 2.6 | 2026-07-17 | Índice forense post-eliminación (account_forensic_hold, migración 0308) — APLICADA a producción 2026-07-17. En el acto de la eliminación, y para toda cuenta (incl. menores — gate DPD; para el menor, plazo REDUCIDO y proporcional), se retiene un índice minimizado que sobrevive al borrado, con como máximo: identificadores de búsqueda (correo, Apple sub, teléfono, documento nacional) en HMAC-SHA256 con pepper dedicado guardado en una bóveda (Vault), cifrado por una clave-raíz gestionada fuera de la base de datos, nunca expuesto + IPs recientes en texto + account_ref/metadatos mínimos de guarda. SIN PHI, sin nombre/correo legible (dato SEUDONIMIZADO — LGPD Art. 12/13; no es anonimización). Finalidad: prevención de fraude, ejercicio/defensa de derechos y respuesta a autoridad competente. Plazo = plazo prescriptivo aplicable (misma duración que el plazo de guarda fiscal por proporcionalidad — 5/6/10 años), purga automática. Acceso break-glass owner vía RPCs auditadas; tabla blindada (RLS sin políticas, sin grant a admin_ops). Base (por finalidad): LGPD Art. 16, I + Art. 7, VI + Art. 7, IX; GDPR Art. 6(1)(f) + Art. 17(3)(e). Nueva actividad ROPA #19, nueva fila en la matriz finalidad→base→retención, e ítems §6 (4-A) y §7 (6). También: §3.4 de la Política agrega la IP de acceso y el user-agent — recopilado en el código en los accesos síncronos (edges analyze-exam/ai-assistant/access-ping, migración 0309). Recuento de subencargados mantenido en TRES (Supabase, Anthropic, Resend); sin nueva transferencia internacional. policy_version (app) 3.5 (índice forense consolidado y publicado en la Política 3.5; migraciones 0308/0309/0314 aplicadas a producción y verificadas el 2026-07-17). |
| 2.5 | 2026-07-16 | Soporte asistido por IA — ACTIVACIÓN (go-live). El soporte-IA (redactar + traducir respuestas) pasa a OPERAR, siempre con revisión humana y minimización best-effort (nunca el historial clínico). Dos vías DESAGRUPADAS: titular con sesión vía nuevo consentimiento propio, por defecto OFF, support_ai_share (+ intl_transfer); remitente externo sin cuenta vía su consentimiento-primero propio (procesar + transferir a Anthropic/EE. UU.), antes de cualquier IA. Transferencia cubierta por el DPA/SCC existente de Anthropic (mismos términos que análisis/extracción/chat); sin nuevo subencargado; conservación ~30 días por Anthropic, nunca cero. Ajustadas la §3.2 (datos tratados) y la actividad ROPA de soporte. policy_version (app) 3.1. |
| 2.4 | 2026-07-05 | Diario de salud sensible — opt-in de recopilación (daily_journal). (a) Nueva finalidad daily_journal (default OFF, bloqueo server-side por trigger, indisponible para menores) para la recopilación de registros diarios sensibles autodeclarados — alcohol (uso de sustancia) y estrés/contexto de la noche (salud mental) — fechados en body_measurements. (b) Anthropic: nota de alcance — esos registros NO se comparten con la IA (permanecen fuera de la allow-list de análisis analysis_core/wearable_context); un envío a la IA exigiría un consentimiento de IA separado y explícito, inexistente en esta versión. (c) Nueva actividad ROPA Diario de salud sensible (#18) y nueva fila en la matriz finalidad→base→conservación (Art. 7, I / 11, I + Art. 6(1)(a) / 9(2)(a); suprimido en la revocación, eliminado en la supresión de la cuenta). Recuento de subencargados mantenido en TRES (Supabase, Anthropic, Resend). policy_version 2.4. |
| 2.3 | 2026-07-05 | Soporte en la app + borrador de respuesta asistido por IA (Opción A). (a) Nueva categoría SUP — Comunicaciones de soporte (support_tickets/support_ticket_messages, texto libre que puede contener datos de salud, guardado en Supabase) y número de cuenta público (account_ref) — identificador seudónimo generado por nosotros, 8 dígitos, no secuencial — añadido a la categoría CUENTA. (b) Supabase pasa a listar las comunicaciones de soporte entre los datos tratados. (c) Anthropic recibe, de forma transitoria, el texto de la conversación de soporte (nunca el historial clínico) cuando un operador activa el borrador de respuesta asistido por IA — transferencia internacional (EE. UU.) condicionada al consentimiento ai_processing/intl_transfer del titular del ticket. (d) Nota del Apple Private Email Relay en Resend. (e) Nueva actividad ROPA Atención al usuario y nueva fila Atención/Soporte en la matriz finalidad→base→conservación (Art. 7, V + Art. 11, I / 6(1)(b) + 9(2)(a)). (f) support_tickets/support_ticket_messages añadidos a la cascada de supresión de cuenta. Recuento de subencargados mantenido en TRES (Supabase, Anthropic, Resend). policy_version 2.3. |
| 2.1 | 2026-06-23 | Alineación código×política (relevamiento autoritativo). (a) Lista de subencargados corregida a tres — Supabase, Anthropic y Resend; Apple, Oura y WHOOP reclasificados como responsables independientes/fuentes (Sección 3.5), no subencargados. (b) DPA declarados EN VIGOR: Supabase (firmado 2026-06-18, SCC UE + salvaguardas; sa-east-1/Brasil), Anthropic (Commercial Terms 2026-06-17 + SCC; NO ENTRENAMIENTO; ~30 días), Resend (DPF UE-EE. UU. + SCC, 2026-06-17). (c) Anthropic recibe la COPIA OCULTADA de la imagen/PDF (no la bruta), + sexo+edad+país+año de nacimiento (sin día/mes), sin identificadores directos y sin contactos de emergencia; la ocultación es en el dispositivo, best-effort, no anonimización. (d) Cifrado corregido a AEAD determinista vía pgsodium (AES-256). (e) Conservación en doble vía: identidad conservada solo para quien transaccionó (plazo fiscal por jurisdicción — 5/6/10 años); menores y no pagadores tienen su identidad suprimida en la supresión; consent_events desvinculado/seudonimizado (HMAC fuera de la base de datos); access_log 6 meses. (f) Supresión de cuenta borra PHI + archivos + datos de dependientes gestionados, con la opción de migrar la tutela de un menor a un co-tutor. (g) Nueva actividad ROPA A la espera de cuota/uso disponible (documento ocultado guardado hasta que haya cuota/uso disponible, analizado automáticamente). (h) SaMD/HIPAA explicitados: no es producto sanitario, la IA no verifica interacción/contraindicación/alergia×medicamento, HIPAA no aplica. (i) DPD actualizado a dpo@bas-ai.com; distribución mundial excepto UE/EEE+RU; protecciones RGPD/RU como base global. policy_version 2.1. |
| 2.0 | 2026-06-22 | Go-live: precios finales, enrutamiento de modelo de IA actualizado, Legal 2.0. |
| 1.6 | 2026-06-14 | Alineación de hecho (salud reproductiva y contexto de la IA). |
| 1.5 | 2026-06-12 | Catálogo canónico de marcadores (LOINC®/UCUM) integrado — contenido licenciado, no subencargado. |
| 1.4 | 2026-06-11 | Plazos de conservación concretos en el ROPA; base jurídica del núcleo clínico decidida (consentimiento primario). |
| 1.3 | 2026-06-11 | Corrección de hecho: Anthropic = infraestructura en EE. UU.; conservación ~30 días; RevenueCat eliminado (IAP nativo); Resend añadido. |
| 1.1 | 2026-06-10 | Integraciones de wearables: nuevas categorías de PHI y CONEX; Oura/WHOOP como fuentes; finalidades wearable_sync_*. |
| 1.0 | — | Publicación inicial. Subencargados: Supabase (BR) y Anthropic (IA); Apple como plataforma. |
El historial de versiones se publica en https://www.bas-ai.com/myhealth/legal/versoes; cada versión aceptada permanece archivada.
Nota de no diagnóstico. MyHealth organiza tu historial de salud y ofrece una lectura educativa y prudente. No es un producto sanitario, no diagnostica y no sustituye la evaluación de un profesional de salud. La IA no verifica interacciones medicamentosas, contraindicaciones ni cruza alergias con medicamentos. En una emergencia, busca atención médica de inmediato.