O artigo 17.º do RGPD: uma obrigação simples de enunciar, complexa de executar
«O cliente pode pedir a eliminação dos seus dados.» A frase é lapidar no artigo 17.º do RGPD. A sua aplicação numa loja PrestaShop ou WooCommerce com 5 anos de existência é tudo menos simples. Porque uma «eliminação de conta» bem feita tem de navegar entre quatro exigências contraditórias:
- O direito ao apagamento do cliente (RGPD, artigo 17.º).
- A obrigação de conservação dos registos contabilísticos durante 10 anos (artigo 123.º do CIRC e artigo 52.º do CIVA).
- A rastreabilidade fiscal das vendas (faturação certificada, SAF-T (PT), comunicação à AT).
- O direito de resposta a um eventual litígio (garantia legal de conformidade de 3 anos em Portugal, Decreto-Lei n.º 84/2021).
A questão prática: um módulo que apaga tudo brutalmente coloca a empresa em infração contabilística. Um módulo que não apaga nada coloca a empresa em infração ao RGPD, com sanções até 4 % do volume de negócios mundial. A boa prática é a pseudonimização seletiva: apagar o que não é necessário a uma obrigação legal e conservar o resto numa forma não associável a uma pessoa identificada.
O que o artigo 17.º do RGPD diz exatamente
O artigo 17.º, n.º 1, enumera seis motivos que justificam o pedido de apagamento:
- Os dados deixaram de ser necessários para a finalidade que motivou a recolha.
- A pessoa retira o consentimento e não existe outro fundamento jurídico.
- A pessoa opõe-se ao tratamento e não existe interesse legítimo prevalecente.
- Os dados foram tratados ilicitamente.
- Os dados têm de ser apagados para cumprir uma obrigação jurídica.
- Os dados foram recolhidos no contexto da oferta de serviços a uma criança.
Mas o artigo 17.º, n.º 3, prevê cinco exceções que se aplicam com frequência ao comércio eletrónico:
- Exercício da liberdade de expressão e de informação.
- Cumprimento de uma obrigação jurídica (por exemplo: conservação contabilística).
- Motivos de interesse público no domínio da saúde pública.
- Fins de arquivo, investigação científica ou histórica, estatística.
- Declaração, exercício ou defesa de um direito num processo judicial.
A exceção (b), obrigação jurídica, é a que se aplica aos dados contabilísticos. Mas não cobre todos os dados de uma conta de cliente: apenas os estritamente necessários à tenuta da contabilidade e ao cumprimento do prazo de conservação (10 anos).
Cartografar os dados de uma conta de cliente
Numa loja PrestaShop com 5 anos de histórico, uma conta de cliente contém tipicamente:
| Categoria de dado | Exemplos | Apagamento artigo 17.º | Conservação legal |
|---|---|---|---|
| Identificação | nome, apelido, e-mail, telefone | Pseudonimizar | 10 anos (contabilidade) |
| Moradas | entrega, faturação | Conservar a morada de faturação, apagar as moradas de entrega antigas | 10 anos para a faturação |
| Encomendas | número, data, montantes, artigos | Conservar | 10 anos (contabilidade) mais 3 anos (garantia legal) |
| Pagamentos | tokens Stripe/PayPal, últimos dígitos | Apagar se já não são usados | Sem obrigação, mas útil em litígio |
| Palavras-passe | hash bcrypt | Apagar de imediato | Nenhuma |
| Preferências | newsletter, marketing, cookies | Apagar | Nenhuma (salvo prova de consentimento, útil 3 anos) |
| Histórico de navegação | registos de visitas, carrinhos abandonados | Apagar | Nenhuma |
| Avaliações e comentários | avaliações de produto, mensagens de apoio | Anonimizar («Cliente anónimo») | Variável consoante a exibição pública |
| Programa de fidelização | pontos, estatutos | Apagar | Nenhuma |
| Lista de desejos | produtos favoritos | Apagar | Nenhuma |
A regra de triagem: este dado é necessário ao rasto contabilístico ou a um eventual litígio? Se sim, conserva-se em forma pseudonimizada. Se não, apaga-se.
Pseudonimização: o mecanismo central
Pseudonimizar não é anonimizar. A diferença é jurídica e técnica:
- Anonimização: supressão irreversível da ligação entre o dado e a pessoa. O dado nunca mais pode ser associado. A anonimização retira o dado do perímetro do RGPD.
- Pseudonimização: substituição dos identificadores diretos por um pseudónimo, mas a ligação continua teoricamente reconstruível (por exemplo, através de uma tabela de correspondência cifrada). O dado continua no perímetro do RGPD, mas o tratamento é considerado menos arriscado.
No comércio eletrónico, procura-se geralmente uma pseudonimização forte que se aproxima de uma anonimização prática:
customer.firstname→"Cliente"customer.lastname→"#" + id_customer(por exemplo"#42851")customer.email→"deleted-" + id_customer + "@invalid"(prefixo especial, domínio inválido)customer.phone→ NULLcustomer.passwd→ bytes aleatórios (conta efetivamente inutilizável)customer.note→ NULLaddress.firstname,address.lastnamenas moradas antigas → pseudónimoaddress.firstname,address.lastnamena morada de faturação das encomendas existentes → conservar (necessários à fatura)
A chave está na nuance: guarda-se a fatura tal como foi emitida (obrigação contabilística), mas apaga-se tudo o que já não serve.
Arquitetura de um módulo de eliminação conforme
Um módulo sério para PrestaShop, como o DfAccountDelete, implementa cinco camadas:
Camada 1: identificação do pedido
Três canais possíveis:
- Botão na área de cliente: «Eliminar a minha conta», acessível a partir de «Os meus dados». UX de autosserviço.
- Formulário de pedido: para os antigos clientes que já não conseguem iniciar sessão. Verificação de identidade por e-mail com ligação de confirmação.
- Pedido ao encarregado de proteção de dados: por e-mail ou carta, tratado manualmente e registado no sistema.
Camada 2: verificação de identidade
Antes de apagar, confirma-se que a pessoa é mesmo a titular da conta. Para os clientes autenticados: a sessão iniciada mais a introdução da palavra-passe ou validação por e-mail. Para os não autenticados: envio de um e-mail de confirmação com ligação de uso único e duração limitada (tipicamente 1 hora). Para os pedidos por carta: cópia de documento de identificação conservada 1 ano e depois destruída.
Camada 3: prazo de reflexão
Opcional mas recomendado: um prazo de 7 a 30 dias entre o pedido e a execução efetiva. O utilizador recebe um e-mail «o seu pedido será tratado em [data], clique aqui para cancelar». Evita as eliminações acidentais e os arrependimentos.
Camada 4: execução da pseudonimização
O módulo executa numa transação MySQL atómica:
- Pseudonimiza
ps_customer(nome, e-mail, telefone, entre outros). - Pseudonimiza as
ps_addressnão associadas a encomendas finalizadas. - Apaga os
ps_cartabandonados,ps_compare,ps_wishlist. - Apaga as entradas de programa de fidelização, alertas de preço, alertas de stock.
- Anonimiza as avaliações públicas («Cliente anónimo») ou apaga-as consoante a política.
- Apaga os registos de sessão, tokens de magic link, carrinhos guardados.
- Apaga as subscrições de newsletter (e propaga ao Mailchimp e ao Brevo por API, se ligados).
- Marca a conta como eliminada (
active=0,deleted=1,deleted_at= agora). - Conserva intactas as encomendas, faturas e notas de crédito (
ps_orders,ps_order_invoice,ps_order_slip).
Camada 5: registo de auditoria e notificação
Uma entrada num registo de auditoria RGPD:
- Data do pedido, data da execução.
- E-mail de origem (antes da pseudonimização).
- ID do cliente.
- Método de verificação de identidade.
- Lista das tabelas afetadas e número de linhas alteradas.
Este registo é conservado 3 anos, prazo razoável para demonstrar a conformidade. Serve em caso de inspeção da CNPD ou de pedido da pessoa («apagaram mesmo os meus dados?»).
É enviado um e-mail de confirmação para o endereço de origem, com menção de que os dados foram apagados exceto os necessários à contabilidade (transparência, artigo 12.º do RGPD).
A ponte com a faturação: o que é preciso preservar sem falta
Certos dados são necessários à faturação certificada e ao SAF-T (PT) que a AT pode exigir:
- Identificação do cliente na fatura emitida (nome, NIF se o cliente o indicou, morada de faturação no momento da emissão). Mas não é preciso que esse nome continue localizável a partir da base de clientes viva: está na fatura arquivada e em
ps_orders. - Montantes sem IVA, IVA, portes, total com IVA: dados contabilísticos puros, a conservar intactos.
- Data da encomenda, da fatura, do pagamento: idem.
- Método de pagamento (Stripe, PayPal, Multibanco, transferência): útil para a reconciliação bancária.
O padrão prático: pseudonimiza-se ps_customer, mas deixam-se ps_orders.firstname, ps_orders.lastname e ps_orders.email tal como estavam no momento da encomenda. É o que aparece na fatura emitida. A fatura é o registo contabilístico, imutável. A conta de cliente é um agregado vivo, que se pode anonimizar.
No PrestaShop, esta lógica é facilitada pelo facto de a fatura ser gerida por ps_order_invoice com os seus próprios campos (o nome não é só referenciado por id_customer, fica também congelado na encomenda). No WooCommerce é mais delicado: as encomendas guardam o ID do cliente e reconstroem a informação na exibição. É preciso congelar o nome e a morada de faturação na encomenda no momento da pseudonimização, senão a fatura regenerada mostra «Cliente anónimo». E, em qualquer plataforma, a fatura fiscalmente válida está no software certificado, que tem as suas próprias obrigações de conservação.
As avaliações e os comentários: um caso à parte
Uma avaliação de produto exibida publicamente com o nome do cliente é um dado pessoal (artigo 4.º do RGPD). O seu apagamento a pedido coloca dois problemas:
- O conteúdo da avaliação tem valor para os outros clientes (informação ao consumidor).
- O histórico das avaliações serve à média de classificação.
A resolução jurídica normal: anonimizar o nome («Cliente anónimo» ou «C.A.»), conservar o conteúdo da avaliação e a nota. É um tratamento estatístico no sentido do artigo 17.º, n.º 3, alínea d). Se o cliente pedir explicitamente o apagamento completo da avaliação («não quero que este texto continue a existir»), apaga-se por inteiro, e recalcula-se a média sem o dado perdido.
Esta nuance deve ser apresentada ao utilizador no formulário: «Quer apagar as suas avaliações ou torná-las anónimas?».
Casos particulares difíceis
Conta de cliente com litígio em curso
Se uma encomenda está em litígio (devolução bloqueada, contestação, acionamento da garantia), o apagamento dos dados do cliente compromete a defesa da empresa. O artigo 17.º, n.º 3, alínea e), cobre este caso: pode recusar o apagamento até à resolução do litígio, informando o cliente da razão. A conservação faz-se com estatuto «em litígio» e acesso restrito.
Conta B2B com vários utilizadores
Numa conta B2B com vários utilizadores, o apagamento da conta de um utilizador não deve apagar a empresa. Apaga-se o utilizador (que tem um direito individual) e conservam-se as encomendas em nome da empresa (que, sendo pessoa coletiva, não tem direito ao apagamento).
Newsletter sem conta (anónima)
Um e-mail inscrito na newsletter sem conta de cliente: o apagamento é imediato, sem pseudonimização. Não há obrigação contabilística associada. Uma exceção: se o consentimento de marketing for registado para prova, pode conservar-se o histórico do consentimento (data, IP, opt-in) durante 3 anos depois da anulação da subscrição. Depois disso, apagamento completo.
Subscritores de um serviço recorrente
Nas lojas com subscrições, o apagamento da conta exige primeiro a paragem da subscrição (é impossível cobrar um cartão de uma conta que já não existe). O módulo tem de sequenciar: cancelamento das subscrições, espera de um ciclo para confirmação, pseudonimização. Saltar a sequência causa cobranças órfãs e contencioso com os clientes.
O prazo de resposta imposto pelo RGPD
Artigo 12.º, n.º 3, do RGPD: a resposta a um pedido deve ocorrer no prazo de 1 mês, prorrogável por mais 2 meses nos pedidos complexos, com notificação da prorrogação ao requerente. Na prática, no comércio eletrónico:
- Pedido simples pelo botão «eliminar a minha conta»: execução imediata (com o prazo de reflexão opcional), muito abaixo do prazo legal.
- Pedido por e-mail ou carta que exige verificação de identidade: 1 a 2 semanas de tratamento, abaixo do mês.
- Pedido em contexto complexo (litígio, subscrição ativa, várias contas): 1 mês com informação ao requerente sobre o estado.
O incumprimento do prazo expõe a sanções da CNPD. Um módulo automatizado que responde em 24 a 48 h cobre largamente o risco.
Custo e retorno
O retorno de um módulo de eliminação de conta conforme mede-se de forma diferente de um módulo de conversão:
- Custo do módulo: 39 € de licença para PrestaShop.
- Custo evitado de uma sanção: variável, mas as sanções aplicadas a lojas online na Europa entre 2023 e 2025 vão de alguns milhares de euros para PME a vários milhões para as grandes insígnias. A relação custo/risco é extremamente favorável.
- Custo evitado de tratamento manual: numa loja com 50 000 clientes, tratar 5 a 10 pedidos por mês à mão representa 2 a 4 horas mensais de trabalho interno, cerca de 1200 € por ano.
- Benefício de confiança: mostrar um botão «eliminar a minha conta» bem visível tornou-se um sinal de confiança forte em 2026, mensurável na taxa de criação de contas (3 % a 6 % a mais observados).
FAQ
É mesmo preciso guardar as encomendas 10 anos depois de eliminar a conta?
Sim, é a obrigação contabilística e fiscal (artigo 123.º do CIRC, artigo 52.º do CIVA). O RGPD não dispensa do direito fiscal. A resolução: as encomendas ficam na base em forma pseudonimizada (o nome do cliente já não está ligado a uma conta viva, mas continua na fatura emitida, como é necessário). Findos os 10 anos, o apagamento completo é possível.
O que fazer se o Mailchimp ou o Brevo continuar a enviar a newsletter?
O artigo 19.º do RGPD impõe a propagação do apagamento aos destinatários dos dados. Se sincronizou a base com o Mailchimp, o Brevo ou o Klaviyo, o módulo tem de chamar a respetiva API para apagar o contacto, e não apenas anular a subscrição. É um ponto a validar na instalação: todos os conectores de marketing têm de receber o sinal de apagamento.
Como gerir o apagamento nos subcontratantes (Stripe, PayPal)?
O Stripe e o PayPal conservam os tokens de pagamento e o histórico das transações segundo a sua política, em geral 10 anos por conformidade fiscal e combate ao branqueamento de capitais. Não pode forçar o apagamento: é a obrigação legal deles, distinta da sua. A menção na política de privacidade deve indicar que os subcontratantes de pagamento conservam os dados segundo o seu próprio prazo legal.
Pode-se eliminar uma conta sem informar o cliente?
Se foi o cliente a pedir a eliminação: informa-se da execução. Se é a empresa que elimina por iniciativa própria (inatividade prolongada, por exemplo): tem de ter previsto essa política nas condições gerais e na política de privacidade, e idealmente notificar 30 dias antes para permitir a oposição. A eliminação sem notificação é arriscada.
Quanto tempo depois de um pedido de apagamento pode um cliente voltar?
O direito ao apagamento não é um direito à reversão. Depois de os dados serem apagados (ou pseudonimizados), o cliente que volta cria uma conta nova do zero. O histórico fica no registo de auditoria RGPD (que serve para provar que o pedido foi executado), mas não pode ser reutilizado para reconstituir a conta inicial.
Em síntese
A eliminação de conta conforme ao artigo 17.º do RGPD é um exercício de equilíbrio entre quatro obrigações legais contraditórias. A resolução passa pela pseudonimização seletiva: apaga-se ou anonimiza-se tudo o que não está coberto por uma obrigação de conservação, e conserva-se intacto o rasto contabilístico necessário à faturação certificada e ao controlo fiscal.
O módulo DfAccountDelete para PrestaShop implementa esta lógica com as cinco camadas de um fluxo conforme: identificação, verificação de identidade, prazo de reflexão opcional, pseudonimização atómica, registo de auditoria. Preserva a cadeia contabilística e integra-se com as principais ferramentas de marketing (Mailchimp, Brevo, Klaviyo) para propagar o apagamento.
O bom reflexo em 2026: mostrar um botão «eliminar a minha conta» bem visível na área de cliente (sinal de confiança, conformidade explícita), documentar o fluxo na política de privacidade (transparência, artigo 12.º), conservar o registo de auditoria 3 anos para demonstrar a conformidade em caso de inspeção da CNPD.
Para as lojas que querem uma auditoria completa da sua conformidade com o RGPD, a nossa auditoria PrestaShop cobre os seis pontos críticos: cookies e consentimento, fundamento do tratamento dos dados de clientes, prazos de conservação parametrizados, direito de acesso e portabilidade, direito ao apagamento, registo das atividades de tratamento (artigo 30.º).