Concluímos nossa auditoria de GDPR. Veja o que realmente fechamos.
Há algumas semanas, escrevemos que "compatível com GDPR" na página inicial de uma ferramenta de vídeo significa menos do que você imagina — que GDPR é um conjunto de obrigações sobre você, o controlador de dados, que um fornecedor ajuda você a cumprir ou deixa discretamente na sua mesa. A maneira honesta de sustentar essa afirmação é fazer o trabalho do nosso lado e mostrá-lo, linha por linha.
E foi isso que fizemos. Conduzimos uma auditoria completa do código-base do InterMIND em relação às obrigações que recaem sobre nós como processador de dados, corrigimos cada lacuna que tinha código por trás e verificamos cada uma contra o produto em execução. Este post é o relatório de encerramento — não um selo, mas um checklist com as nossas respostas.
Não estamos afirmando deliberadamente "100% certificado por GDPR". GDPR não é um certificado que você aprova — e não vamos ostentar um selo ISO que ainda não possuímos. O que podemos dizer: as obrigações arquitetônicas e de processo que um DPO avalia agora têm respostas concretas e verificáveis, cada uma verificada contra o código em execução.
O que fechamos
Direito ao apagamento (Art. 17) — a cascata realmente funciona
Excluir sua conta não apenas a desativa. POST /api/user/delete-account executa uma cascata real: ela destrói suas reuniões → participantes, mensagens, conferências, transcrições; ela limpa seus blobs de armazenamento do Tigris antes da cascata do banco de dados para que nada fique órfão — anexos de chat e arquivos de gravação de vídeo, em ambas as colunas; e cancela suas assinaturas da Stripe e exclui o cliente da Stripe. A exclusão sob demanda também está lá — exclua um canal ou uma mensagem da interface e ele desaparece. Contas anônimas (convidados) recebem seu próprio endpoint de exclusão além de uma limpeza em segundo plano a cada 6 horas, sob um cron monitorado. A auditoria revelou uma lacuna aqui — blobs de gravação que a cascata do banco de dados descartava, mas o armazenamento mantinha — e a fechamos: o apagamento agora não deixa nada para trás no armazenamento de objetos.
Retenção (Art. 5(1)(e)) — um critério documentado
O Art. 5(1)(e) não exige um time-to-live automático. Exige um critério de retenção definido. O nosso agora está escrito na Política de Privacidade: os dados são mantidos até que você ou o proprietário da sua equipe os excluam, e excluir sua conta apaga tudo. Esse é o mesmo modelo que ferramentas de colaboração como Slack e Notion utilizam — a persistência é o comportamento esperado, e você mantém o controle disso. O critério é declarado, não implícito.
Consentimento de análise (Art. 6/7) — opt-out por padrão
Um banner de consentimento da Usercentrics (exibido para visitantes da UE) controla as análises, e o PostHog vem com opt_out_capturing_by_default: true — nada é capturado até que o consentimento seja dado, e não o contrário.
Portabilidade de dados (Art. 20) — uma exportação real
GET /api/user/export cria um ZIP das suas reuniões, mensagens, gravações e traduções, com uma janela de download de 7 dias e limpeza automática. Acesso, exclusão e portabilidade são ferramentas que funcionam, não promessas em uma política.
O conteúdo da reunião vai para um gateway de IA, na UE — escolhido pela organização
O maior fluxo de conteúdo de reunião — tradução de voz e chat ao vivo — é executado em nosso próprio motor na França, nunca em um LLM de terceiros. As etapas de IA que usam um modelo de propósito geral (o resumo, os resumos de documentos, as ações generativas do editor de notas, o Ask AI) são executadas no gateway de IA que a organização seleciona — Azure OpenAI na Zona de Dados da UE por padrão, Vertex AI UE ou Amazon Bedrock Frankfurt por escolha, cada um em nosso próprio tenant com retenção zero de dados e sem treinamento no conteúdo do cliente, ou no próprio endpoint da organização; um resolvedor no código escolhe o gateway para cada ponto de chamada, então não há um segundo caminho. Também removemos os nomes dos participantes e o texto das falas dos logs do navegador de conferência que a gravação de sessão do PostHog poderia capturar de outra forma. O mapa completo fornecedor por fornecedor está em Onde uma reunião do InterMIND realmente acontece.
Transparência — subprocessores e registros de processamento, publicados
A lista de subprocessores está no ar, com o que cada fornecedor faz e onde está domiciliado — e não "disponível mediante solicitação". Por trás dela está um Registro de Atividades de Processamento (ROPA) construído a partir do esquema ativo: 11 operações de processamento, as medidas de segurança em cada uma e os caminhos de apagamento / portabilidade. Nossa Política de Privacidade e Termos agora funcionam sob nossa própria entidade legal, com a cadeia de processamento real descrita.
Tempo de execução na UE — fixado, não prometido
Cada salto de tempo de execução que uma reunião dá está na UE: aplicativo e APIs na Vercel Frankfurt, o servidor de reunião na Fly Paris, dados do aplicativo no Neon Postgres (AWS Frankfurt), erros no Sentry EU, análises no PostHog EU, e-mail via Resend Ireland. O armazenamento de objetos no Tigris agora está fixado em regiões da UE (Frankfurt + Amsterdã) — cada nova escrita chega na UE, independentemente de onde o usuário esteja. A arquitetura completa está na nossa página de segurança.