Pular para o conteúdo principal

Políticas de retenção de dados e automação: mantenha o que você precisa, exclua o que você precisa

Crie políticas de retenção de dados com requisitos legais, cronogramas de retenção, aplicação automatizada e verificação de conformidade para GDPR, SOX e HIPAA.

E
ECOSIRE Research and Development Team
|16 de março de 20269 min de leitura1.7k Palavras|

As 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.

Parte da nossa série Conformidade e regulamentação

Leia o guia completo

As 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 dadosRGPDSOX (EUA)Direito Fiscal (varia)HIPAAPadrão da Indústria
Registros financeirosSem mínimo (limitação de finalidade)7 anos3-10 anos (por país)N/A7 anos
Registros de funcionáriosDuração do emprego + 2-6 anosN/A3-7 anos após a rescisãoN/A7 anos após rescisão
Informações de identificação do clienteEnquanto for necessário para a finalidadeN/AN/AN/AExcluir quando o relacionamento terminar + 2 anos
Registros de saúdeN/AN/AN/A6 anos a partir da criação/última data de entrada em vigorVaria por estado (até 30 anos)
Documentos fiscaisN/A7 anos3-10 anos (por país)N/A7 anos
ContratosN/ADuração + 7 anosN/AN/ADuração + 6 anos (prazo de prescrição)
Dados de recrutamentoMáx. 6 meses (melhores práticas)N/AN/AN/A6-24 meses
Tíquetes de suporteEnquanto for necessárioN/AN/AN/A3 anos após encerramento
Registros de auditoriaEnquanto for necessário7 anosN/A6 anos7 anos
Consentimento de comercializaçãoDuração do consentimentoN/AN/AN/AAté ser retirado + 2 anos

Retenção fiscal específica do país

PaísPeríodo de retençãoNotas
Estados Unidos3-7 anosIRS: 3 anos geral, 7 para fraude
Reino Unido6 anosRequisito HMRC
Alemanha10 anosMais rigoroso na UE
França6 anos (10 para alguns)Código de Comércio
Holanda7 anosFiscale bewaarplicht
Austrália5 anosRequisito ATO
Canadá6 anosRequisito CRA
Índia8 anosLei do Imposto de Renda
Emirados Árabes Unidos5 anosAutoridade Tributária Federal

Projetando um cronograma de retenção

Etapa 1: categorias de dados de inventário

CategoriaSistemasProprietárioExemplos de dados
Dados do clienteCRM, comércio eletrônico, suporteVendasNomes, e-mails, histórico de pedidos
Dados dos funcionáriosHRIS, folha de pagamento, benefíciosRHSSN, salário, avaliações de desempenho
Dados financeirosContabilidade, ERP, BancárioFinançasFaturas, recibos, declarações fiscais
Dados de marketingPlataforma de e-mail, AnalyticsComercializaçãoDados de campanha, registros de consentimento
Dados do produtoERP, comércio eletrônicoOperaçõesEspecificações do produto, preços, estoque
Registos operacionaisServidores de aplicativos, bancos de dadosTILogs 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:

  1. Mínimo legal: O que a lei exige que você cumpra?
  2. Máximo legal: O que a lei exige que você exclua? (Limitação da finalidade do GDPR)
  3. Necessidade comercial: por quanto tempo você realmente precisa dela?
  4. 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çãoDescriçãoQuando usar
ExcluirRemover permanentemente todas as cópiasPadrão para dados expirados
AnonimizarRemover elementos de identificação, manter agregadoAnálise, pesquisa
ArquivoMude para armazenamento restrito e criptografadoRetenção legal, arquivo de conformidade
AgregadoSubstituir registos individuais por resumosRelató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 = ''anonymized@removed.com'', 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

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.

E

Escrito por

ECOSIRE Team

Redação técnica

A equipe de redação técnica da ECOSIRE escreve sobre Odoo ERP, e-commerce com Shopify, agentes de IA, análise de dados com Power BI, automação com GoHighLevel e boas práticas de software empresarial. Nossos guias ajudam as empresas a tomar decisões de tecnologia bem fundamentadas.

ECOSIRE

Expanda o seu negócio com ECOSIRE

Soluções empresariais em ERP, comércio eletrônico, IA, análise e automação.

Mais de Conformidade e regulamentação

Cibersegurança para comércio eletrônico: proteja sua empresa em 2026

Guia completo de segurança cibernética de comércio eletrônico para 2026. PCI DSS 4.0, configuração WAF, proteção de bot, prevenção de fraudes em pagamentos, cabeçalhos de segurança e resposta a incidentes.

ERP para Indústria Química: Segurança, Conformidade e Processamento em Lote

Como os sistemas ERP gerenciam documentos SDS, conformidade com REACH e GHS, processamento em lote, controle de qualidade, envio de materiais perigosos e gerenciamento de fórmulas para empresas químicas.

ERP para comércio de importação/exportação: multimoedas, logística e conformidade

Como os sistemas ERP lidam com cartas de crédito, documentação alfandegária, incoterms, lucros e perdas em várias moedas, rastreamento de contêineres e cálculo de taxas para empresas comerciais.

Relatórios de Sustentabilidade e ESG com ERP: Guia de Conformidade 2026

Navegue pela conformidade dos relatórios ESG em 2026 com sistemas ERP. Abrange emissões CSRD, GRI, SASB, escopo 1/2/3, rastreamento de carbono e sustentabilidade Odoo.

Lista de verificação de preparação para auditoria: preparando seus livros

Lista de verificação completa para preparação de auditoria, cobrindo a preparação das demonstrações financeiras, documentação de suporte, documentação de controles internos, listas de PBC de auditores e descobertas comuns de auditoria.

Guia GST australiano para empresas de comércio eletrônico

Guia completo de GST australiano para empresas de comércio eletrônico, cobrindo registro ATO, limite de US$ 75.000, importações de baixo valor, apresentação de BAS e GST para serviços digitais.