---
title: "I tuoi documenti, aperti: cosa il motore ha letto, cosa hai modificato, e la ricevuta di ogni cambio."
seo_title: "I tuoi documenti: raio-X, edizioni e ricevuta | SazAI"
description: "Ogni documento si apre con il suo raio-X completo, le edizioni collegate all'originale, e una ricevuta per ogni cambio."
tags: [marketing]
---

> Un file che apri è una cosa; un documento che puoi audire è un'altra. Quello che cambia tra i due è la lettura che avviene all'ingresso, una volta, e tutto quello che rimane registrato per questo motivo.

<div class="chap">

<div class="ico-col"><sz-icon style="color:var(--verb-see)" name="file" size="36"></sz-icon></div>

<h2 id="unit">L'unità del tuo formato</h2>

<h3 class="sub">La conversazione cambia parola perché l'unità cambia natura</h3>

Una presentazione ha diapositive. Un documento ha sezioni. Un foglio di calcolo ha schede. Un PDF ha pagine, che sono già il rendering finale e non uno spazio ancora da tracciare. Gli schermi e l'agente usano la parola del tuo formato, non la parola del formato più comune.

<figure class="viz duo four" role="group" aria-label="L'unità di ogni formato: diapositiva nella presentazione, sezione nel documento, scheda nel foglio di calcolo, pagina nel PDF">
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:44px;height:44px"><rect x="3" y="4" width="18" height="13" rx="1"/><line x1="9" y1="21" x2="15" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg><b>diapositiva</b>presentazione</div>
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:44px;height:44px"><path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"/><polyline points="13 2 13 9 20 9"/><line x1="8" y1="13" x2="16" y2="13"/><line x1="8" y1="17" x2="14" y2="17"/></svg><b>sezione</b>documento</div>
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:44px;height:44px"><rect x="3" y="3" width="18" height="18" rx="1"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="3" y1="15" x2="21" y2="15"/><line x1="9" y1="3" x2="9" y2="21"/></svg><b>scheda</b>foglio di calcolo</div>
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:44px;height:44px"><path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"/><polyline points="13 2 13 9 20 9"/><rect x="8" y="12" width="8" height="6" rx="1"/></svg><b>pagina</b>PDF</div>
</figure>

I documenti di testo sono il solo caso in cui occorrono due parole, e conviene dire perché. Un documento si conta in pagine, che è quello che vedi e quello che diresti a voce alta. Lo si analizza per sezione, e sezione qui è una divisione di layout: dimensione pagina, orientamento, margini, intestazioni, colonne. Un documento senza divisione esplicita ha una sola sezione, quindi per un documento aziendale ordinario l'esame approfondito avviene per documento, non per pagina. Quella differenza viene dichiarata, non attenuata.

</div>

<div class="chap">

<div class="ico-col"><sz-icon style="color:var(--verb-see)" name="search" size="36"></sz-icon></div>

<h2 id="x-ray">Il raio-X, completo</h2>

<h3 class="sub">Una lettura, all'ingresso, e tutto quello che il pacchetto contiene riceve un indirizzo</h3>

Un file Office è un pacchetto, e SazAI Corpus legge il pacchetto intero, una volta, attraverso un motore che legge la specifica del formato e non interpreta. Il <dfn tabindex="0" data-hint="Tutto il testo del documento, ogni brano legato alla diapositiva e alla forma da cui proviene. Estratto una volta, senza interpretazione.">raio-X</dfn> è quello che emerge da quella lettura, ed è più completo di quello che la presentazione ha mostrato.

<figure class="viz duo four xray" role="group" aria-label="Quello che la lettura di un pacchetto Office consegna: testo con origine, commenti con stato, note e diapositive nascoste, proprietà del documento">
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="8" y="8" width="32" height="22" rx="2" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="14" y1="16" x2="30" y2="16" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="14" y1="22" x2="26" y2="22" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><circle cx="34" cy="36" r="3" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="34" y1="30" x2="34" y2="33" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="30" y1="22" x2="34" y2="30" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none" stroke-dasharray="2 2"/></svg><b>testo con origine</b>ogni brano, la diapositiva, e la forma da cui proviene</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><path d="M10 10h28a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H22l-8 7v-7h-4a2 2 0 0 1-2-2V12a2 2 0 0 1 2-2z" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><circle cx="18" cy="20" r="1.6" fill="currentColor"/><circle cx="24" cy="20" r="1.6" fill="currentColor"/><circle cx="30" cy="20" r="1.6" fill="currentColor"/></svg><b>commenti con stato</b>autore, ancoraggio, discussione, risolto, con compito</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="8" y="8" width="32" height="20" rx="2" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><rect x="8" y="32" width="32" height="8" rx="1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none" stroke-dasharray="3 2"/><line x1="14" y1="36" x2="30" y2="36" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><circle cx="35" cy="14" r="2" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="31" y1="18" x2="39" y2="10" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg><b>note e nascoste</b>quello che il relatore stava per dire, e quello che ha nascosto</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><path d="M14 6h14l8 8v28H14z" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><path d="M28 6v8h8" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="19" y1="24" x2="31" y2="24" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="19" y1="30" x2="31" y2="30" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="19" y1="36" x2="26" y2="36" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><circle cx="12" cy="12" r="4" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="12" y1="10" x2="12" y2="12.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="12" y1="12.5" x2="13.6" y2="13.6" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg><b>proprietà</b>chi l'ha creato, quando è stato revisionato, cosa è cambiato</div>
</figure>

Ogni testo rimane legato alla diapositiva e alla forma da cui proviene, con la formattazione che porta. I commenti arrivano con autore, ancoraggio, discussione di risposte, e i due stati che contano: risolto e con compito. Le note del relatore arrivano intere. I link, le immagini e le diapositive nascoste compaiono, e la diapositiva che qualcuno ha nascosto compare per te, segnata come nascosta. Le proprietà dicono chi l'ha creato e quando è stato revisionato.

La frase che qualcuno ha incollato nella settima presentazione e nessuno sa da dove viene: il raio-X lo sa. È per questo che serve l'audit, perché ogni affermazione nel documento ha un indirizzo, e l'indirizzo appartiene al file, non alla nostra opinione su di esso. Nulla al di là di quello che c'è dentro.

</div>

<div class="chap">

<div class="ico-col"><span class="ico" style="color:var(--verb-see)"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="8" y="26" width="7" height="14" rx="1.5" fill="none" stroke="currentColor" stroke-width="1.5"/><rect x="20.5" y="14" width="7" height="26" rx="1.5" fill="none" stroke="currentColor" stroke-width="1.5"/><rect x="33" y="20" width="7" height="20" rx="1.5" fill="none" stroke="currentColor" stroke-width="1.5"/></svg></span></div>

<h2 id="signals">Quello che il motore ha misurato</h2>

<h3 class="sub">Un deck sa di ripetersi prima di te</h3>

Il motore misura il documento intero e salva il risultato sotto il <dfn tabindex="0" data-hint="Il record di quale file ha prodotto cosa: ogni esecuzione mantiene da dove è venuto e cosa ha prodotto.">lignaggio</dfn> di quell'esecuzione, cioè quale file ha prodotto cosa. I <dfn tabindex="0" data-hint="Quello che il motore ha misurato al caricamento, con nome: diapositive quasi identiche, un titolo che non corrisponde al corpo, testo che trabocca, lingua mista.">segnali</dfn> hanno nomi:

<figure class="viz duo four" role="group" aria-label="Quattro segnali nominati: diapositive quasi identiche, un titolo che non corrisponde al corpo, testo che trabocca dalla casella, lingua mista">
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="6" y="10" width="26" height="20" rx="2" fill="none" stroke="currentColor" stroke-width="1.25"/><rect x="16" y="18" width="26" height="20" rx="2" fill="none" stroke="currentColor" stroke-width="1.25"/></svg><b>quasi identiche</b>dentro un deck e tra tutti e dodici</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="8" y="9" width="32" height="8" rx="1.5" fill="none" stroke="currentColor" stroke-width="1.25"/><line x1="10" y1="25" x2="38" y2="25" stroke="currentColor" stroke-width="1.25"/><line x1="10" y1="32" x2="38" y2="32" stroke="currentColor" stroke-width="1.25"/><line x1="10" y1="39" x2="28" y2="39" stroke="currentColor" stroke-width="1.25"/><line x1="34" y1="42" x2="42" y2="20" stroke="currentColor" stroke-width="1.25"/></svg><b>titolo ≠ corpo</b>quello che promette e quello che dice</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="6" y="12" width="26" height="24" rx="2" fill="none" stroke="currentColor" stroke-width="1.25"/><line x1="11" y1="20" x2="27" y2="20" stroke="currentColor" stroke-width="1.25"/><line x1="11" y1="27" x2="42" y2="27" stroke="currentColor" stroke-width="1.25"/><line x1="11" y1="34" x2="20" y2="34" stroke="currentColor" stroke-width="1.25"/></svg><b>traboccherà</b>dalla casella, una volta tradotto</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="6" y="8" width="36" height="32" rx="2" fill="none" stroke="currentColor" stroke-width="1.25"/><line x1="12" y1="17" x2="36" y2="17" stroke="currentColor" stroke-width="1.25"/><line x1="12" y1="24" x2="30" y2="24" stroke="currentColor" stroke-width="1.25"/><line x1="12" y1="31" x2="36" y2="31" stroke="currentColor" stroke-width="1.25" stroke-dasharray="2 2"/></svg><b>lingua mista</b>e un termine scritto in due modi</div>
</figure>

Deterministica, e senza opinione. Il motore ti dice che la terza e la nona presentazione sono quasi la stessa; quello che fare è una conversazione con [l'agente](talk). Le misurazioni di ogni documento rimangono disponibili per lettura comparata tra documenti, quindi un portafoglio intero si legge senza aprire un file alla volta.

</div>

<div class="chap">

<div class="ico-col"><sz-icon style="color:var(--verb-see)" name="compare" size="36"></sz-icon></div>

<h2 id="editions">Edizioni e confronto</h2>

<h3 class="sub">Tre relazioni dichiarate prima del primo numero</h3>

La tua proposta è alla quarta versione e nessuno ricorda cosa ha detto la terza. Ogni <dfn tabindex="0" data-hint="Una traduzione o revisione del tuo documento, salvata come documento completo, con il suo proprio raio-X e misurazione.">edizione</dfn> tua, traduzione o revisione, entra nella cassaforte come documento completo, con il suo raio-X e misurazione. Confronta mette il tuo originale nella prima colonna, sempre, e dichiara la relazione tra i due prima di mostrare la prima differenza: traduzione, revisione, o indipendente. Senza una relazione dichiarata, il confronto non compare.

<figure class="viz duo cmp" role="group" aria-label="L'originale nella prima colonna, la relazione dichiarata nel mezzo, l'edizione accanto">
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:56px;height:56px"><rect x="3" y="4" width="18" height="13" rx="1"/><line x1="9" y1="21" x2="15" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg><b>il tuo originale</b>sempre nella prima colonna</div>
<div class="mid"><svg viewBox="0 0 120 72" aria-hidden="true"><rect x="8" y="18" width="30" height="38" rx="4" fill="var(--verb-see)" opacity=".12" stroke="var(--verb-see)" stroke-width="1.5"/><rect x="82" y="18" width="30" height="38" rx="4" fill="none" stroke="var(--verb-see)" stroke-width="1.5"/><line x1="38" y1="37" x2="82" y2="37" stroke="var(--gray)" stroke-width="1.5"/><rect x="45" y="28" width="30" height="18" rx="9" fill="var(--verb-see)" opacity=".14" stroke="var(--verb-see)" stroke-width="1.5"/><circle cx="60" cy="37" r="2.5" fill="var(--verb-see)"/></svg><b>la relazione, dichiarata</b>traduzione · revisione · indipendente</div>
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:56px;height:56px"><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 1 1 3 3L7 19l-4 1 1-4Z"/></svg><b>l'edizione</b>un documento completo, con il suo raio-X</div>
<div class="act"><sz-button variant="primary" icon="compare" data-open-compare>Apri il comparatore</sz-button><sz-compare title="Aula 05 · Forecasting" demo></sz-compare></div>
</figure>

E quello che il confronto ti restituisce non è un'impressione: in un'edizione di 45 diapositive, 633 elementi prima e 633 dopo. Il testo è cambiato; la struttura no. Contato, non stimato. La differenza tra questo e aprire due file uno accanto all'altro è che il risultato rimane su record per unità e può essere riaperto dopo, da qualcun altro, senza rifare il lavoro e senza dipendere da chi ha eseguito il confronto.

</div>

<div class="chap">

<div class="ico-col"><sz-icon style="color:var(--verb-see)" name="users" size="36"></sz-icon></div>

<h2 id="lineage">Originale e derivato rimangono collegati</h2>

<h3 class="sub">La relazione sopravvive alla partenza di chi l'ha creata</h3>

Quando un documento produce un altro, il collegamento viene registrato, e il derivato è un nodo completo con lo stesso trattamento dell'originale: viene letto dal motore, misurato, e navigabile da solo.

Questo risolve un problema che sembra piccolo e non è. In una cartella, l'originale e le sue cinque traduzioni sono sei file che solo una persona sa come relazionare, e solo fino a quando cambiano team. Qui sono un originale con cinque derivati dichiarati, e nessuno deve ricordare nulla per ricostruire la relazione.

Il record non viene scritto dopo da qualcuno che ha osservato l'operazione. Nasce dall'operazione stessa, per cui non può non concordare con essa. Ogni uno di questi collegamenti è anche una sinapsi nella tua cassaforte, e l'intera forma che disegnano è [la rete che la tua cassaforte diventa](connectome).

</div>

<div class="chap">

<div class="ico-col"><sz-icon style="color:var(--verb-see)" name="file" size="36"></sz-icon></div>

<h2 id="receipt">Quello che la ricevuta prova, e quello che non prova</h2>

<h3 class="sub">Prova di controllo, dichiarata con il suo confine accanto</h3>

La <dfn tabindex="0" data-hint="Il record di cosa è cambiato e cosa è rimasto uguale in ogni operazione, unità per unità, mantenuto su file e riapribile.">ricevuta</dfn> prova che l'operazione è accaduta, su quale versione, con quali parametri, e cosa ha cambiato. Una traduzione registra la completezza per segmento, i termini del glossario applicati, e quello che ha o non ha fatto strada nel file finale. Una riscrittura registra quali campi sono stati modificati e quali mantenuti.

Non prova che il risultato appaia bene visivamente, perché il sistema misura la struttura e non guarda la pagina finale. Non è neanche audit certificato: se questa storia soddisfa un requisito di audit specifico nel tuo settore è una domanda che rispondiamo caso per caso, non un'affermazione che questa pagina fa.

Un acquirente scettico di solito pone la domanda direttamente: l'IA ha generato qualcosa, e ora, come so che posso usarlo. La risposta che preferiamo non è chiedere fiducia nel modello. È mostrare quello che è successo al file.

</div>

Tutto questo vive nella tua cassaforte, e nulla vive sciolto: ogni documento è collegato alle sue edizioni, ogni edizione alla sua ricevuta, ogni confronto a entrambi i lati. Chi interpreta quello che è stato misurato è [l'agente](talk) di SazAI Corpus, leggendo la stessa cassaforte che leggi tu, senza fonte al di là della tua.

<script type="module">
// The comparator is an INVITATION, not a panel: the component mounts collapsed and the
// button opens its modal through the public `open()`. `whenDefined` first, because the
// design-system runtime upgrades components lazily and a click before upgrade would find
// an unknown element with no `open` on it.
for (const b of document.querySelectorAll("[data-open-compare]")) {
  b.addEventListener("click", async () => {
    await customElements.whenDefined("sz-compare");
    b.closest("figure")?.querySelector("sz-compare")?.open();
  });
}
</script>
