L’Invariante
Ogni affermazione di resilienza mappa su un meccanismo interrogabile. Hash chain, heartbeat dei nodi, evidenze di ingest firmate — gli auditor verificano su tabelle live ed endpoint pubblici, non su slide.
Il Contratto
| Parametro | Meccanismo (verificabile) |
|---|---|
| Durabilità scrittura (edge) | Scrittura business + riga di audit + ax_cdc_outbox committati nella stessa transazione — un fatto o esiste con la sua evidenza o non esiste |
| RPO cloud | pg_dump sulla schedulazione di backup del deployment (vedi docs/DEPLOY.md nel repo — il runbook è la procedura canonica, non un sidecar) |
| Recovery edge | Policy container restart: unless-stopped + re-claim zero-touch (token bootstrap bt_*) — un nodo rientra firmato e drena il suo outbox |
| Recovery cloud | Migrazioni schema idempotenti al boot + readiness probe GET /api/v1/ready |
Superfici di audit: cp_admin_audit (mutazioni admin append-only, hash-chained), ax_audit_logs sull’edge (azioni operatore hash-chained), cp_ingest_batches (buste firmate conservate), GET /api/v1/public/verify/event/:id (verifica terze parti senza credenziali), GET …/tenant/audit + …/audit/verify (export e ri-verifica self-service della catena), audit-webhooks tenant/admin (push firmato verso il tuo SIEM).
Il Flusso
blackout edge → i commit restano locali (outbox durevole) → riconnessione → drain (la dedup assorbe il replay)
failure cloud → redeploy → le migrazioni convergono → /api/v1/ready
manomissione → qualsiasi riga di audit riscritta rompe la hash chain → verify espone il gap
Esempio di Payload
# L'evidenza di integrità che un auditor esegue — senza credenziali
curl -s https://cp.axiom-trace.eu/api/v1/public/verify/event/$EVENT_ID | jq .
# Lato tenant: ri-verifica end-to-end della catena delle azioni admin
curl -s https://cp.axiom-trace.eu/api/v1/tenant/audit/verify \
-H "Authorization: Bearer $PS" | jq '{ok, checked, head}'
I Fallimenti Noti
Mappatura compliance — con i confini onesti:
| Framework | Cosa fornisce Axiom-Trace | Confine onesto |
|---|---|---|
| Audit ISO-9001 | Evidenza di integrità attribuibile per nodo di impianto | Evidenza, non prova legale qualificata |
| GDPR | L’oracolo risponde con zero leakage — niente tenant_id, niente payload, niente segreti |
Gli obblighi del data-controller restano del tenant |
| NIS2 | Chain-of-custody edge→cloud, telemetria tamper-evident, revoca chiavi immediata | Le misure organizzative restano del cliente |
Trasporto: la TLS termina al reverse proxy (vedi docs/DEPLOY.md per il riferimento Caddy); l’integrità del payload è garantita inoltre a livello applicativo — la firma Ed25519 per-nodo copre il body grezzo della richiesta, quindi il trasporto non è l’ancora di fiducia.