Rizzo is a local sidecar process that performs pseudonymization of Italian PII before the payload reaches any external LLM provider. It runs as a separate container within the same pod/network namespace as the API backend.
Pseudonymize: the backend sends the raw document text to Rizzo via local HTTP. Rizzo returns a masked version with all detected PII replaced by placeholders (e.g. [NOME-1], [CF-2], [INDIRIZZO-3]), plus a mapping dictionary.
External extraction: the masked text is sent to the LLM provider for semantic extraction.
Restore: the LLM result (which may contain hallucinated or modified PII placeholders) is processed by Rizzo’s restore() function, running locally within the backend process. The mapping is replaced back with original values.