# Criptografia e auditoria avançadas (YARA · WORM · crypto-shredding)

| Campo | Valor |
|---|---|
| **Prioridade** | Baixo |
| **Status** | Descartado (por ora) |
| **Origem** | `cms/` (Concordia) — trilha de segurança pesada trazida na importação (`F0.I2.T3`) |
| **ADR provável** | ADR-029 (BLAKE3 — tratado à parte) · ADR própria para YARA/WORM/crypto-shredding |
| **Relaciona** | `wiki/plan/01-analise-e-decisoes.md`, `wiki/plan/08-servicos-headless-persistencia.md`, `wiki/plan/17-dados-abertos-lgpd-governanca.md` |

## Objetivo

O Concordia trazia primitivas de segurança pesadas **antes de haver dado real**: varredura **YARA**,
armazenamento **WORM** e **crypto-shredding** (criptografia de stream de mídia). Elas foram
**removidas do código** na importação para convergir a simplicidade/determinismo (ADR-001) e o
mínimo de dependências (ADR-002). Este item preserva o histórico para reavaliação.

> **BLAKE3 NÃO é this item** — ele é **adotado e permanece** ([ADR-029](../adr/ADR-029-blake3-integridade-auditoria.md))
> para integridade/auditoria e blind index (extensão PHP `blake3`, pinada no runtime — planos 04 e 08).

## Escopo (o que fazer, se promovido)

- [ ] Reavaliar necessidade real (há dado sensível/PII que justifique?).
- [ ] Se sim, ADR própria descrevendo o modelo de ameaça (STRIDE) e o custo operacional.
- [ ] Preferir o **nativo**: `encrypted` cast (ADR-019), triggers de imutabilidade e papéis de banco
      com privilégio mínimo (ADR-017) antes de qualquer primitiva exótica.
- [ ] `down()`/retenção respeitando ADR-017/ADR-019.

## Fora de escopo

- Hashing de integridade de auditoria — **BLAKE3 adotado** (ADR-029; `HashingService`, `AuditService`).
- Criptografia de PII em repouso — **`encrypted`** nativo.
- Indexação ativa **IndexNow** — **adotada** pelo ADR-027.

## Dependências

- ADR-019 (LGPD como programa) maduro; volume real de dados sensíveis.

## Critérios de promoção (backlog → ADR/plano)

- [ ] `kd write` da decisão (corpo: Alternativas/Por quê/Consequência).
- [ ] Criar `wiki/adr/ADR-0NN-*.md` + entrada no `wiki/adr/README.md`.
- [ ] Criar/estender plano em `wiki/plan/` + atualizar `00-index`.
- [ ] Atualizar `AGENTS.md` e remover o item deste backlog.

## Notas

- Removidos na F0.I2.T3: `Services\Security\StreamEncryptionService` (crypto-shredding) e o uso de
  `ShreddableCast` (classe inexistente no `src`); `SecureMediaStorage` simplificado (sem cifra de
  stream); `SecurityServiceProvider`/`MediaStorageInterface` ajustados.
- **Preservado:** **BLAKE3** (`blake3()`, `HashingService`, `AuditService`, UI de auditoria) — [ADR-029](../adr/ADR-029-blake3-integridade-auditoria.md).
- **YARA/WORM** só existiam em `containers/`/docs do Concordia (não transpostos); nenhum código.
