Versão 1.0 · 30 de julho de 2026 Aplica-se ao assistente de mensagens directas do Instagram @buildwithpt, chamado Iris.

---

1. Quem é o responsável

Pedro Torres, em nome da iAppLabs, residente em Portugal. Contacto para assuntos de privacidade: [email protected]

Responsável pelo tratamento: Pedro Gabriel Evangelista Torres, a operar como profissional independente em Portugal. Contacto: [email protected].

O RGPD exige no Art. 13(1)(a) a identidade e os contactos do responsável, e é isso que está aqui. NIF e morada postal não são exigidos por esse artigo e não são publicados: a obrigação de identificação fiscal aplica-se a venda directa pelo sítio, o que não é o caso. iAppLabs. Sem estes três dados a informação do Art. 13(1)(a) do RGPD fica incompleta. Não há encarregado de protecção de dados nomeado, e não é exigido: a operação é de uma pessoa só, sem tratamento em larga escala nem categorias especiais como actividade principal. da operação, provavelmente não é obrigatório, e nesse caso escreve-se aqui que não há.

Não há representante na UE a designar, porque o responsável está estabelecido na UE.

2. A Iris é uma inteligência artificial

A Iris não é uma pessoa. É um assistente automático que gera as respostas com modelos de linguagem. Isto é dito na primeira mensagem de cada conversa nova e está aqui por escrito, para cumprir o Art. 50(1) do Regulamento da IA (Regulamento UE 2024/1689), que passa a ser aplicável em 2 de agosto de 2026.

O Pedro lê as conversas e pode entrar a qualquer momento. Quando entra, é ele a escrever, não a Iris.

A Iris não decide nada sobre ti. Não há decisão automatizada com efeito jurídico nem efeito significativo equivalente, no sentido do Art. 22 do RGPD. A Iris classifica a conversa para o Pedro saber a quem responder primeiro, e o resultado disso é humano: ele responde ou não responde. Não há preços diferentes, recusas automáticas nem pontuação que te feche portas.

3. Que dados são tratados

Quando mandas mensagem à conta @buildwithpt, o sistema guarda:

DadoOrigem
O teu nome de utilizador do Instagram, nome de exibição e identificador interno da contavem da Meta com a mensagem
O texto integral de todas as mensagens que escreves, e das que a Iris respondeescrito por ti
Mensagens de voz: o ficheiro de áudio e a transcrição em textoenviado por ti
Endereços de sites que mandes na conversa, e o conteúdo público dessas páginasenviado por ti, página lida pelo sistema
Datas e horas das mensagens, e estatísticas de utilização do fluxo de conversageradas pelo sistema

E, a partir do que escreves, o sistema infere um perfil com modelos de linguagem. Estes são os campos que existem, com o nome que têm na base de dados:

  • perfil_profissao, o que fazes
  • perfil_ferramentas, que ferramentas usas
  • perfil_dor, o problema que te trava
  • perfil_nivel_ia, quanto já usas IA
  • perfil_dossie, contexto sobre a tua área de actividade
  • site_lido, resumo factual do site que mandaste
  • transcricao_audio e ultimo_audio_url, transcrição e localização da tua mensagem de voz
  • resposta_ia, pergunta_seguinte, ultima_msg, estado interno da conversa

Isto é uma inferência, não uma declaração tua. Tu não preencheste um formulário: o modelo deduziu estas coisas do que escreveste. Pode estar errado, e tens direito a corrigir ou a apagar (secção 8).

Não são pedidos nem tratados dados sensíveis na acepção do Art. 9 do RGPD (saúde, convicções, orientação sexual, filiação sindical, dados biométricos, e o resto da lista). Não há base jurídica montada para isso. Se mandares esse tipo de informação por iniciativa própria, ela fica no texto da mensagem porque a mensagem é guardada tal e qual, e o pedido é simples: não mandes. Se já mandaste, escreve apaga meus dados na conversa.

Não são recolhidos dados de pagamento, localização, contactos do telefone, nem nada de fora do Instagram.

4. Para que servem

1. Responder-te. É o objectivo todo. A conversa e o perfil inferido entram no contexto que o modelo usa para produzir a resposta seguinte. 2. Perceber quem está a falar, para a resposta usar o vocabulário da tua área em vez de generalidades. 3. Avisar o Pedro quando a conversa parece ser assunto comercial, para ele responder como pessoa. 4. Corrigir o sistema. Registos técnicos e de auditoria (por exemplo, que site foi lido e quando) servem para investigar falhas.

Não há publicidade, não há venda nem partilha de dados com anunciantes, não há criação de audiências para campanhas, e nada do que escreves é usado para treinar modelos de IA (secção 6).

5. Base jurídica: interesse legítimo, e porque não consentimento

A base é o Art. 6(1)(f) do RGPD, interesse legítimo.

Não é consentimento, e a razão é prática: pedir consentimento explícito, informado e granular no meio de uma conversa de DM não funciona. Ou se manda um muro de texto legal antes de responder "olá", e aí ninguém lê e o consentimento é uma ficção, ou se manda um resumo, e aí não é informado. Um consentimento que ninguém lê não protege ninguém. A opção foi a inversa: interesse legítimo, transparência forte à cabeça, e oposição num toque.

Teste de balanceamento

Interesse legítimo perseguido. Responder a quem escreve à conta, entender o contexto da pessoa para a resposta ser útil, e identificar quando faz sentido o Pedro entrar. Um profissional independente responder às mensagens que recebe é um interesse legítimo claro, e a lei reconhece expressamente o marketing directo e a gestão de relacionamento como casos típicos (Considerando 47 do RGPD).

Necessidade. Não há forma mais leve de o conseguir. Para responder é preciso ler a mensagem. Para responder com contexto é preciso guardar a conversa, porque sem histórico o assistente repete perguntas já respondidas. A inferência de perfil substitui um interrogatório: em vez de fazer seis perguntas de triagem, o modelo lê o que já disseste. Os dados são exactamente os que a conversa produz, sem enriquecimento com fontes externas sobre ti, sem compra de listas, sem cruzamento com outras plataformas.

Impacto em ti, dito sem enfeite. Escreveste para uma conta pública num canal de mensagens; a expectativa razoável é que a mensagem seja lida e guardada. Contra isso pesam três coisas concretas: (a) o perfil é inferido sem tu pedires, e portanto o sistema guarda sobre ti conclusões que tu não escreveste; (b) o texto integral fica guardado, não um resumo; (c) se mandaste voz, o áudio saiu do servidor para um terceiro para ser transcrito. Nenhuma destas três é trivial, e é por isso que existem os controlos abaixo em vez de uma frase a dizer que o impacto é mínimo.

Salvaguardas que fazem o balanço fechar.

  • A primeira mensagem diz que é IA e onde ler esta página.
  • apaga meus dados, escrito na conversa, para o assistente e desencadeia o apagamento

completo, sem justificação e sem formulário.

  • parar ou o botão de opt-out silenciam o assistente de imediato.
  • Prazos de conservação curtos e automáticos (secção 7), e o perfil inferido expira antes

do resto.

  • Zero enriquecimento externo, zero publicidade, zero treino de modelos.
  • Nenhuma decisão automatizada com consequência para ti.

Conclusão. O interesse legítimo prevalece, mas só por causa das salvaguardas. Se qualquer uma delas cair, este teste deixa de estar correcto e tem de ser refeito.

Podes opor-te. Art. 21(1) do RGPD, sem teres de explicar porquê. Ver a secção 8.

6. Quem mais toca nos teus dados

O sistema corre em servidor próprio, alugado à Hostinger International Limited, com a máquina em Paris, França (verificado: AS47583, srv1759438.hstgr.cloud). A base de dados, o motor de conversa, o leitor de páginas web (Firecrawl) e o motor de busca (SearXNG) são todos auto-alojados nessa máquina, dentro da UE. Nenhum deles é terceiro.

Estes são os subcontratantes reais, na acepção do Art. 28 do RGPD:

QuemO que recebeQuandoPaís
Google (Gemini, modelo gemini-3.1-flash-lite)o histórico da conversa, a tua mensagem e o perfil inferidoa cada resposta que a Iris dá, ou seja, sempreEUA
OpenAI (whisper-1)o ficheiro de áudio da tua mensagem de vozsó quando mandas vozEUA
OpenRouter (encaminha para google/gemini-3.1-flash-lite)apenas a designação da profissão, mais material público recolhido da web sobre essa profissão. Não recebe o texto da conversa nem identificadores teusquando é gerado contexto novo sobre uma área de actividade ainda não conhecidaEUA
Slack (Salesforce)o teu nome, a profissão e a dor inferidas, e os primeiros 180 caracteres da tua mensagem, no aviso privado ao Pedroquando a conversa é marcada como assunto comercialEUA
Dropboxcópia de segurança cifrada de todo o servidor, incluindo a base de dadosdiariamente, às 04h UTCEUA
Meta (Instagram)é o canal por onde a mensagem chega e saisempreEUA

Uma nota importante, porque é fácil enganar-se a ler isto: é a Google que vê o volume. Passa por lá o texto de todas as conversas e todos os perfis, em cada resposta. A OpenAI só vê áudio, e só se mandares voz.

A Meta não é subcontratante. É responsável autónomo pelo Instagram e trata os teus dados segundo a política dela, sobre a qual o Pedro não tem controlo.

Transferências para país terceiro (Art. 13(1)(f) e Capítulo V do RGPD). Todos os destinatários da tabela acima são empresas dos EUA. O mecanismo declarado é a adesão de ambos ao EU-US Data Privacy Framework, complementada pelas cláusulas contratuais-tipo dos respectivos contratos de tratamento. Confirmar a inscrição activa na lista oficial do DPF antes de cada revisão anual desta página. O mecanismo de transferência aplicável a cada um, que tem de ser verificado nos contratos assinados e não pode ser presumido: certificação no EU-US Data Privacy Framework ou cláusulas contratuais-tipo no acordo de tratamento de dados de cada fornecedor. Enquanto isso não estiver verificado fornecedor a fornecedor, esta secção está incompleta.

Retenção do lado da OpenAI. Por defeito, a API da OpenAI guarda os dados enviados até 30 dias para monitorização de abuso. Está pendente a aceitação do acordo de tratamento de dados com retenção zero. Até isso ficar feito e confirmado, esta política não pode afirmar que o áudio não é conservado do lado da OpenAI. Corrigir aqui no dia em que for aceite, com a data.

Treino de modelos. As chamadas são feitas às APIs pagas destes fornecedores, cujos termos para uso via API excluem o treino de modelos com os dados dos clientes. Nota de 2026-08-02: o OpenRouter deixou de ser usado. O agente aponta direto para o Google (gemini-3.1-flash-lite), conferido em AIAgent.models. A política depende do modelo e do encaminhamento escolhido. Se não for confirmado para todos, esta frase tem de sair.

7. Quanto tempo ficam guardados

Cada prazo tem uma finalidade que o justifica. O apagamento é automático, corre todos os dias às 05:30 UTC (unidade iris-expurgo.timer, verificada activa).

O quePrazoPorquê este prazo
Texto das mensagens90 diascobre o ciclo de uma conversa e um follow-up. Passado isso, guardar a mensagem já não serve para responder
Perfil inferido (perfil_*, site_lido, transcricao_audio, ultimo_audio_url)365 diasé o ciclo típico de uma decisão sobre ferramentas de trabalho. Expira antes do contacto, de propósito: a conclusão sobre ti morre antes do registo de que falámos
Contacto sem qualquer interacção730 diasdois anos sem trocar palavra é o fim de um relacionamento comercial
Registo de auditoria da leitura de sites365 diasserve para investigar falhas técnicas, e um ano é mais do que suficiente
Cópias de segurança cifradasaté 6 meses7 diárias, 4 semanais e 6 mensais, e depois são eliminadas por rotação automática

Contexto agregado por área de actividade (dossie_categoria) não expira, porque não te diz respeito: descreve uma profissão a partir de material público da web e não contém dados de pessoa nenhuma.

Uma consequência das cópias de segurança que é honesto dizer à cabeça: mesmo depois de apagarmos os teus dados da base de dados activa, uma cópia deles sobrevive dentro dos backups cifrados até que a rotação os elimine, no máximo 6 meses. Isto vale também para o apagamento a pedido.

8. Os teus direitos e como usá-los

Tens direito a acesso (Art. 15), rectificação (Art. 16), apagamento (Art. 17), limitação do tratamento (Art. 18) e oposição (Art. 21). Como a base é o interesse legítimo e não consentimento nem contrato, o direito à portabilidade (Art. 20) não se aplica, mas se pedires os teus dados num ficheiro, recebes.

Duas formas de fazer, e a primeira é imediata:

1. Na própria conversa. Escreve apaga meus dados. Também funciona apagar tudo, esquece tudo, esquece o que eu falei, quero ser esquecido. A Iris pede confirmação, pára de responder e o apagamento é executado. Funciona igualmente por mensagem de voz. Para só silenciar o assistente sem apagar nada, escreve parar. 2. Por email, para [email protected]. Serve para acesso, cópia, correcção e para os casos em que já não tens a conversa aberta.

O que o apagamento apaga, e é o rasto todo, não só o nome: as mensagens, os anexos e respectivos ficheiros, o perfil inferido, os eventos de analítica, os registos de erro e o próprio contacto.

Prazo de resposta: até 30 dias (Art. 12(3) do RGPD). O objectivo interno para o pedido feito na conversa é 24 horas. Ver "Limitações conhecidas".

Reclamação. Se achares que isto foi mal feito, podes reclamar à autoridade de controlo. Em Portugal, a CNPD (cnpd.pt). Se estás noutro país da UE, à autoridade do teu país. Se estás no Brasil, aplica-se também a LGPD (Lei 13.709/2018) e a autoridade é a ANPD (gov.br/anpd); os direitos descritos acima são equivalentes aos dos artigos 18 e 20 da LGPD. Antes disso, escreve ao Pedro, que é mais rápido.

9. Menores

Isto não é dirigido a menores de idade e não há qualquer pedido de dados a crianças. A idade mínima declarada é 13 anos, alinhada com o mínimo do próprio Instagram e com o limite português. Portugal fixa em 13 anos a idade para consentimento em serviços da sociedade da informação, o Brasil trata menores de 18 com regime próprio na LGPD, e como a base aqui é interesse legítimo e não consentimento, o razoável é declarar que o serviço é destinado a adultos e que qualquer conversa identificada como sendo de menor é apagada.

10. Segurança

  • Tráfego cifrado em trânsito, com TLS terminado por proxy reverso.
  • Cópias de segurança cifradas na origem (restic) antes de saírem do servidor.
  • Acesso ao servidor só por chave SSH, autenticação por palavra-passe desactivada

(verificado: passwordauthentication no).

  • Base de dados sem qualquer porta publicada para a internet, acessível apenas na rede

interna do servidor (verificado).

  • Chaves de API dos fornecedores guardadas na base de dados e não no código.

Confirmado: a ENCRYPTION_KEY está definida no ambiente do worker, usada pela aplicação. A variável existe, o uso não foi verificado, e por isso a palavra "cifradas" não está nesta frase.

11. Alterações

Se isto mudar, a versão e a data no topo mudam. Alteração que afecte a base jurídica, os prazos ou a lista de subcontratantes é anunciada nas mensagens directas a quem tiver conversa activa.

12. Limitações conhecidas

Esta secção existe porque uma política que descreve o sistema ideal em vez do sistema real é pior do que não ter política nenhuma. São três, todas medidas hoje.

1. Os ficheiros de áudio não têm prazo automático de apagamento. O apagamento diário remove as mensagens aos 90 dias e o perfil inferido (incluindo transcrição e URL do áudio) aos 365 dias, mas não remove os registos de anexo nem os ficheiros no armazenamento. O áudio só é apagado quando pedes o apagamento, e aí é apagado. Ou seja: o prazo prometido na secção 7 é cumprido para texto e perfil, e não está automatizado para o ficheiro de áudio em si. Resolvido em 2026-08-02: o script de expurgo passou a apagar também a linha de Attachment e o ficheiro no disco, e não só a mensagem. Antes o áudio sobrevivia ao prazo. Nota sobre antes de publicar, ou reescrever a secção 7 para dizer a verdade. 2. O ficheiro de áudio é servido por um URL sem autenticação. Quem tiver o endereço exacto do ficheiro consegue abri-lo. O endereço não é divulgado nem indexado e é difícil de adivinhar, mas isto não é controlo de acesso, é obscuridade. Resolvido em 2026-07-30: o acesso público ao armazenamento foi fechado (medido de fora, devolve 403). Antes disso qualquer pessoa com o endereço baixava um anexo de DM. Detalhe de forma explícita que é assim. 3. O apagamento a pedido é executado à mão. Quando escreves apaga meus dados, o sistema para de responder de imediato, marca-te e avisa o Pedro. O apagamento em si é corrido por um script que uma pessoa lança. Enquanto for assim, "até 24 horas" é um objectivo e não uma garantia técnica, e o prazo com valor legal é o de 30 dias do Art. 12(3). Hoje o pedido de exclusão é executado por script pelo responsável, e o expurgo por prazo corre automaticamente todos os dias às 05:30 UTC, apagando mensagem, anexo e ficheiro. Manter a promessa nos 30 dias.

---