mcpField
L
lgpd-retention-erasure

lgpd-retention-erasure

github.com/goul4rt安全14950 次安装23 周前更新
代码仓库

关于 lgpd-retention-erasure

此技能指导团队依据巴西 LGPD 实施数据保留与删除流程。它通过保留规则、删除策略和自动化任务,帮助平衡删除请求与法定留存义务。

主要功能

  1. 01法定保留义务层级
  2. 02巴西常见数据保留期限
  3. 03硬删除与软删除策略
  4. 04密钥销毁与匿名化
  5. 05Prisma 保留规则架构
  6. 06定时删除与审计日志

适用场景

  1. 01处理 LGPD 数据删除请求
  2. 02按法定义务保留记录
  3. 03自动删除超过期限的记录
  4. 04报告已删除及受限数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/goul4rt/lgpd-skills --skill lgpd-retention-erasure

安装后在 Claude Code 中输入/lgpd-retention-erasure确认已加载。

详细介绍

保留与删除

LGPD 第 15 至 16 条规定了处理终止。第 18 条第 VI 款赋予删除权。实际难点在于强制法定保留。

义务层级

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

存在法定义务要求保留(税务、劳动、银行、《民事互联网框架法》)时,处理仍会受限(不得用于原始目的),直至法定期限届满,之后予以删除。

巴西常见期限

类别期限来源
税务(发票、税款)5 年CTN 第 173 至 174 条
劳动(合同、工资表)5 年CLT 第 11 条
社会保障10 年第 8.212/91 号法律
银行10 年CMN
《民事互联网框架法》——连接日志1 年第 12.965/2014 号法律第 13 条
《民事互联网框架法》——应用访问日志6 个月第 12.965/2014 号法律第 15 条
CDC——消费关系5 年CDC 第 27 条(时效)

删除策略

1. 硬删除

无须法定保留时使用。在所有表、复制副本和备份中实施明确定义的级联删除(在可行的情况下)。

2. 软删除 + 限制

仅当部分字段须依法保留时使用。标记 deletedAt,屏蔽非必要字段,仅保留严格必需的数据。

3. 密钥销毁

数据量大且难以遍历存储时使用。使用数据主体的密钥加密数据;删除即销毁密钥。

4. 匿名化

作为删除的替代方案。匿名化后(不可逆),数据不再属于 LGPD 的适用范围(第 12 条)。

Prisma Schema

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
}

自动删除任务

每日 Cron job:

  1. 查找超过保留期限的记录
  2. 根据 RetentionRule 应用 postAction
  3. 记录到 AuditLogEntry
  4. 每周向 Encarregado 发送报告通知

第 18 条第 VI 款的工作流

详见技能 lgpd-dsar。摘要:

  1. 接收请求
  2. 核查法定保留要求
  3. 若无需保留 → 硬删除
  4. 若需部分保留 → 软删除 + 对可删除字段执行密钥销毁
  5. 记录日志
  6. 回复数据主体,告知已删除的内容及受限的内容(含期限)

状态更新

## 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: lgpd-incident-response

评论

支持 Markdown