Parte da nossa série Compliance & Regulation
Leia o guia completoAs empresas retêm em média 33% mais dados do que o necessário legalmente, aumentando os custos de armazenamento e a exposição a violações. A retenção de dados é onde convergem a conformidade legal, a otimização de custos e a segurança. Retenha demais e você aumentará sua superfície de ataque. Retenha muito pouco e você violará os requisitos legais de retenção.
Este guia aborda o design da política de retenção, os requisitos legais por tipo de dados e a aplicação automatizada que mantém a conformidade da sua organização sem intervenção manual.
Principais conclusões
- Os períodos de retenção são determinados pela interseção de requisitos legais, necessidades comerciais e obrigações de privacidade
- A aplicação automatizada é essencial --- processos de exclusão manual têm uma taxa de falha de 40%
- Diferentes tipos de dados dentro do mesmo sistema podem ter diferentes períodos de retenção
- As retenções legais devem substituir as políticas de retenção padrão quando um litígio é previsto
Requisitos de período de retenção por regulamento
Requisitos Mínimos de Retenção
| Tipo de dados | RGPD | SOX (EUA) | Direito Fiscal (varia) | HIPAA | Padrão da Indústria |
|---|---|---|---|---|---|
| Registros financeiros | Sem mínimo (limitação de finalidade) | 7 anos | 3-10 anos (por país) | N/A | 7 anos |
| Registros de funcionários | Duração do emprego + 2-6 anos | N/A | 3-7 anos após a rescisão | N/A | 7 anos após rescisão |
| Informações de identificação do cliente | Enquanto for necessário para a finalidade | N/A | N/A | N/A | Excluir quando o relacionamento terminar + 2 anos |
| Registros de saúde | N/A | N/A | N/A | 6 anos a partir da criação/última data de entrada em vigor | Varia por estado (até 30 anos) |
| Documentos fiscais | N/A | 7 anos | 3-10 anos (por país) | N/A | 7 anos |
| Contratos | N/A | Duração + 7 anos | N/A | N/A | Duração + 6 anos (prazo de prescrição) |
| Dados de recrutamento | Máx. 6 meses (melhores práticas) | N/A | N/A | N/A | 6-24 meses |
| Tíquetes de suporte | Enquanto for necessário | N/A | N/A | N/A | 3 anos após encerramento |
| Registros de auditoria | Enquanto for necessário | 7 anos | N/A | 6 anos | 7 anos |
| Consentimento de comercialização | Duração do consentimento | N/A | N/A | N/A | Até ser retirado + 2 anos |
Retenção fiscal específica do país
| País | Período de retenção | Notas |
|---|---|---|
| Estados Unidos | 3-7 anos | IRS: 3 anos geral, 7 para fraude |
| Reino Unido | 6 anos | Requisito HMRC |
| Alemanha | 10 anos | Mais rigoroso na UE |
| França | 6 anos (10 para alguns) | Código de Comércio |
| Holanda | 7 anos | Fiscale bewaarplicht |
| Austrália | 5 anos | Requisito ATO |
| Canadá | 6 anos | Requisito CRA |
| Índia | 8 anos | Lei do Imposto de Renda |
| Emirados Árabes Unidos | 5 anos | Autoridade Tributária Federal |
Projetando um cronograma de retenção
Etapa 1: categorias de dados de inventário
| Categoria | Sistemas | Proprietário | Exemplos de dados |
|---|---|---|---|
| Dados do cliente | CRM, comércio eletrônico, suporte | Vendas | Nomes, e-mails, histórico de pedidos |
| Dados dos funcionários | HRIS, folha de pagamento, benefícios | RH | SSN, salário, avaliações de desempenho |
| Dados financeiros | Contabilidade, ERP, Bancário | Finanças | Faturas, recibos, declarações fiscais |
| Dados de marketing | Plataforma de e-mail, Analytics | Comercialização | Dados de campanha, registros de consentimento |
| Dados do produto | ERP, comércio eletrônico | Operações | Especificações do produto, preços, estoque |
| Registos operacionais | Servidores de aplicativos, bancos de dados | TI | Logs de acesso, logs de erros, trilhas de auditoria |
Etapa 2: Atribuir períodos de retenção
Para cada categoria, determine o período de retenção usando esta hierarquia:
- Mínimo legal: O que a lei exige que você cumpra?
- Máximo legal: O que a lei exige que você exclua? (Limitação da finalidade do GDPR)
- Necessidade comercial: por quanto tempo você realmente precisa dela?
- Tolerância ao risco: Qual é o custo de mantê-lo versus excluí-lo?
O período de retenção é: MAX (mínimo legal, necessidade comercial), mas NÃO MAIS DO que o máximo legal (se aplicável).
Etapa 3: Definir ações de descarte
| Ação | Descrição | Quando usar |
|---|---|---|
| Excluir | Remover permanentemente todas as cópias | Padrão para dados expirados |
| Anonimizar | Remover elementos de identificação, manter agregado | Análise, pesquisa |
| Arquivo | Mude para armazenamento restrito e criptografado | Retenção legal, arquivo de conformidade |
| Agregado | Substituir registos individuais por resumos | Relatórios financeiros |
Aplicação de retenção automatizada
Implementação PostgreSQL
-- Retention policy table
CREATE TABLE retention_policies (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
table_name VARCHAR(100) NOT NULL,
date_column VARCHAR(100) NOT NULL,
retention_days INTEGER NOT NULL,
action VARCHAR(20) NOT NULL, -- 'DELETE', 'ANONYMIZE', 'ARCHIVE'
condition TEXT, -- Optional WHERE clause
enabled BOOLEAN DEFAULT TRUE,
last_run TIMESTAMP,
records_affected INTEGER DEFAULT 0
);
-- Insert policies
INSERT INTO retention_policies (table_name, date_column, retention_days, action, condition) VALUES
('support_tickets', 'closed_at', 1095, 'ANONYMIZE', 'status = ''closed'''),
('recruitment_candidates', 'applied_at', 730, 'DELETE', 'status != ''hired'''),
('session_logs', 'created_at', 90, 'DELETE', NULL),
('newsletter_unsubscribed', 'unsubscribed_at', 365, 'DELETE', NULL),
('audit_logs', 'created_at', 2555, 'ARCHIVE', NULL);
-- Enforcement function
CREATE OR REPLACE FUNCTION enforce_retention_policies()
RETURNS TABLE(policy_id UUID, table_name TEXT, records_affected BIGINT) AS $$
DECLARE
policy RECORD;
affected BIGINT;
query TEXT;
BEGIN
FOR policy IN
SELECT * FROM retention_policies WHERE enabled = TRUE
LOOP
IF policy.action = 'DELETE' THEN
query := format(
'DELETE FROM %I WHERE %I < NOW() - INTERVAL ''%s days''',
policy.table_name, policy.date_column, policy.retention_days
);
IF policy.condition IS NOT NULL THEN
query := query || ' AND ' || policy.condition;
END IF;
ELSIF policy.action = 'ANONYMIZE' THEN
-- Anonymization requires table-specific logic
-- This is a simplified example
query := format(
'UPDATE %I SET email = ''[email protected]'', name = ''Anonymized'' WHERE %I < NOW() - INTERVAL ''%s days''',
policy.table_name, policy.date_column, policy.retention_days
);
IF policy.condition IS NOT NULL THEN
query := query || ' AND ' || policy.condition;
END IF;
END IF;
EXECUTE query;
GET DIAGNOSTICS affected = ROW_COUNT;
UPDATE retention_policies
SET last_run = NOW(), records_affected = affected
WHERE id = policy.id;
RETURN QUERY SELECT policy.id, policy.table_name::TEXT, affected;
END LOOP;
END;
$$ LANGUAGE plpgsql;
Agendamento
# Run retention enforcement daily at 3 AM
# /etc/cron.d/retention-enforcement
0 3 * * * postgres psql -d ecosire -c "SELECT * FROM enforce_retention_policies();" >> /var/log/retention-enforcement.log 2>&1
Retenções legais
Quando se aplica uma retenção legal
Uma retenção legal suspende as políticas normais de retenção quando um litígio é antecipado, pendente ou em andamento. Todos os dados potencialmente relevantes devem ser preservados independentemente dos cronogramas de retenção.
Implementação
-- Legal hold table
CREATE TABLE legal_holds (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
matter_name VARCHAR(255) NOT NULL,
description TEXT,
custodians TEXT[], -- Users whose data is held
tables_affected TEXT[], -- Tables where retention is suspended
created_at TIMESTAMP DEFAULT NOW(),
released_at TIMESTAMP,
created_by UUID REFERENCES users(id)
);
-- Modified retention enforcement respects legal holds
CREATE OR REPLACE FUNCTION enforce_retention_with_holds()
RETURNS void AS $$
BEGIN
-- Skip tables under active legal hold
DELETE FROM session_logs
WHERE created_at < NOW() - INTERVAL '90 days'
AND 'session_logs' NOT IN (
SELECT UNNEST(tables_affected)
FROM legal_holds
WHERE released_at IS NULL
);
END;
$$ LANGUAGE plpgsql;
Verificação e Conformidade
Auditoria de retenção mensal
- [] Todas as políticas de retenção são documentadas e atuais
- [] A aplicação automatizada foi executada com sucesso (verifique os registros)
- Não existem dados além do período de retenção (verificação de amostra)
- [] As retenções legais estão ativas para todos os litígios pendentes
- [] Novas categorias de dados receberam períodos de retenção atribuídos
- [] Processadores terceirizados cumprem os requisitos de retenção
Perguntas frequentes
O que acontece se mantivermos os dados por mais tempo do que o necessário de acordo com o GDPR?
A retenção de dados pessoais para além do período de retenção necessário viola o princípio de limitação de armazenamento do RGPD (artigo 5.º, n.º 1, alínea e)). As autoridades de supervisão podem emitir multas até 20 milhões de euros ou 4% do volume de negócios anual global. De forma mais prática, o excesso de dados aumenta sua exposição em caso de violação – você é responsável por dados que não deveria ter tido.
Como lidamos com a retenção de cópias de backup?
Os backups complicam a retenção porque contêm instantâneos de dados em momentos específicos. Opções: (1) alternar os backups de acordo com um cronograma alinhado ao seu período de retenção mais longo, (2) criptografar os backups e destruir a chave de criptografia quando a retenção expirar ("fragmentação de criptografia"), (3) aceitar que os backups podem conter dados expirados, mas documentar isso como uma limitação técnica com controles de compensação.
Como implementamos a retenção no Odoo?
Odoo não possui automação de retenção integrada. Implemente-o usando: (1) ações agendadas (cron jobs) que arquivam ou anonimizam registros antigos, (2) módulos personalizados que impõem regras de retenção em modelos específicos, (3) funções em nível de banco de dados para operações em massa. ECOSIRE fornece personalização Odoo para gerenciamento automatizado do ciclo de vida de dados.
O que vem a seguir
A retenção de dados é um componente de um programa de governança completo. Combine-o com privacidade desde o projeto para novos sistemas, privacidade de dados de funcionários para dados de RH e gerenciamento de contratos de fornecedores para processadores terceirizados.
Entre em contato com a ECOSIRE para consultoria de implementação e concepção de políticas de retenção de dados.
Publicado pela ECOSIRE – ajudando as empresas a gerenciar dados durante todo o seu ciclo de vida.
Escrito por
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Expanda o seu negócio com ECOSIRE
Soluções empresariais em ERP, comércio eletrônico, IA, análise e automação.
Artigos Relacionados
ROI de automação de contas a pagar: os números reais por trás da redução dos custos de fatura de US$ 12 para US$ 2 (2026)
A automação de contas a pagar reduz o processamento de faturas de US$ 12-15 para menos de US$ 3 cada. A matemática completa do ROI de 2026: retorno por volume, fontes de economia e limites.
BMF Programmablaufplan Lohnsteuer 2026: Implementando o cálculo oficial do imposto sobre salários na Alemanha (XML, API, Odoo)
Guia do desenvolvedor para o BMF Programmablaufplan Lohnsteuer 2026: o que é o PAP, o formato de pseudocódigo XML, serviço de teste oficial e mapeamento para folha de pagamento Odoo.
25 exemplos de automação de processos de negócios que realmente funcionam em 2026 (de uma equipe que os executa na produção)
25 exemplos reais de automação de processos de negócios em finanças, vendas, suporte e operações — com notas honestas sobre o que os agentes de IA, RPA e fluxos de trabalho fazem de melhor.
Mais de Compliance & Regulation
BMF Programmablaufplan Lohnsteuer 2026: Implementando o cálculo oficial do imposto sobre salários na Alemanha (XML, API, Odoo)
Guia do desenvolvedor para o BMF Programmablaufplan Lohnsteuer 2026: o que é o PAP, o formato de pseudocódigo XML, serviço de teste oficial e mapeamento para folha de pagamento Odoo.
ERP para marcas de roupas e moda: matriz tamanho-cor, planejamento sazonal e conformidade (guia 2026)
Como as marcas de moda e roupas escolhem um ERP em 2026: variantes de matriz tamanho-cor, planejamento sazonal, conformidade com GoBD e DATEV, comparação de fornecedores e custos.
ERPNext RH e folha de pagamento em 2026: configuração, estruturas salariais e conformidade multipaíses
Configuração passo a passo do ERPNext HR e folha de pagamento para 2026: instalação do aplicativo HRMS, estruturas salariais, lançamentos de folha de pagamento, placas de imposto de renda, conformidade multipaíses.
Conformidade GoHighLevel A2P 10DLC em 2026: registro, taxas e correção de SMS bloqueados
Guia completo do GoHighLevel A2P 10DLC para 2026: etapas de registro de marca e campanha, taxas da operadora, motivos comuns de rejeição e como corrigir SMS filtrados.
Validação GxP para sistemas ERP: o que sua RFP de validação 2026 deve exigir (CSV, IQ/OQ/PQ, trilhas de auditoria)
O que uma RFP de validação de ERP GxP deve exigir em 2026: escopo CSV e CSA, 21 CFR Parte 11, Anexo 11 da UE, resultados IQ/OQ/PQ, trilhas de auditoria e risco GAMP 5.
Modelo de segurança OpenClaw, residência de dados, SOC 2 e ISO 27001
Arquitetura de segurança OpenClaw: isolamento de locatário, criptografia, gerenciamento de segredos, registros de auditoria, residência de dados, SOC 2, ISO 27001, GDPR, aptidão HIPAA.