# Deletion playbook

## Scopo

Cancellare dati importati dal DB analytics locale senza toccare i file originali dei client.

## Regola base

Ogni cancellazione reale richiede:

1. dry-run;
2. verifica conteggi;
3. conferma utente;
4. `confirm_plan_id`;
5. `confirm_delete: true`.

## Esempio dry-run per sorgente

```json
{
  "sources": ["codex"],
  "period_type": "month",
  "period_value": "2026-05",
  "dry_run": true
}
```

## Esempio cancellazione confermata

```json
{
  "confirm_plan_id": "<plan-id>",
  "confirm_delete": true,
  "dry_run": false
}
```

## Filtri

Usare filtri per sorgente e periodo:

```text
sources
date_from/date_to
period_type + period_value
delete_scope
```

`date_from/date_to` e `period_type/period_value` sono alternativi.

## Scope

```text
sessions
runtime_events
source_files
all
```

## Sicurezza

- non cancellare file sorgente;
- non cancellare settings o migrations;
- non usare filtri testuali;
- non esporre path locali;
- se il piano cambia tra dry-run e delete, annullare e rifare dry-run.
