Skip to content
Back to skills

Saas Lgpd Retention Erasure

ASecurity

Define retention rules and erasure mechanisms (LGPD Arts. 15-16) reconciling subject's right to erasure (Art. 18, VI) with legal retention obligations (fiscal, labor, banking). Use when user asks 'retenção LGPD', 'quanto tempo guardar', 'eliminação de dados', 'soft delete vs hard delete', 'crypto-shredding', 'right to be forgotten'.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
databasesgodocumentation

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add Basinfy/Basinfy-SaaS-Studio --skill saas-lgpd-retention-erasure --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Saas Lgpd Retention Erasure?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Saas Lgpd Retention Erasure
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/basinfy-saas-lgpd-retention-erasure/badge)](https://www.skillsdirectory.com/skills/basinfy-saas-lgpd-retention-erasure)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: saas-lgpd-retention-erasure
description: Define retention rules and erasure mechanisms (LGPD Arts. 15-16) reconciling subject's right to erasure (Art. 18, VI) with legal retention obligations (fiscal, labor, banking). Use when user asks 'retenção LGPD', 'quanto tempo guardar', 'eliminação de dados', 'soft delete vs hard delete', 'crypto-shredding', 'right to be forgotten'.
user-invocable: true
model: sonnet
---

# Retention & Erasure

> **Interaction Localization Rule**:
> When locale: pt-BR (or user speaks Portuguese), ALL questions (AskUserQuestion / sk_question), confirmation prompts, and selectable options MUST be translated and presented in **Brazilian Portuguese (PT-BR)**.
> Any English question text or options in this skill are illustrative examples — NEVER display English questions or options to a Portuguese developer.
> Internal reasoning, code synthesis, tests, and technical documentation MUST remain in English (except Brazilian statutory compliance documents under .lgpd/).


Arts. 15-16 LGPD definem o término do tratamento. Art. 18, VI dá direito à eliminação. A tensão prática é com **retenções legais obrigatórias**.

## Hierarquia de obrigações

```
Retenção legal obrigatória > Retenção contratual > Vontade do titular (Art. 18, VI)
```

Quando há obrigação legal de manter (fiscal, trabalhista, bancário, Marco Civil), o tratamento continua **bloqueado** (não usado para finalidade original) até o fim do prazo legal, depois é eliminado.

## Prazos comuns no Brasil

| Categoria | Prazo | Fonte |
|---|---|---|
| Fiscal (notas, impostos) | 5 anos | CTN Art. 173-174 |
| Trabalhista (contratos, folha) | 5 anos | CLT Art. 11 |
| Previdenciária | 10 anos | Lei 8.212/91 |
| Bancário | 10 anos | CMN |
| Marco Civil — logs de conexão | 1 ano | Lei 12.965/2014 Art. 13 |
| Marco Civil — logs de acesso a apps | 6 meses | Lei 12.965/2014 Art. 15 |
| CDC — relação de consumo | 5 anos | CDC Art. 27 (prescrição) |

## Estratégias de eliminação

### 1. Hard delete
Quando não há retenção legal. Cascata bem definida em todas as tabelas + replicas + backups quando possível.

### 2. Soft delete + bloqueio
Quando há retenção legal de **alguns campos**. Marcar `deletedAt`, mascarar campos não-essenciais, manter apenas o estritamente necessário.

### 3. Crypto-shredding
Quando há volume e dificuldade de varrer storage. Dados cifrados por chave do titular; eliminação = destrói a chave.

### 4. Anonimização
Substituto à eliminação. Após anonimizar (irreversivelmente), dado sai do escopo da LGPD (Art. 12).

## Schema Prisma

```prisma
model RetentionRule {
  id              String   @id @default(cuid())
  entity          String   // "User", "Order", "Message"
  purpose         String   // "marketing", "billing"
  retentionMonths Int
  legalBasis      String
  postAction      PostRetentionAction
  triggeredBy     String   // "consent_revoked", "contract_end", "ttl"
  active          Boolean  @default(true)
}

enum PostRetentionAction {
  HARD_DELETE
  ANONYMIZE
  CRYPTO_SHRED
  BLOCK_AND_RETAIN
}
```

## Job de eliminação automática

Cron job diário:
1. Identifica registros que ultrapassaram retenção
2. Aplica `postAction` conforme `RetentionRule`
3. Loga em `AuditLogEntry`
4. Notifica relatório semanal ao Encarregado

## Workflow para Art. 18, VI

Ver detalhes no skill `saas-lgpd-dsar`. Resumo:
1. Recebe pedido
2. Verifica retenção legal
3. Se ZERO retenção → hard delete
4. Se PARCIAL → soft delete + crypto-shred dos campos elimináveis
5. Loga
6. Responde titular informando o que foi eliminado e o que foi bloqueado (com prazo)

## Status update

```markdown
## F8 — Retention ✓
- RetentionRules configuradas: {N}
- Job diário ativo
- Eliminação automatizada validada em ambiente staging
- {M} registros já em fila para eliminação
- Próximo: saas-lgpd-incident-response
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.