Pular para o conteúdo

MyHealth — Lista de Subprocessadores e Registro das Operações de Tratamento (ROPA)

Controlador (LGPD Art. 5º, VI / GDPR "controller"): BAS AI — BAS ARTIFICIAL INTELLIGENCE LTDA CNPJ: 64.106.409/0001-70 Site: www.bas-ai.com Encarregado / DPO (LGPD Art. 5º, VIII): Guilherme Bastian — dpo@bas-ai.com Produto: MyHealth — aplicativo iOS de prontuário pessoal de saúde e leitura educativa por IA (pt/en/es). Versão deste documento: 2.10 — 2026-07-19

Natureza do produto. O MyHealth organiza o seu histórico de saúde e oferece uma leitura educativa e prudente. Não é dispositivo médico, não faz diagnóstico e não prescreve. Toda observação da IA é marcada como "(a confirmar)" e deve ser validada com o seu médico. A IA não verifica interações medicamentosas, não verifica contraindicações e não cruza alergia com medicamento.
Distribuição. O MyHealth é distribuído na App Store em escala mundial, exceto na União Europeia/EEE e no Reino Unido no lançamento. Ainda assim, as proteções de padrão GDPR/UK são adotadas como base global aplicada a todos os titulares (denominador mais estrito).
Vigência. Este registro está em vigor a partir de 2026-06-23. Os contratos de tratamento (DPA/SCC) referidos adiante estão assinados e vigentes (ver Seção 3). A versão pública desta lista fica em https://www.bas-ai.com/myhealth/legal/subprocessadores; o histórico de versões fica publicado em https://www.bas-ai.com/myhealth/legal/versoes, e cada versão aceita permanece arquivada.

1. Como ler este documento

Este documento tem duas partes complementares:

A BAS AI atua como controlador dos dados pessoais tratados no MyHealth. Os terceiros listados na Parte A atuam como operadores/suboperadores (LGPD Art. 5º, VII) / processors/sub-processors (GDPR Art. 28), tratando dados exclusivamente sob as instruções da BAS AI. São apenas três: Supabase, Anthropic e Resend. Plataformas e fontes que atuam como controladores independentes (Apple, Oura, WHOOP) não são subprocessadores e estão descritas na Seção 3.5.

1.1 Princípios que governam a cadeia de subprocessadores


2. Categorias de dados tratados (glossário)

Para uso nas tabelas a seguir:

SiglaCategoriaExemplos
PIIIdentificação direta (cifrada AEAD/AES-256 no identity_vault)Nome/apelido, e-mail de contato, telefone, documento nacional/CPF
PHIDados de saúde / sensíveisExames e marcadores; condições/sistemas; medicações; alergias; vacinas; consultas; sinais vitais e bioimpedância (peso, gordura, glicemia, pressão, FC — glicose de monitor contínuo/CGM: só agregados diários — média/mín/máx/CV/% do dia na faixa 70–180 do padrão de exibição AGP; as leituras contínuas brutas nunca são armazenadas); sintomas e queixas; atividade física (incl. treinos de wearable); sono (sessões e fases — sleep_sessions); métricas contínuas de wearable (FC de repouso, HRV, VO2max, passos, energia, temperatura de pele); scores proprietários de provedores de wearable (Oura readiness/sleep/stress/resilience; WHOOP recovery/strain — daily_scores); eventos de dispositivo (ECG — apenas classificação e metadados, nunca o traçado/forma de onda bruta; ritmo irregular; FC alta/baixa; carga de fibrilação atrial; queda detectada — health_events); registro de tomada de medicação (med_intakes); check-in diário de bem-estar; ciclo menstrual e saúde reprodutiva (fluxo, sangramento intermenstrual, teste de ovulação, muco cervical — importados do HealthKit para cycle_entries; atividade sexual não é importada); hábitos de vida autodeclarados (tabagismo — incl. anos de tabagismo —, álcool, atividade, percepção de sono e status de menopausa — autodeclarado opt-in, não importado do HealthKit — lifestyle_facts); conversas com o assistente de IA (perguntas e respostas persistidas — chat_messages/conversations); documentos/laudos; história familiar; equipe de cuidados; anotações de vestível (só o código de categoria) (Oura enhanced tagswearable_annotations, mig 0330: o texto livre — nome personalizado e comentário — é descartado na importação e nunca chega a ser guardado; guardamos só o código de categoria padronizado — o "tipo": café, álcool etc. —, leitura dono-só, fora do compartilhamento familiar, apagado na desconexão do provedor; esse código, agregado por semana, só vai à IA quando o Diário de saúde daily_journal está ativo — nunca texto livre)
SUPComunicações de suporteMensagens de texto livre que você envia ao suporte no app + respostas do agente (support_tickets/support_ticket_messages); podem conter dado de saúde; guardadas no Supabase
DEMOPerfil clínico-demográfico pseudônimoSexo biológico; idade; ano de nascimento (sem dia/mês) (em profiles, sem PII)
LOCLocalidade opcional e idiomaPaís (country_code — enviado à IA, ver 3.2, para regionalizar a orientação educativa)/estado/cidade; idioma (locale)
CONTAConta, autenticação e consentimentoIdentificador de conta, número de conta público (account_ref) — identificador pseudônimo gerado por nós, 8 dígitos, não-sequencial, e-mail/identificador Sign in with Apple, tokens de sessão, fator MFA (TOTP), eventos de consentimento versionados
TÉCMetadados técnicos e de usoLogs de acesso (metadado, sem conteúdo clínico), dados de uso de-identificados, telemetria de falhas/desempenho
PAGFaturamento de assinaturaEstado da assinatura, recibo/transação (processamento do pagamento é feito pela Apple; a BAS AI não recebe dados de cartão)
CONEXDados de conexão de wearablesConexões OAuth (wearable_connections: status, escopos, tokens de acesso/refresh cifrados AES-256-GCM server-side, cursores de sincronização) e estados anti-CSRF (oauth_states). Não são dados de saúde — são dados de conexão, eliminados na desconexão da fonte

3. Parte A — Lista de Subprocessadores

3.1 Supabase — infraestrutura, banco de dados, armazenamento e autenticação

CampoDetalhe
SubprocessadorSupabase, Inc.
PapelOperador/suboperador (hosting de backend)
FinalidadeHospedar a infraestrutura do MyHealth: banco de dados (PostgreSQL), armazenamento de documentos/laudos, autenticação de conta e funções de borda. Dá suporte às finalidades clinical_processing e, no roteamento da IA, ai_processing.
Dados tratadosPHI estruturado e documentos/laudos (referenciados por profile_id pseudônimo); PII cifrada campo a campo (AEAD determinística via pgsodium, AES-256) no identity_vault; DEMO; LOC; CONTA (incl. fator MFA/TOTP e consent_events); SUP (comunicações de suporte — support_tickets/support_ticket_messages —, que podem conter dado de saúde); TÉC (logs de acesso access_log). O Supabase opera a infraestrutura, mas não acessa em claro a PII do identity_vault no curso normal de operação (decifragem só via função segura, sob a identidade do próprio usuário).
Localização / transferência internacionalRegião sa-east-1 (São Paulo, Brasil) — residência de dados no Brasil. Tratamentos administrativos auxiliares (ex.: suporte) podem envolver acesso a partir de outras jurisdições pelo pessoal do subprocessador, sob as salvaguardas abaixo. Por segurança, não se expõem publicamente o ref do projeto nem a chave anon/JWT desta página ou de materiais externos.
SalvaguardasDPA assinado em 2026-06-18, com cláusulas contratuais-padrão (SCC) da UE e salvaguardas equivalentes para eventuais transferências, e mecanismo equivalente sob a LGPD; cifra em trânsito (TLS 1.3, com certificate pinning no app) e em repouso; cifra adicional de campo (pgsodium AEAD/AES-256) sob nossa gestão de chaves; isolamento por Row-Level Security (RLS) por verbo; trilha de auditoria (access_log append-only / pgaudit best-effort); cláusula de NÃO-TREINAMENTO.

3.2 Anthropic — modelo de linguagem (Claude) para leitura educativa e extração de exames

CampoDetalhe
SubprocessadorAnthropic, PBC
PapelOperador/suboperador (processamento por IA)
FinalidadeProcessar, via API Claude, o conteúdo do próprio usuário para: (a) extrair/estruturar documentos e exames; (b) gerar leitura educativa, NÃO-diagnóstica (análise longitudinal do prontuário); (c) responder ao chat assistente educativo; e (d) gerar a biblioteca educativa genérica/populacional (marker_education) — nessa geração a Anthropic recebe apenas a coordenada abstrata do tópico (nome do marcador/medida/condição do catálogo + categorias genéricas de direção/faixa/grupo populacional), nunca valor, resultado, data ou identificador do titular. Mapeia às finalidades ai_processing e, na saída do Brasil para os EUA, intl_transfer. A busca na web existe apenas no chat assistente: o modelo é instruído a usar somente termos clínicos genéricos, sem valores, datas, idade, nomes ou identificadores do usuário — proteção por instrução ao modelo, não por filtro técnico infalível; a busca é executada pela infraestrutura da Anthropic. As funções de análise do prontuário e de extração de documentos não fazem busca na web.
Dados tratadosConteúdo clínico (PHI) do próprio usuário, enviado mediante consentimento de processamento por IA. A Anthropic recebe: a cópia TARJADA da imagem/PDF do documento (não a PII direta — ver 1.1); sexo + idade + país (country_code) e o ano de nascimento (sem dia/mês); e o conteúdo clínico do prontuário na análise longitudinal (marcadores e tendências de exames, medidas e bioimpedância, medicações, vacinas, alergias, sintomas, consultas e anotações, história familiar, a equipe de cuidado (nome do profissional + especialidade e, se informados, instituição e motivo — nunca telefone/e-mail/endereço nem o número de registro profissional), atividade física, sono e scores de wearable, eventos de dispositivo — classificação de ECG, ritmo irregular, queda, nunca o traçado bruto —, ciclo menstrual e dados reprodutivos, hábitos de vida autodeclarados — tabagismo (incl. anos de tabagismo)/álcool/atividade/sono/status de menopausa — e tipo sanguíneo). As conversas do chat (perguntas e respostas) também trafegam. A Anthropic NÃO recebe: os identificadores diretos (nome, CPF, e-mail, telefone — cifrados no identity_vault), os contatos do cartão de emergência, dados de conta nem tokens de conexão (CONEX). Ressalva da tarja: a tarja é best-effort; quando ela roda e nada casa, ou o cofre está vazio, o documento original pode seguir, e um laudo pode conter outros identificadores impressos. Quando há fonte de wearable conectada (Seção 3.5), os dados entram como agregados no contexto da análise longitudinal (tendências de sono, FC de repouso, HRV sempre com o método SDNN/rMSSD, passos, energia e scores do provedor rotulados por marca, sem recálculo); não são enviadas séries brutas contínuas (agregação server-side, limite de 90 pontos por métrica). Na glicose de monitor contínuo (CGM), o próprio banco guarda apenas agregados diários (média/mín/máx/CV/% na faixa 70–180) — não existem leituras contínuas brutas para enviar. Das anotações de vestível (wearable_annotations), o texto livre é descartado na importação e nunca é guardado; apenas o código de categoria padronizadoagregado por semana e nunca como texto livrepode ser enviado quando o titular mantém o Diário de saúde (daily_journal) ativo (ver nota abaixo). Suporte assistido por IA (rascunho + tradução): quando um operador aciona a IA para redigir ou traduzir a resposta de suporte, a Anthropic recebe, de forma transiente, o TEXTO da conversa de suporte (que pode conter dado de saúde), minimizado por remoção best-effort de identificadores (não é de-identificação) — NUNCA o prontuário —, constituindo transferência internacional (EUA), sempre com revisão humana. Para o titular logado, condicionada ao seu consentimento PRÓPRIO e desagrupado support_ai_share + intl_transfer (Perfil › Privacidade, default OFF); para remetente externo sem conta (e-mail), ao consentimento-primeiro do próprio remetente (processar + transferir à Anthropic/EUA), capturado antes de qualquer IA. Tratamento transiente; retenção limitada pelo subprocessador (ver Salvaguardas). Estado de gravidez autodeclarado (enum de trimestre): quando a titular ADULTA mantém o recurso ativo e ela mesma dispara uma análise ou o chat, a Anthropic recebe, de forma transiente, apenas o trimestre (nunca DUM/DPP), sob o consentimento PRÓPRIO e desagrupado pregnancy-state-1.0 (que cobre a transferência internacional) — on-device (Keychain), nunca gravado por nós, nunca em lifestyle_facts nem sincronizado, e ausente das análises automáticas/proativas e do caminho batch de prontuário grande (ver Política §6.10 e §9). Adesão de medicamentos observada (Apple Saúde, iOS 26+): a Anthropic recebe apenas o agregado factual de dias com dose registrada numa janela de 30 dias (nunca porcentagem, nunca juízo, nunca causalidade) — mesmo tratamento do dado de rotina de medicação já enviado, agora também alimentado pela importação do Apple Saúde (ver Política §3.2/§8; DPIA DPIA_MED_ADESAO.md). Registros Clínicos (somente Estados Unidos, capability-gated): quando a habilitação da Apple existir e o titular conectar a fonte, os registros importados (exames, vacinas, medicamentos, condições, procedimentos, alergias) integram o contexto da análise exatamente como qualquer outro dado do mesmo tipo já enviado hoje — sem novo campo, sem nova finalidade (ver Política §3.2/§8; DPIA DPIA_CLINICAL_RECORDS_US.md).
Localização / transferência internacionalProcessamento via API da Anthropic, com infraestrutura nos Estados Unidos. Transferência internacional de dados pessoais sensíveis a partir do Brasil, realizada somente com o consentimento específico do titular, sob as salvaguardas contratuais abaixo.
SalvaguardasTratamento regido pelos Commercial Terms da Anthropic (em vigor desde 2026-06-17), com cláusulas contratuais-padrão (SCC) para a transferência internacional e mecanismo equivalente sob a LGPD; cláusula de NÃO-TREINAMENTO (entradas e saídas não são usadas para treinar ou aprimorar modelos — compromisso contratual); retenção limitada pelo subprocessador (em regra, exclusão em até ~30 dias, salvo retenção exigida por lei ou para prevenção de abuso); transmissão sob TLS 1.3 com certificate pinning de api.anthropic.com; validação estrita do payload; salvaguardas anti-injeção (cerca de instrução); sem corpo clínico nos logs das nossas Edge Functions.
Diário de saúde sensível — NÃO vai à Anthropic. Os registros diários de hábitos sensíveis (doses de álcool, contexto de estresse/álcool da noite — finalidade opt-in daily_journal) NÃO são compartilhados com a Anthropic. Permanecem armazenados no banco (Supabase, criptografados em repouso) e fora do contexto de análise (allow-list de kinds em analysis_core/wearable_context). Um eventual envio à IA exigiria um consentimento de IA separado e explícito do titular, inexistente nesta versão.
**Anotações de vestível (Oura enhanced tags) — texto livre descartado; só o código de categoria vai à Anthropic sob o Diário de saúde. O texto livre que o titular registra no app da Oura (nome personalizado e comentário — wearable_annotations, mig 0330) é descartado na importação e nunca chega a ser guardado (não vai ao prontuário, aos nossos registros nem aos logs). Guardamos apenas o código de categoria padronizado (o "tipo": café, álcool etc.), de leitura dono-só (RLS; fora do compartilhamento familiar read-only) e apagado na desconexão do provedor. Esse código padronizado — agregado por semana e nunca como texto livrepode integrar o contexto enviado à Anthropic quando, e somente quando, o titular mantém o Diário de saúde sensível (daily_journal) ativo; sem esse consentimento, não é enviado à IA. O "consentimento separado e explícito" que a versão anterior descrevia como inexistente passa a existir**: é justamente o daily_journal.

3.3 Resend — envio de e-mails transacionais

CampoDetalhe
SubprocessadorResend
PapelOperador/suboperador (provedor de e-mail transacional)
FinalidadeEntregar e-mails transacionais da conta: código de acesso/OTP de autenticação e avisos operacionais da conta. Não participa de qualquer fluxo clínico ou de IA.
Dados tratadosApenas o e-mail do destinatário e o conteúdo do e-mail (código/aviso). Sem conteúdo de saúde (PHI), sem dados de conta sensíveis além do necessário ao envio, sem PII clínica. Apple Private Email Relay: quem oculta o e-mail no Sign in with Apple recebe as mensagens via um endereço @privaterelay.appleid.com; a Resend recebe apenas esse endereço-relay + o conteúdo do e-mail — nenhum dado novo.
Localização / transferência internacionalEUA / global. Transferência internacional.
SalvaguardasDPA em vigor (2026-06-17), com base de transferência por EU-US Data Privacy Framework (DPF) + cláusulas contratuais-padrão (SCC) e mecanismo equivalente sob a LGPD; cláusula de não-treinamento/não-uso secundário; minimização (nenhum dado de saúde é compartilhado); TLS em trânsito.
RevenueCat NÃO é utilizado. A monetização do MyHealth roda por In-App Purchase nativo (StoreKit) — assinatura e pacotes avulsos (páginas/prompts) —, com a Apple como fornecedor responsável pela transação (merchant of record; ver 3.5). Não há intermediário de assinaturas de terceiros.

3.4 O que NÃO é subprocessador

3.5 Plataforma e fontes de dados — Apple, Oura e WHOOP (controladores independentes; NÃO são subprocessadores)

Estas entidades não tratam dados em nome da BAS AI: cada uma é controladora independente da sua própria plataforma. A Apple é a plataforma de distribuição, autenticação opcional, push e pagamento; Oura e WHOOP são fontes de dados/originadores conectadas pelo próprio titular. O fluxo de wearable é apenas de entrada (do provedor para o prontuário do usuário), mediante conexão OAuth autorizada pelo titular e consentimento específico por fonte (wearable_sync_oura / wearable_sync_whoop, base dupla LGPD Art. 11, I + GDPR Art. 9(2)(a), revogável). O provedor não recebe dados do prontuário.

Apple Inc. — plataforma de distribuição e serviços de SO, fornecedor responsável pela transação (merchant of record) das compras de assinatura e pacotes avulsos via In-App Purchase nativo (StoreKit), provedor de Sign in with Apple (quando escolhido) e de notificações push. O acesso de leitura ao Apple Health (HealthKit) é opcional e ocorre localmente, no dispositivo (consentimento wearable_sync_apple_health) — a Apple não participa do tráfego desses dados ao nosso backend e não recebe a base clínica do MyHealth. No pagamento, a BAS AI não recebe nem armazena dados de cartão. Conformidade com a Apple Guideline 5.1.3 (dados de saúde nunca usados para marketing, compartilhamento com terceiros ou treino de IA) e com as Diretrizes 3.1.1/3.1.2 (compras digitais). Localização: EUA / infraestrutura global da Apple, sob os termos do Apple Developer Program License Agreement.

CampoOuraWHOOP
EntidadeOura Health Oy (Finlândia / EEE) — controlador independente; integração sob os termos de API da OuraWHOOP, Inc. (EUA) — controlador independente; integração sob os Developer Terms do WHOOP
PapelFonte de dados conectada pelo titularFonte de dados conectada pelo titular
Dados coletados (conforme escopos autorizados)Sono (sessões/fases), scores diários (readiness, sleep, activity, stress, resilience), métricas (FC de repouso, HRV rMSSD, temperatura, SpO2, VO2max), atividade diária, treinos, anotações do usuário (enhanced tags: tipo, nome personalizado e comentário em texto livre — o texto livre é descartado na importação; guardamos só o código de categoria, ver §3.2; requer o escopo OAuth tag; conexões antigas exigem reconexão)Sono (sessões/fases), scores diários (recovery, strain), métricas (FC de repouso, HRV rMSSD, SpO2, temperatura de pele), treinos
Dados de conexão (CONEX)Tokens OAuth cifrados (AES-256-GCM) só no servidor; o app nunca vê tokens; eliminados na desconexãoIdem
Localização / transferência internacionalColeta a partir da API da Oura (Finlândia/EEE) → armazenamento no Brasil (sa-east-1)Coleta a partir da API do WHOOP (EUA) → armazenamento no Brasil (sa-east-1)
Desconexão / purgeRevogação do token no provedor + consent_events granted=false; o titular escolhe manter ou apagar os dados já importados; exceção: as anotações do vestível (wearable_annotations) são SEMPRE apagadas na desconexão (o texto livre já é descartado na importação; guarda-se só o código de categoria)Revogação (DELETE /v2/user/access) + consent_events granted=false + purge obrigatório de todos os dados originados do WHOOP (exigência contratual do provedor — sem opção de manter)
Salvaguardas / contratosTermos de API da Oura (cache de 60 dias e base de transferência avaliados); atribuição de marca obrigatória; scores nunca recalculados/combinadosWHOOP Developer Terms (exige Privacy Policy URL e conformidade com brand guidelines); atribuição de marca; proibição de derivação de scores
O Apple Health (HealthKit) não consta da tabela de wearables com tráfego de rede porque a leitura é local, no dispositivo — não há tráfego de dados entre a Apple e o backend da BAS AI.
Recebimento de webhooks de wearable (Oura/WHOOP). Para receber avisos de atualização/exclusão em tempo real, guardamos um identificador pseudônimo do perfil do titular na WHOOP (o user_id numérico que os registros já trazem — nunca nome ou e-mail) para rotear o webhook à conexão certa. O webhook apenas sinaliza uma nova sincronização (nenhum dado clínico trafega nele), a assinatura HMAC é validada, e o evento de exclusão do provedor apaga a linha correspondente no prontuário (paridade de exclusão). As subscriptions da Oura nunca assinam daily_stress (minimização). O identificador vive na Supabase já declarada — sem novo subprocessador e sem transferência internacional nova.

4. Parte B — Registro das Operações de Tratamento (ROPA)

Inventário das atividades de tratamento (GDPR Art. 30 / LGPD Art. 37). Os consentimentos por finalidade ficam em registro append-only (consent_events), versionados por policy_version, e as Edge Functions verificam o consentimento em tempo de execução (gate has_active_consent).

#AtividadeCategorias de dadosCategorias de titularesDestinatários / subprocessadoresTransferência internacional
1Cadastro, autenticação e segurança da conta (MFA TOTP)CONTA, PII (cifrada)Usuários adultos; responsáveis legaisSupabase; Resend (e-mail/OTP); Apple (Sign in with Apple — controlador independente)Não (BR), salvo Resend e Sign in with Apple (EUA/global)
2Organização do prontuário (extração, linha do tempo, tendências; rotina diária — tomada de medicação med_intakes e check-in de bem-estar; hábitos de vida lifestyle_facts)PHI, DEMO, documentos/laudosTitulares e dependentes (menores)SupabaseNão (BR)
3Leitura educativa e extração de documentos por IA (incl. agregados de wearable, ciclo, hábitos e eventos de dispositivo no contexto da análise longitudinal — ver 3.2)PHI (conteúdo do próprio usuário, com sexo+idade+país+ano de nascimento); cópia tarjada do documento/imagem na extraçãoTitulares e dependentesAnthropic (Claude)Sim — EUA
4Chat assistente educativo por IA (perguntas/respostas persistidas em chat_messages/conversations; busca na web só com termos genéricos — ver 3.2)PHI (conteúdo do próprio usuário); conversasTitulares e dependentesAnthropic (Claude); Supabase (persistência)Sim — EUA (Anthropic); persistência BR
5Compartilhamento familiar (opt-in, somente leitura)PHI, DEMOTitular e familiar vinculadoSupabaseNão (BR)
6Sincronização Apple Health (HealthKit) — opcional, leitura local no dispositivo, contínua (background delivery); inclui adesão de medicamentos observada (iOS 26+, doses marcadas como tomadas — memória de adesão, nunca fiscalização) e, quando disponível, Registros Clínicos via FHIR (somente EUA, capability-gated pela habilitação da Apple — exames/vacinas/medicamentos/condições/procedimentos/alergias, leitura apenas)PHI (medidas, métricas contínuas, sono, treinos, eventos de dispositivo, ciclo/reprodutivo, adesão de medicamentos, registros clínicos estruturados)TitularesLeitura local (iPhone); armazenamento SupabaseNão (leitura local; armazenamento BR)
7Portabilidade / exportação (FHIR R4, PDF) — inclui dados de wearables, hábitos, conversas de IA e registros de rotinaPHI, DEMO, PIITitulares e dependentesGerado no app/backend; entregue ao titularNão
8Conta, assinatura e pacotes avulsos (In-App Purchase nativo / StoreKit); telemetria de uso e cobrança de IA (ai_usage, credit_ledger)CONTA, PAG, TÉC (sem PHI no fluxo de pagamento)Assinantes; responsáveis (cobrança de menor)Apple (merchant of record — controlador independente); SupabaseSim — Apple (EUA/global); persistência BR
9Aguardando cota/uso disponível — guarda de documento já tarjado sem análise até haver cota ou pacote disponível, com análise automática quando o uso disponível permitirPHI (cópia tarjada do documento, em repouso)Titulares e dependentesSupabaseNão (BR) — a análise por IA (atividade 3) só ocorre quando disparada
10Segurança, auditoria e prevenção a abusoTÉC (metadado de acesso, sem PHI)Todos os usuáriosSupabaseNão (BR)
11Telemetria de estabilidade / diagnósticoTÉC (sem PHI)Todos os usuáriosBAS AI — hoje sem terceiro de observabilidade; se adotado, será listado nesta página antes da ativaçãoNão (BR) — hoje sem terceiro
12Gestão de consentimentos versionados (registro de-vinculado/pseudonimizado — ver 6.7)CONTA (consent_events)Todos os usuáriosSupabaseNão (BR)
13Atestação de idade (age_attestation) — declaração de 18+; bloqueio de cadastro de menor; registro imutável com data/hora do servidorCONTATodos os usuáriosSupabaseNão (BR)
14Sincronização Oura — conexão OAuth, coleta via API e webhook (sono sleep_sessions, scores daily_scores, métricas, treinos, anotações do usuário wearable_annotations — texto livre descartado na importação (não guardado); só o código de categoria dono-só, apagado na desconexão, que agregado por semana vai à IA apenas sob o daily_journal)PHI (wearable), CONEXTitularesOura Health Oy (fonte/controlador independente — ver 3.5); SupabaseSim — coleta da Finlândia/EEE → BR
15Sincronização WHOOP — conexão OAuth, coleta via API e webhook (sono, recovery/strain, métricas, treinos)PHI (wearable), CONEXTitularesWHOOP, Inc. (fonte/controlador independente — ver 3.5); SupabaseSim — coleta dos EUA → BR
16Gestão de conexões de wearables (tokens cifrados, estado OAuth, revogação e purge na desconexão)CONEXTitularesSupabase (acesso restrito a service_role; o app nunca lê tokens)Não (BR)
17Atendimento ao usuário (canal de suporte no app) — abertura e troca de mensagens de suporte; rascunho/tradução de resposta assistidos por IA sob consentimentoSUP (podem conter PHI), CONTATitulares e dependentesSupabase (armazenamento); no rascunho assistido por IA, Anthropic (Claude)Não (BR) no armazenamento; Sim — EUA no rascunho assistido por IA (titular: consentimento support_ai_share/intl_transfer; remetente externo: consentimento-primeiro próprio)
18Diário de saúde sensível — coleta de registros diários (álcool/estresse), datados em body_measurements; opt-in daily_journal (default OFF, bloqueio server-side por trigger, indisponível para menores)PHI sensível autodeclarado (substância / saúde mental)Titulares (não menores)Supabase (persistência)Não — não transmitido à IA nesta versão
19Índice forense pós-exclusão (account_forensic_hold, mig 0308, aplicada 2026-07-17) — no ato da exclusão, retenção minimizada que sobrevive ao apagamento, para prevenção a fraude, exercício/defesa de direitos e resposta a autoridade competente ("quais contas ligadas a este e-mail/Apple ID/IP")No máximo: (a)+(b) identificadores de busca em HMAC (e-mail, Apple sub, telefone, national_id) + IPs recentes em texto; (c) o identificador pseudônimo da conta (account_ref) e metadados mínimos de guarda (account_id, datas de criação/exclusão, jurisdição, prazo). SEM PHI, sem nome/e-mail legível (dado PSEUDONIMIZADO — LGPD Art. 12/13)Todos os usuários (incl. menores — gate DPO; para menor, prazo REDUZIDO e proporcional)Supabase (tabela BLINDADA: RLS sem policies, sem grant a admin_ops; acesso só via RPCs owner-gated auditadas)Não (BR); entrega pontual a autoridade competente quando exigido
20Lembretes educativos de rastreio populacional — cards dentro do app (nunca notificação) sugerindo conversar com o médico sobre rastreios que diretrizes populacionais costumam indicar para a faixa etária; gatilho exclusivamente idade + sexo ao nascer do perfil (dados já coletados); supressão por calendário sem ler o conteúdo de laudos; motor determinístico, 100% no aparelho; self-only adulto; dispensável e desativávelDEMO (data de nascimento + sexo ao nascer, já coletados)Titulares adultos (self-only; nunca dependentes/geridos)Nenhum — processamento no aparelho (nada novo vai a servidor ou à IA)Não

5. Matriz Finalidade → Base Legal → Retenção

FinalidadeBase legal LGPDBase legal GDPRRetenção
Processamento clínico (clinical_processing) — organizar o prontuárioArt. 7, I e Art. 11, I (consentimento específico e destacado para dado sensível)Art. 6(1)(a) + Art. 9(2)(a) (consentimento explícito)Enquanto a conta existir; eliminado a pedido (Seção 7)
Diário de saúde sensível (daily_journal) — coleta de registros diários sensíveis (álcool/estresse); opt-in, default OFF, bloqueio server-side, indisponível para menores; não vai à IAArt. 7, I e Art. 11, I (consentimento específico e destacado para dado sensível)Art. 6(1)(a) + Art. 9(2)(a) (consentimento explícito)Guardado no prontuário enquanto o consentimento e a conta existirem; apagado na revogação; removido na exclusão da conta (Seção 7)
Processamento por IA (ai_processing) — extração de documentos, leitura educativa e chat assistenteArt. 7, I e Art. 11, I (consentimento específico)Art. 6(1)(a) + Art. 9(2)(a)Processamento transiente na Anthropic, com retenção limitada pelo subprocessador (em regra, exclusão em até ~30 dias); resultado guardado no prontuário enquanto a conta existir; conversas do chat persistidas até exclusão pelo titular
Transferência internacional (intl_transfer) — saída para a Anthropic/EUA no processamento por IAArt. 7, I; Art. 11, I; Art. 33Art. 6(1)(a) + Art. 9(2)(a); Arts. 44–49Transiente; retenção limitada no destino (~30 dias), conforme termos da Anthropic; transferência sob SCC
Compartilhamento familiar (family_sharing) — opt-in, somente leituraArt. 7, I e Art. 11, I (consentimento)Art. 6(1)(a) + Art. 9(2)(a)Vínculo ativo até revogação; convite expira em 7 dias
Sincronização de wearables (wearable_sync_apple_health / wearable_sync_oura / wearable_sync_whoop) — consentimento específico por fonte, gravado antes de qualquer leitura/pullArt. 7, I e Art. 11, I (consentimento específico e destacado; revogável)Art. 6(1)(a) + Art. 9(2)(a) (consentimento explícito; revogável)Dados importados: regra geral (enquanto a conta existir); séries diárias brutas de métricas de vestível podem ser condensadas após 13 meses em resumos semanais (mín/média/máx/contagem) e, após 36 meses, em mensais — minimização (LGPD art. 6º, III; GDPR art. 5(1)(c)/(e)); medidas manuais e clínicas nunca são condensadas. Na desconexão: tokens/conexão (CONEX) sempre eliminados; WHOOP — purge obrigatório dos dados importados (exigência contratual do provedor); Oura/HealthKit — o titular escolhe manter (sob consentimento ativo) ou apagar; anotações (Oura): texto livre descartado na importação; código de categoria apagado SEMPRE na desconexão
Lembretes educativos de rastreio populacional — cards in-app por idade/sexo (motor determinístico on-device; nunca push; self-only adulto; dispensável/desativável)Art. 7, V (execução do contrato) + Art. 11, I (uso do dado sensível já coletado — sexo ao nascer — sob o consentimento clínico)Art. 6(1)(b) + Art. 9(2)(a)Nenhum dado novo é coletado ou retido — regras fixas aplicadas no aparelho sobre dados do perfil já existentes; o tratamento cessa com o desligamento da superfície de lembretes
Dados de menores sob guardaArt. 14 (melhor interesse; consentimento do responsável)Art. 6(1)(a)/Art. 8 + Art. 9(2)(a), exercido pelo responsávelEnquanto a conta do responsável existir; eliminado a pedido. A identidade do menor é APAGADA no ato da exclusão (não há trilho fiscal de identidade para menor)
Atestação de idade (age_attestation) — declaração de 18+ no cadastroArt. 14 + Lei 15.211/2025 (ECA Digital)Art. 8Registro imutável enquanto a conta existir (prova de conformidade)
Conta, assinatura e pacotes avulsos (In-App Purchase) — manter a conta e processar a assinatura e os pacotes avulsos de uso de IA (em regra, 1 página de cota por página de documento); o consumo de IA de um menor é cobrado do responsávelArt. 7, V (execução de contrato); Art. 7, II e Art. 16, I (guarda fiscal obrigatória dos comprovantes)Art. 6(1)(b); Art. 6(1)(c) (guarda fiscal)Conta: enquanto existir. Comprovantes fiscais/de faturamento e a identidade mínima de quem transacionou são retidos pelo prazo fiscal da jurisdição mesmo após a exclusão da conta — 5 anos (Brasil, EUA e demais), 6 anos (Reino Unido, Canadá), 10 anos (UE) — ver Seção 6 (duplo-trilho)
Atendimento / Suporte (support) — atender solicitações do usuário no canal de suporte do app; rascunho de resposta assistido por IA sob consentimentoArt. 7, V (execução de contrato) + Art. 11, I (consentimento específico, quando a mensagem inclui dado de saúde)Art. 6(1)(b) + Art. 9(2)(a) (quando inclui dado de saúde)Enquanto a conta existir; apagado na exclusão da conta (support_tickets/support_ticket_messages)
Segurança, auditoria e prevenção a abusoArt. 7, II (obrigação legal) e Art. 10 (legítimo interesse) — não Art. 11, II "f" (tutela da saúde)Art. 6(1)(c) (obrigação legal) e Art. 6(1)(f) (legítimo interesse) — não Art. 9(2)(h)Logs de acesso (data/hora + IP + user-agent dos acessos síncronos, metadado sem conteúdo clínico): 6 meses (Marco Civil da Internet, Lei 12.965/2014, art. 15 — piso legal de guarda). Esse piso refere-se a log de acesso, que não é dado de saúde e não justifica reter conteúdo de prontuário
Índice forense pós-exclusão (account_forensic_hold) — prevenção a fraude + exercício/defesa de direitos + resposta a autoridade competente após a exclusão (identificadores de busca em HMAC + IPs; sem PHI)Art. 16, I (obrigação legal — atender autoridade) + Art. 7º, VI (defesa de direitos em processo) + Art. 7º, IX (legítimo interesse — prevenção a fraude, uso secundário sob LIA)Art. 6(1)(f) (legítimo interesse) + Art. 17(3)(e) (exceção ao apagamento — defesa de direitos)Prazo prescricional aplicável (exercício/defesa de direitos + resposta a autoridade), fixado por padrão na mesma duração do prazo de guarda fiscal por proporcionalidade — 5 anos Brasil/EUA/demais; 6 anos Reino Unido/Canadá; 10 anos UE —, com expurgo automático (purge_legal_retention). Menores: prazo REDUZIDO e proporcional à prevenção a fraude (nunca o fiscal), sujeito a proporcionalidade + sign-off do DPO. Acesso break-glass owner, motivo obrigatório, auditoria imutável (admin_audit)
Telemetria técnica / estabilidadeArt. 7, IX (legítimo interesse)Art. 6(1)(f)Até ~12 meses, por autolimitação de minimização (LGPD art. 6º, III) — política interna do Controlador, não prazo imposto por lei; sem PHI
Base legal do núcleo clínico (decidida). A base primária de todo o núcleo clínico (organização do prontuário, leitura/extração por IA, chat assistente, transferência internacional, compartilhamento familiar e sincronização de wearables) é o consentimento específico e destacado para dado sensível — LGPD Art. 11, I/II "a" / GDPR Art. 9(2)(a) — coerente com o posicionamento de "prontuário soberano" e revogável a qualquer tempo. Como base subsidiária — restrita à segurança e integridade do tratamento, ao cumprimento de obrigação legal e à execução da própria exclusão de dados — aplicam-se LGPD Art. 7, II e Art. 10 / GDPR Art. 6(1)(c) e (f). NÃO se invoca a hipótese de tutela da saúde (LGPD Art. 11, II "f" / GDPR Art. 9(2)(h)): o GDPR Art. 9(3) condiciona essa base a tratamento por profissional sujeito a sigilo no fluxo, e não há médico no loop do MyHealth — o assistente nunca comunica diagnóstico, prognóstico nem decisão terapêutica.
HIPAA não se aplica. O MyHealth é um produto B2C sob controle do próprio titular; a BAS AI não é covered entity nem business associate da HIPAA. Por isso não publicamos "BAA" nem "HIPAA compliant".

6. Política de Retenção e Eliminação (duplo-trilho)

  1. Regra geral (trilho clínico). Os dados do prontuário (PHI/DEMO, documentos, conversas de IA, wearables, rotina) são mantidos enquanto a conta existir e o titular quiser manter o prontuário organizado; são eliminados na exclusão da conta (Seção 7).

1-A. Condensação de séries de vestível (minimização). Séries diárias brutas de métricas contínuas de vestível (ex.: SpO2, passos, FC média de caminhada — nunca medidas manuais nem medidas clínicas como peso, glicose ou pressão) podem ser condensadas depois de 13 meses em rollups semanais (mínimo/média/máximo/contagem) e, depois de 36 meses, em mensais (mig 0231; parâmetros em wearable_condense_config). O DELETE do bruto só ocorre na mesma transação do rollup persistido; a condensação nunca dispara análise paga; a exclusão de conta apaga também os rollups (cascata). Base: minimização/limitação de armazenamento — LGPD art. 6º, III; GDPR art. 5(1)(c)/(e).

  1. Duplo-trilho de identidade. A identidade direta (nome/e-mail, cifrada no identity_vault) é retida apenas para quem TRANSACIONOU (assinou ou comprou pacotes avulsos), pelo prazo fiscal da jurisdição: 5 anos (Brasil, EUA e demais), 6 anos (Reino Unido, Canadá), 10 anos (UE). Para menores e para não-pagantes, a identidade é APAGADA no ato da exclusão — não há trilho fiscal de identidade.
  2. Comprovantes fiscais. Os comprovantes de faturamento/fiscais (compra de assinatura e pacotes avulsos) seguem o mesmo prazo fiscal da jurisdição acima (Brasil: CTN, arts. 173 e 174), ainda que a conta seja excluída antes.
  3. Logs de acesso. O access_log (metadado de auditoria/segurança — quem, quando, qual tabela, ação, IP de origem e user-agent do request nos acessos síncronos voltados ao usuário — edges analyze-exam/ai-assistant/access-ping, mig 0309; nos inserts assíncronos/cron o user-agent fica nulo por desenho) é guardado por 6 meses (Marco Civil da Internet, art. 15). É metadado sem conteúdo clínico; esse prazo não justifica reter prontuário.

4-A. Índice forense pós-exclusão (account_forensic_hold, mig 0308, aplicada 2026-07-17). No ato da exclusão, e para toda conta (inclusive menores — gate DPO), guarda-se um índice minimizado que sobrevive ao apagamento, contendo no máximo: identificadores de busca (e-mail, Apple sub, telefone, national_id) em HMAC-SHA256 com pepper dedicado guardado em cofre (Vault), cifrado por chave-raiz gerida fora do banco, nunca exposto (nunca texto legível) + IPs recentes em texto; e o identificador pseudônimo da conta (account_ref) com metadados mínimos de guarda (account_id, datas de criação/exclusão, jurisdição, prazo). Sem PHI, sem nome/e-mail legível. Os identificadores em HMAC são dado PSEUDONIMIZADO — permanecem dado pessoal (LGPD Art. 12/13), retidos sob o Art. 16, I; não se invoca anonimização (Art. 16, IV). Finalidade: prevenção a fraude, exercício/defesa de direitos e resposta a autoridade competente dentro do prazo de guarda. Prazo: prazo prescricional aplicável, fixado por padrão na mesma duração do prazo de guarda fiscal (item 2) por proporcionalidade — não "prazo fiscal" —, com expurgo automático (purge_legal_retention); para menores, prazo REDUZIDO e proporcional à prevenção a fraude (nunca o fiscal, que não se aplica a menor que não transaciona), sujeito a proporcionalidade + sign-off do DPO. Tabela BLINDADA (RLS sem policies, sem grant a admin_ops); acesso só via RPCs SECURITY DEFINER owner-gated que auditam antes de resolver. Base (por finalidade): LGPD Art. 16, I (autoridade) + Art. 7º, VI (defesa de direitos) + Art. 7º, IX (fraude, sob LIA); GDPR Art. 6(1)(f) + Art. 17(3)(e). (A guarda fiscal — GDPR Art. 6(1)(c)/Art. 17(3)(b) — é do account_legal_hold; o Marco Civil Art. 15 rege o access_log de 6 meses, não este índice.) Contas excluídas antes da vigência não têm hold.

  1. Processamento por IA. O conteúdo enviado à Anthropic é transiente; o subprocessador o retém por período limitado e então o exclui (em regra, em até ~30 dias), salvo retenção exigida por lei ou para prevenção de abuso. O resultado incorporado ao prontuário segue a regra geral; as conversas do chat assistente ficam guardadas até o titular apagá-las.
  2. Telemetria técnica. A telemetria de estabilidade/diagnóstico (sem PHI) é mantida por até ~12 meses, por autolimitação de minimização (LGPD art. 6º, III) — política interna do Controlador, não prazo imposto por lei.
  3. Imutabilidade e de-vinculação dos registros. O access_log é append-only (UPDATE/DELETE bloqueados por trigger). Os consent_events são de-vinculados/pseudonimizados (chave HMAC mantida fora do banco) — não "anônimos": preservam a prova de quando o consentimento foi concedido/revogado sem reidentificar diretamente o titular. Revogar consentimento é inserir um novo evento granted=false; a revogação não apaga retroativamente o tratamento já realizado licitamente, mas interrompe o tratamento futuro daquela finalidade.
  4. Eliminação a pedido. A eliminação é executada a pedido do titular (ou do responsável legal, no caso de menores), conforme o procedimento da Seção 7, em até 30 dias.

7. Procedimento de Exclusão de Conta e de Dados

A exclusão de conta está disponível no próprio app (exigência da Apple) e pode também ser solicitada ao Encarregado (dpo@bas-ai.com).

  1. Solicitação. O titular (ou responsável legal, no caso de dependente menor) inicia a exclusão no app ou por contato com o Encarregado.
  2. Escopo. A exclusão apaga toda a PHI, os documentos/laudos no Storage, os vínculos de compartilhamento familiar, os dados de wearables e rotina (sleep_sessions, daily_scores, health_events, med_intakes, medidas com provider/external_id), os hábitos de vida (lifestyle_facts), as conversas com o assistente de IA (chat_messages/conversations), as comunicações de suporte (support_tickets/support_ticket_messages), os registros de uso do Serviço de IA (ai_usage, credit_ledger e correlatos, ressalvada a retenção fiscal de comprovantes de compra), os dados de conexão de wearables (wearable_connections, oauth_states — tokens cifrados) e os dados de conta. As tabelas clínicas têm exclusão em cascata a partir do profile_id (chaves estrangeiras on delete cascade).
  3. Dependentes geridos. A exclusão da conta também apaga os dados dos dependentes geridos (perfis de menores) sob aquela conta. Antes de apagar um menor, o app oferece MIGRAR a guarda do menor a um co-responsável existente — nesse caso, o perfil do menor sobrevive sob o novo responsável, em vez de ser apagado.
  4. Identidade (duplo-trilho). Se o titular transacionou, sua identidade mínima (nome/e-mail) é retida cifrada apenas pelo prazo fiscal da jurisdição (Seção 6). Se não transacionou — e sempre para menores — a identidade é APAGADA no ato da exclusão.
  5. Eliminação efetiva. Remoção permanente, em cascata, dos registros e dos documentos; limpeza dos dados em cache no dispositivo no logout/exclusão. A eliminação é permanente, mas não se alega destruição de chaves de cifra (crypto-shredding) nem irreversibilidade absoluta em backups — eventuais cópias de segurança expiram conforme os ciclos de retenção da infraestrutura.
  6. Retenção mínima legal. Mesmo após a exclusão, mantêm-se: (a) o mínimo de metadado que a lei exige (registro de que a exclusão ocorreu); (b) os logs de acesso pelo piso de 6 meses (Marco Civil, art. 15) — metadado, sem conteúdo clínico; (c) o trilho fiscal (comprovantes + identidade mínima de quem transacionou) pelo prazo fiscal da jurisdição (Seção 6); e (d) o índice forense mínimo (account_forensic_hold — item 4-A: identificadores de busca em HMAC + IPs + account_ref/metadados de guarda, sem PHI), pelo prazo prescricional aplicável (mesma duração do prazo de guarda fiscal, por proporcionalidade; para menores, prazo REDUZIDO), para prevenção a fraude, exercício/defesa de direitos e resposta a autoridade competente, sob acesso break-glass owner auditado. Nada disso recompõe o prontuário, que é eliminado.
  7. Prazo e confirmação. A exclusão é uma operação imediata na base de dados. Não há emissão de recibo automático; o titular pode solicitar a confirmação da conclusão ao Encarregado (DPO)dpo@bas-ai.com — que responde com base no registro mínimo de exclusão (LGPD art. 6º, X).
  8. Subprocessadores. A exclusão é propagada à infraestrutura (Supabase). O conteúdo enviado à Anthropic é transiente e retido por período limitado (~30 dias) e então excluído pelo subprocessador, conforme seus termos. Para a Apple (incl. dados de compra/assinatura via In-App Purchase, como controladora independente) e a Resend (e-mail), aplicam-se os mecanismos de exclusão da respectiva plataforma quanto aos dados que cada uma trata. RevenueCat não é utilizado.
  9. Desconexão de wearable (purge seletivo por provedor, sem excluir a conta). Disponível na tela de Integrações. A desconexão: (a) revoga os tokens junto ao provedor (Oura: oauth/revoke; WHOOP: DELETE /v2/user/access); (b) elimina os dados de conexão (CONEX); (c) grava consent_events granted=false para a finalidade da fonte; (d) aplica a política de dados importados — WHOOP: purge obrigatório de todos os dados com source='whoop' (exigência contratual, verificável por contagem zero); Oura/HealthKit: o titular escolhe manter ou apagar. Eventos de connect/disconnect/purge são registrados em auditoria.

8. Idade mínima e dados de menores

A proteção de crianças e adolescentes observa o Estatuto da Criança e do Adolescente (Lei 8.069/1990), a Lei 15.211/2025 (ECA Digital), o Art. 14 da LGPD, o Art. 8 do GDPR (padrão de referência) e a COPPA (EUA).

Verificação etária (Lei 15.211/2025 — ECA Digital, em vigor desde 17/03/2026). A verificação de idade é feita por autodeclaração no cadastro, com a atestação registrada no aceite (age_attestation, imutável, com data/hora do servidor).

9. Notificação de novos subprocessadores e direito de objeção

  1. Due diligence prévia e DPA com obrigações equivalentes (mínimo: não-treinamento; salvaguardas de transferência internacional — cláusulas contratuais-padrão / SCC e mecanismo equivalente sob a LGPD; limites contratuais de retenção quando aplicável).
  2. Aviso prévio com janela de objeção de 30 dias antes de o novo subprocessador tratar dados, salvo urgência de segurança/continuidade.
  3. Direito de objeção ao Encarregado (dpo@bas-ai.com); onde a finalidade depende de consentimento (ai_processing, intl_transfer, family_sharing, wearable_sync_*), o novo tratamento não ocorre sem o consentimento registrado.

10. Direitos do titular (multi-jurisdição)

Independentemente da jurisdição, o titular pode, pelo app ou pelo Encarregado (dpo@bas-ai.com): acessar e exportar seus dados (portabilidade FHIR R4/PDF), corrigir, eliminar (Seção 7), revogar consentimento a qualquer tempo e opor-se a tratamentos baseados em legítimo interesse.


11. Histórico de versões

VersãoDataMudança
2.102026-07-19Adesão observada de medicamentos (Onda 13, LIVE) + Registros Clínicos/FHIR (Onda 12, US-only, capability-gated). (a) Adesão de medicamentos: o app passa a importar do Apple Saúde (iOS 26+) os eventos de dose marcados como tomados (HKMedicationDoseEvent) para a tabela já existente de tomadas por horário, casados com um medicamento já cadastrado (nunca cria item novo); é memória de adesão, nunca fiscalizaçãozero notificação de dose perdida, e a Anthropic recebe só o agregado factual de dias (nunca porcentagem/juízo/causalidade). Mesma categoria de dado já declarada (rotina de medicação); nova FONTE de importação. Atividade ROPA #6 (linha ampliada) e célula da Anthropic (§3.2). DPIA dedicada DPIA_MED_ADESAO.md. (b) Registros Clínicos: construímos, e deixaremos disponível apenas quando a Apple conceder a habilitação necessária (com.apple.developer.healthkit.access=health-records — processo externo, semanas de prazo) e apenas para contas nos Estados Unidos, a importação somente leitura dos registros clínicos estruturados do titular via FHIR (exames via LOINC, vacinas, medicamentos, condições, procedimentos e alergias) para os trilhos já existentes do prontuário; notas clínicas de texto livre e dados de cobertura/seguro nunca são importados. Até a concessão, o recurso permanece invisível. DPIA dedicada DPIA_CLINICAL_RECORDS_US.md. Contagem de subprocessadores mantida em TRÊS (Supabase, Anthropic, Resend); sem transferência internacional nova (mesma Anthropic já declarada). Bump MINOR de transparência — dispara o re-aceite (mesmo mecanismo de todo bump). policy_version (app) 3.11.
2.92026-07-19Webhooks de wearable (Oura/WHOOP) + identificador pseudônimo do perfil WHOOP + reconciliação das anotações Oura. (a) Para receber avisos de atualização/exclusão em tempo real, passamos a guardar um identificador pseudônimo do perfil do titular na WHOOP (o user_id numérico que os próprios registros já trazem — nunca nome ou e-mail), usado só para rotear o webhook à conexão certa; o webhook apenas sinaliza nova sincronização (nenhum dado clínico trafega nele), tem assinatura HMAC validada, e o evento de exclusão do provedor apaga a linha correspondente no prontuário (paridade de exclusão); as subscriptions da Oura nunca assinam daily_stress. Nova nota na área de fontes de wearable (§3.5). (b) Anotações do vestível (Oura enhanced tags) — reconciliadas à Política de Privacidade 3.9: o texto livre (nome personalizado e comentário) passa a ser descartado na importação e nunca chega a ser guardado (minimização mais forte que a descrita na 2.8); guardamos apenas o código de categoria padronizado (o "tipo": café, álcool etc.), leitura dono-só, apagado na desconexão — e esse código, agregado por semana e nunca como texto livre, pode integrar o contexto enviado à Anthropic quando (e somente quando) o titular mantém o Diário de saúde (daily_journal) ativo; o "consentimento separado e explícito" antes descrito como inexistente agora existe = esse daily_journal. Ajustadas a célula da Anthropic (§3.2), a nota dedicada (§3.2), o glossário (§2), a §3.5 e a atividade ROPA #14. (c) As categorias totais de integração ficam enumeradas na Política de Privacidade 3.9. Sem novo subprocessador e sem transferência internacional nova (o identificador vive na Supabase já declarada). Bump menor de transparência, sob os consentimentos já concedidos — dispara o re-aceite (a mesma tela de aceite reaparece; quem já aceitou a 3.8 apenas confirma a leitura — sem novo consentimento afirmativo obrigatório). policy_version (app) 3.9.
2.82026-07-18Rodada consolidada (policy_version do app 3.8). (a) Anotações de vestível (Oura enhanced tags, mig 0330): nova categoria de PHI da MESMA fonte já conectada — texto livre (tipo, nome personalizado, comentário) em wearable_annotations; leitura dono-só, fora do compartilhamento familiar, NUNCA enviada à Anthropic (exclusão fail-closed — nova nota dedicada sob a §3.2), apagada incondicionalmente na desconexão (célula Oura da §3.5 + atividade #14); requer o escopo OAuth tag (conexões antigas exigem reconexão). A Oura segue controladora independente — nenhum subprocessador novo. (b) Equipe de cuidado no contexto da análise (G3c): a célula Dados tratados da Anthropic (§3.2) passa a declarar nome + especialidade (e instituição/motivo, se informados) dos profissionais da care_teamnunca contato (telefone/e-mail/endereço) nem registro profissional (colunas não selecionadas); mesmo conjunto que o chat já enviava. (c) Glicose CGM agregada: o glossário PHI (§2) e a célula da Anthropic declaram que dias de monitor contínuo viram só agregados diários (média/mín/máx/CV/% na faixa 70–180 do padrão AGP) — leituras contínuas brutas nunca armazenadas. (d) Biblioteca educativa gerada (marker_education): finalidade (d) da Anthropic — geração recebe apenas a coordenada abstrata do tópico (zero dado pessoal do titular). (e) Rastreios populacionais (G2): nova atividade ROPA #20 + linha na matriz — cards educativos in-app por idade/sexo, motor determinístico 100% no aparelho, nunca push, self-only adulto; nenhum dado novo, nenhum destinatário. (f) Condensação de séries de vestível (G8, mig 0231): item 1-A da política de retenção (§6) + matriz — séries diárias brutas podem ser condensadas após 13 meses em rollups semanais e após 36 meses em mensais (minimização; manuais/clínicas nunca). Contagem de subprocessadores mantida em TRÊS (Supabase, Anthropic, Resend); sem transferência internacional nova. policy_version (app) 3.8.
2.72026-07-18Estado de gravidez autodeclarado (FASE 0) — reconciliação da ROPA. (a) O app **parou de importar e persistir o teste de gravidez do HealthKit (mig 0322 purga o legado): a menção foi removida da lista de saúde reprodutiva importada para cycle_entries (Parte A / PHI) — permanecem fluxo, sangramento intermenstrual, teste de ovulação e muco cervical. (b) A célula Dados tratados da Anthropic (§3.2) passa a declarar o estado de gravidez autodeclarado (enum de trimestre) — transiente, só quando a titular adulta dispara a análise/chat, sob consentimento próprio pregnancy-state-1.0, on-device, nunca armazenado por nós, ausente do caminho batch/proativo. Sem novo subprocessador; contagem mantida em TRÊS (Supabase, Anthropic, Resend); sem transferência internacional nova (a mesma da análise). policy_version (app) 3.7 — estado de gravidez.**
2.62026-07-17Índice forense pós-exclusão (account_forensic_hold, mig 0308) — APLICADA a produção 2026-07-17. No ato da exclusão, e para toda conta (inclusive menores — gate DPO; para menor, prazo REDUZIDO e proporcional), retém-se um índice minimizado que sobrevive ao apagamento, contendo no máximo: identificadores de busca (e-mail, Apple sub, telefone, national_id) em HMAC-SHA256 com pepper dedicado guardado em cofre (Vault), cifrado por chave-raiz gerida fora do banco, nunca exposto + IPs recentes em texto + account_ref/metadados mínimos de guarda. SEM PHI, sem nome/e-mail legível (dado PSEUDONIMIZADO — LGPD Art. 12/13; não é anonimização). Finalidade: prevenção a fraude, exercício/defesa de direitos e resposta a autoridade competente. Prazo = prazo prescricional aplicável (mesma duração do prazo de guarda fiscal por proporcionalidade — 5/6/10 anos), expurgo automático. Acesso break-glass owner via RPCs auditadas; tabela BLINDADA (RLS sem policies, sem grant a admin_ops). Base (por finalidade): LGPD Art. 16, I + Art. 7º, VI + Art. 7º, IX; GDPR Art. 6(1)(f) + Art. 17(3)(e). Nova atividade ROPA #19, nova linha na matriz finalidade→base→retenção, e itens §6 (4-A) e §7 (6). Também: §3.4 da Política ganha o IP de acesso e o user-agentcoletado no código nos acessos síncronos (edges analyze-exam/ai-assistant/access-ping, mig 0309). Contagem de subprocessadores mantida em TRÊS (Supabase, Anthropic, Resend); sem transferência internacional nova. policy_version (app) 3.5 (índice forense consolidado e publicado na Política 3.5; migs 0308/0309/0314 aplicadas a produção e verificadas em 2026-07-17).
2.52026-07-16Suporte assistido por IA — ATIVAÇÃO (go-live). O suporte-IA (redigir + traduzir respostas) passa a OPERAR, sempre com revisão humana e minimização best-effort (nunca o prontuário). Dois caminhos DESAGRUPADOS: titular logado via novo consentimento próprio default OFF support_ai_share (+ intl_transfer); remetente externo sem conta via consentimento-primeiro próprio (processar + transferir à Anthropic/EUA), antes de qualquer IA. Transferência coberta pelo DPA/SCC existente da Anthropic (mesmos termos de análise/extração/chat); sem novo subprocessador; retenção ~30 dias pela Anthropic, nunca zero. Ajustadas a §3.2 (dados tratados) e a atividade ROPA de suporte. policy_version (app) 3.1.
2.42026-07-05Diário de saúde sensível — opt-in de coleta (daily_journal). (a) Nova finalidade daily_journal (default OFF, bloqueio server-side por trigger, indisponível para menores) para a coleta de registros diários sensíveis autodeclarados — álcool (uso de substância) e estresse/contexto da noite (saúde mental) — datados em body_measurements. (b) Anthropic: nota de escopo — esses registros NÃO são compartilhados com a IA (permanecem fora da allow-list de análise analysis_core/wearable_context); um envio à IA exigiria consentimento de IA separado e explícito, inexistente nesta versão. (c) Nova atividade ROPA Diário de saúde sensível (#18) e nova linha na matriz finalidade→base→retenção (Art. 7, I / 11, I + Art. 6(1)(a) / 9(2)(a); apagado na revogação, removido na exclusão da conta). Contagem de subprocessadores mantida em TRÊS (Supabase, Anthropic, Resend). policy_version 2.4.
2.32026-07-05Suporte no app + rascunho de resposta assistido por IA (Opção A). (a) Nova categoria SUP — Comunicações de suporte (support_tickets/support_ticket_messages, texto livre que pode conter dado de saúde, guardado no Supabase) e número de conta público (account_ref) — identificador pseudônimo gerado por nós, 8 dígitos, não-sequencial — acrescentado à categoria CONTA. (b) Supabase passa a listar as comunicações de suporte entre os dados tratados. (c) Anthropic recebe, de forma transiente, o texto da conversa de suporte (nunca o prontuário) quando um operador aciona o rascunho de resposta assistido por IAtransferência internacional (EUA) condicionada ao consentimento ai_processing/intl_transfer do titular do ticket. (d) Nota do Apple Private Email Relay na Resend. (e) Nova atividade ROPA Atendimento ao usuário e nova linha Atendimento/Suporte na matriz finalidade→base→retenção (Art. 7, V + Art. 11, I / 6(1)(b) + 9(2)(a)). (f) support_tickets/support_ticket_messages acrescentados à cascata de exclusão de conta. Contagem de subprocessadores mantida em TRÊS (Supabase, Anthropic, Resend). policy_version 2.3.
2.12026-06-23Alinhamento código×política (levantamento autoritativo). (a) Lista de subprocessadores corrigida para três — Supabase, Anthropic e Resend; Apple, Oura e WHOOP reclassificados como controladores independentes/fontes (Seção 3.5), não subprocessadores. (b) DPAs declarados como VIGENTES: Supabase (assinado 2026-06-18, SCC UE + salvaguardas; sa-east-1/Brasil), Anthropic (Commercial Terms 2026-06-17 + SCC; NÃO-TREINO; ~30 dias), Resend (EU-US DPF + SCC, 2026-06-17). (c) Anthropic recebe a CÓPIA TARJADA da imagem/PDF (não a bruta), + sexo+idade+país+ano de nascimento (sem dia/mês), sem identificadores diretos e sem contatos de emergência; tarja on-device best-effort, não de-identificação. (d) Cifra corrigida para AEAD determinística via pgsodium (AES-256). (e) Retenção em duplo-trilho: identidade retida só para quem transacionou (prazo fiscal por jurisdição — 5/6/10 anos); menores e não-pagantes têm identidade apagada na exclusão; consent_events de-vinculado/pseudonimizado (HMAC fora do banco); access_log 6 meses. (f) Exclusão de conta apaga PHI + arquivos + dados de dependentes geridos, com opção de migrar guarda de menor a co-responsável. (g) Nova atividade ROPA Aguardando cota/uso disponível (documento tarjado guardado até haver cota/uso disponível, analisado automaticamente). (h) SaMD/HIPAA explicitados: não é dispositivo médico, IA não verifica interação/contraindicação/alergia×medicamento, HIPAA não se aplica. (i) DPO atualizado para dpo@bas-ai.com; distribuição mundial exceto UE/EEE+Reino Unido; proteções GDPR/UK como base global. policy_version 2.1.
2.02026-06-22Go-live: preços finais, roteamento de modelo de IA atualizado, Legal 2.0.
1.62026-06-14Alinhamento de fato (saúde reprodutiva e contexto da IA).
1.52026-06-12Catálogo canônico de marcadores (LOINC®/UCUM) embarcado — conteúdo licenciado, não subprocessador.
1.42026-06-11Prazos de retenção concretos na ROPA; base legal do núcleo clínico decidida (consentimento primário).
1.32026-06-11Correção de fato: Anthropic = infraestrutura nos EUA; retenção ~30 dias; RevenueCat removido (IAP nativo); Resend adicionado.
1.12026-06-10Integrações de wearables: novas categorias de PHI e CONEX; Oura/WHOOP como fontes; finalidades wearable_sync_*.
1.0Publicação inicial. Subprocessadores: Supabase (BR) e Anthropic (IA); Apple como plataforma.

O histórico de versões fica publicado em https://www.bas-ai.com/myhealth/legal/versoes; cada versão aceita permanece arquivada.


Nota de não-diagnóstico. O MyHealth organiza seu histórico de saúde e oferece uma leitura educativa e prudente. Não é dispositivo médico, não faz diagnóstico e não substitui a avaliação de um profissional de saúde. A IA não verifica interações medicamentosas, contraindicações nem cruza alergia com medicamento. Em emergência, procure atendimento médico imediatamente.