Fiducia e sicurezza
C-NDA esiste per produrre una prova che regga senza che nessuno debba crederci sulla parola. Lo stesso metro vale per questa pagina: qui sotto ci sono le misure che stanno nel codice, i luoghi in cui i dati vivono davvero e, dette in chiaro, le certificazioni che non abbiamo.
Niente sta «nel cloud» come astrazione. Ogni categoria di dati ha un luogo, e un luogo è una giurisdizione.
Supabase, Unione Europea, regione Francoforte. La regione non è un'impostazione che qualcuno può cambiare: è scritta nelle regole del progetto come non spostabile, perché spostarla sposterebbe il terreno giuridico sotto ogni record.
Cloudflare R2, in un bucket creato con giurisdizione UE. Su R2 la giurisdizione si sceglie alla creazione del bucket e non si cambia più — non c'è un'impostazione da correggere dopo, c'è solo un bucket da rifare — perciò la nostra configurazione controlla l'endpoint che riceve e si rifiuta di tacere quando non è quello europeo.
Il portale gira su Vercel. Il testimone che entra in riunione e registra gira in un container ospitato da Railway, ad Amsterdam.
Sentry, regione UE. Intestazioni di autorizzazione, cookie, corpi delle richieste, link di riunione e codici usa-e-getta sono rimossi prima che qualcosa esca dal processo, e non registriamo la sessione di navigazione di nessuno.
Da noi, mai. Il pagamento e la gestione dell'abbonamento avvengono sulle pagine di Stripe; il numero di una carta non entra nei nostri sistemi.
L'elenco completo dei responsabili del trattamento, con ciò che ciascuno riceve e perché, è nell'Informativa privacy. Leggi l'Informativa privacy
Tre domande decidono la sicurezza di un sistema come questo: chi può leggere che cosa, come sappiamo chi sei, e che cosa succede alle cose che attraversano la rete.
È l'invariante attorno a cui è costruito tutto il prodotto, ed è una proprietà di sicurezza prima ancora che giuridica.
01
In una sessione certificata il link della riunione è cifrato at-rest nel database.
02
Finché un partecipante non si è identificato e non ha accettato l'NDA, quel link non gli è nascosto, non è oscurato, non è in grigio: non gli viene mai inviato. È assente dai payload delle API, dall'HTML, dagli eventi realtime, dai log e dai messaggi d'errore. Nessuna ispezione della pagina rivela ciò che non è mai stato trasmesso.
03
L'unica risposta che lo restituisce è quella che registra l'accettazione — e solo finché la sessione è aperta. A sessione chiusa, scaduta o certificata, anche chi aveva accettato non riceve nulla.
Un test browser apre la pagina d'invito e verifica che il link sia assente dal documento. Non è un commento nel codice: è un lucchetto, e fa diventare rossa la suite.
Un certificato vale esattamente quanto è difficile cambiare, dopo, ciò che certifica.
01
Il pacchetto probatorio viene serializzato in forma canonica RFC 8785. Canonico vuol dire deterministico: lo stesso contenuto produce gli stessi byte, nello stesso ordine, su qualunque macchina, finché lo standard esiste. Senza, «ricalcola l'impronta» sarebbe un invito e non una procedura.
02
Lo SHA-256 di quei byte esatti è l'impronta del pacchetto. Cambia un carattere in un punto qualsiasi e l'impronta diventa irriconoscibile.
03
L'impronta viene scritta su Polygon PoS con una transazione pubblica. Da quel momento il record è fuori dalla nostra portata: non possiamo spostarlo, correggerlo o ritirarlo, e nemmeno può farlo nessun altro.
04
Identificazione, accettazione, sessione, impronta, ancoraggio. Nessun passo si salta, si riordina o si esegue in parallelo col successivo — non per rendere più veloce una schermata, non in collaudo.
Dopo l'ancoraggio il pacchetto non si modifica. Una correzione emette un nuovo certificato che si dichiara revisione del precedente, e restano entrambi. Non ci sono modifiche silenziose: per costruzione, non per regolamento.
Dove il testimone non ha potuto coprire qualcosa — un'interruzione della registrazione, un partecipante che non ha potuto identificare — il certificato lo scrive. Un vuoto dichiarato è ancora prova; un vuoto nascosto renderebbe inutile l'intero documento.
Esiste un controllo permanente che ricostruisce dal database il pacchetto di ogni certificato e ne ricalcola l'impronta, usando le stesse funzioni che l'hanno prodotto. È il cancello che deve passare prima dell'ancoraggio, e fa fallire l'esecuzione invece di stampare un avviso: ciò che non si riproduce non viene ancorato, si riemette come revisione.
Tutto quello che c'è sopra è il racconto che noi facciamo del nostro sistema. Questa è la sezione in cui smetti di doverne credere una parola.
01
L'archivio probatorio contiene evidence.json già in forma canonica, quindi un semplice SHA-256 di quel file È l'impronta del pacchetto. Confrontala con l'impronta stampata sul certificato: o coincidono, o la prova non è quella che è stata certificata.
02
Apri la transazione di ancoraggio su un block explorer pubblico e guarda l'evento Anchored. L'impronta contenuta lì dentro deve essere quella che hai appena calcolato. In questo passo non entra niente di nostro.
Primo passo, sulla tua macchina
shasum -a 256 evidence.jsonIl contratto di ancoraggio — Polygon PoS, chain 137
0x5CceC6F5806b7C949eB90D61fB9D13Cb639AC203Sorgente verificato su Polygonscan. Emette Anchored(hash, timestamp, sender) per una transazione dedicata e BatchAnchored(merkleRoot, …) per un batch giornaliero.
Apri il contratto su PolygonscanManteniamo anche un verificatore a riga di comando che automatizza entrambi i passi, prove Merkle dei certificati in batch comprese. È sotto licenza MIT, e non è ancora pubblicato su alcun registro pubblico — quindi oggi non hai modo di procurartelo, e la procedura di questa pagina, deliberatamente, non usa niente di nostro. Quando il verificatore sarà pubblicato questa pagina dirà dove prenderlo, non un giorno prima.
La verifica pubblica legge una vista dedicata del database che non porta nomi, né titoli, né indirizzi. Un terzo può confermare che un pacchetto esiste e che la sua impronta coincide, e non apprende nulla su chi ha firmato che cosa.
Come si verifica, passo per passoUna pagina di sicurezza che elenca solo i punti di forza è una pubblicità. Questi sono i confini. Stanno qui perché l'alternativa è che tu li scopra dopo.
Non siamo SOC 2 Type II. Non siamo ISO 27001. Non siamo conformi HIPAA. Nessun auditor ci ha valutati rispetto a nessuno di quei quadri, e non mostreremo un bollino che non possediamo. Il GDPR è cosa di natura diversa: una legge che siamo obbligati a rispettare, non un certificato che qualcuno rilascia — ed è per questo che qui trovi una pagina sulla protezione dei dati e nessun sigillo.
Il nostro codice di server non si può leggere, e non dovresti averne bisogno. Ciò che deve essere degno di fiducia è la possibilità di controllare il nostro risultato senza di noi — e quella possibilità, oggi, poggia su uno standard pubblicato e su una blockchain pubblica, non su una nostra promessa.
Se il contatore stesso non è raggiungibile, la richiesta passa e l'anomalia finisce nei log. È una scelta deliberata: un guasto del contatore chiuderebbe altrimenti la porta a firmatari legittimi, e la difesa che conta davvero contro chi tenta di indovinare un codice — il blocco a tre tentativi — non dipende da lui.
Rimuove i tuoi dati personali, le tue bozze e ciò che avevi in sospeso. I certificati già emessi restano verificabili, perché sono anche la prova dell'altra parte: distruggerli su richiesta di un solo firmatario vanificherebbe la ragione per cui esistono.
I file li cancelliamo. Per un'ora una cache dello storage può ancora servirne una copia, e le copie già scaricate da chi ne aveva diritto restano dove sono. Ciò che non viene mai toccato è la prova: l'impronta dell'audio, il pacchetto probatorio e l'ancoraggio restano intatti, quindi distruggere una registrazione non cambia mai ciò che è stato certificato.
Leggiamo ogni segnalazione e correggiamo ciò che è reale, ma non abbiamo un programma a pagamento e preferiamo che tu non te lo aspetti.
Preferiamo che tu li legga qui, invece di scoprirli dopo. Nessuno di essi tocca la cosa che conta di più — se un certificato si possa verificare senza di noi — e quella parte sta qui sopra, con i comandi per farlo.
Se hai trovato qualcosa, vogliamo saperlo da te prima che da chiunque altro.