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 20268 min de leitura1.7k Palavras|

Parte da nossa série {series}

Leia o guia completo

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

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 = ''[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

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 Research and Development Team

Construindo produtos digitais de nível empresarial na ECOSIRE. Compartilhando insights sobre integrações Odoo, automação de e-commerce e soluções de negócios com IA.

Mais de {series}

Lista de verificação de preparação para auditoria: como seu ERP torna as auditorias 60% mais rápidas

Lista de verificação completa de preparação de auditoria usando sistemas ERP. Reduza o tempo de auditoria em 60% com documentação, controles e coleta automatizada de evidências adequados.

Guia de implementação de consentimento de cookies: gerenciamento de consentimento em conformidade legal

Implemente o consentimento de cookies que esteja em conformidade com GDPR, ePrivacy, CCPA e regulamentações globais. Abrange banners de consentimento, categorização de cookies e integração CMP.

Regulamentações de transferência de dados transfronteiriças: navegando em fluxos de dados internacionais

Navegue pelas regulamentações de transferência de dados transfronteiriças com SCCs, decisões de adequação, BCRs e avaliações de impacto de transferência para conformidade com GDPR, Reino Unido e APAC.

Requisitos regulatórios de segurança cibernética por região: um mapa de conformidade para empresas globais

Navegue pelas regulamentações de segurança cibernética nos EUA, UE, Reino Unido, APAC e Oriente Médio. Abrange regras NIS2, DORA, SEC, requisitos de infraestrutura crítica e cronogramas de conformidade.

Governança e conformidade de dados: o guia completo para empresas de tecnologia

Guia completo de governança de dados que abrange estruturas de conformidade, classificação de dados, políticas de retenção, regulamentos de privacidade e roteiros de implementação para empresas de tecnologia.

Gestão de privacidade de dados de funcionários: equilibrando necessidades de RH com direitos de privacidade

Gerencie a privacidade dos dados dos funcionários com os requisitos do GDPR, bases de processamento de dados de RH, políticas de monitoramento, transferências internacionais e práticas recomendadas de retenção.

Converse no WhatsApp