Salta ai contenuti

Modello Privacy — Confine ZDR

Factum Parse usa semantica zero-retention per il testo diretto e il mapping PII, mentre gli artefatti upload e i risultati deterministici dei job hanno comportamenti di storage/TTL espliciti. Sono garanzie diverse e sono documentate separatamente di proposito.

Rizzo Pipeline

Per input text diretto, il backend evita esplicitamente di creare un ParseJob o di persistare il payload della richiesta. Il mapping è restituito da Rizzo, usato localmente da restore(), ed è di proprietà del processo di richiesta.

L’invariante critico è:

Privacy Boundary

Quando RIZZO_PII_REQUIRED=true (default di produzione), il fallimento del sidecar è fail-closed: l’API restituisce 503 piuttosto che inviare testo in chiaro al modello esterno.

L’implementazione di rizio_pii.restore() nel backend è locale e sincrona; non esiste una chiamata remota /restore. Il mapping non viene quindi inviato al provider LLM.

Non confondere la garanzia del mapping PII con il ciclo di vita degli upload.

POST /v1/uploads può persistare l’XML/PDF originale in object storage e crea un job. La configurazione backend corrente definisce:

  • limite trasporto/upload: 10 MiB;
  • ciclo di vita object-storage: 1 giorno di default;
  • TTL cache documenti: 30 giorni di default;
  • i risultati deterministici XML FatturaPA possono essere persistiti nella cache documenti / record job;
  • i risultati LLM per testo diretto non sono persistiti come job.

L’affermazione accurata è quindi:

Mapping PII: in RAM, scope richiesta. Testo diretto: stateless. Upload: TTL-governato.

Qualunque affermazione più forte richiede una configurazione di deployment verificata separatamente.

Condizione Comportamento
Rizzo disponibile pseudonymize → estrazione esterna → restore locale
Rizzo non disponibile + required 503, nessun fallback in chiaro
text diretto nessun ParseJob; risultato nella risposta HTTP
XML upload parse deterministico può persistare risultato/metadata job e artefatto storage
PDF upload ingestion crea un job; estrazione semantica eseguita da /v1/parse

Il backend espone metriche Prometheus tra cui:

  • rizzo_pii_up
  • rizzo_pii_calls_total
  • rizzo_pii_timeout_total
  • rizzo_pii_entities_detected
  • rizzo_pii_pseudonymize_duration_seconds
  • rizzo_pii_restore_duration_seconds

Queste metriche dimostrano l’attività runtime; non sono di per sé una certificazione legale.