Scritti
Dai report aggregati alle singole decisioni: aggiungere il Database di trasparenza del DSA
La dashboard VLOP ha riguardato, finora, i report di trasparenza aggregati del Digital Services Act dell'UE — i depositi periodici in cui una piattaforma riporta, per categoria, quante segnalazioni ha ricevuto e quanti contenuti ha sottoposto ad azione nell'arco di sei mesi. È uno dei due meccanismi di trasparenza del DSA. Questo aggiornamento aggiunge l'altro, che è tutt'altra bestia: il Database di trasparenza del DSA delle dichiarazioni dei motivi.
Che cos'è una dichiarazione dei motivi
Ai sensi dell'Articolo 17 del DSA, ogniqualvolta una piattaforma soggetta alle norme limita un contenuto — lo rimuove, ne disabilita l'accesso, lo declassa, ne limita la fruizione per età, lo demonetizza — deve fornire all'utente interessato una "dichiarazione dei motivi" che spiega la decisione. E deve depositare una copia di tale dichiarazione in un Database di trasparenza pubblico gestito dalla Commissione europea, con i dati personali rimossi.
I report aggregati ti dicono ciò che una piattaforma dichiara di aver fatto in un periodo di rendicontazione. Il Database di trasparenza è costituito dalle singole decisioni stesse — una riga per ogni azione di moderazione, depositata man mano che avviene, con campi strutturati per la categoria, la base giuridica, se sia stata rilevata automaticamente, se la decisione sia stata automatizzata e quale restrizione sia stata applicata. È la cosa più vicina che esista a un registro in tempo reale, a livello di decisione, della moderazione dei contenuti in tutta l'UE.
È anche enorme. Le piattaforme depositano nell'ordine di un paio di miliardi di dichiarazioni al mese. Il dump storico completo si aggira intorno ai quattro terabyte e cresce ogni giorno.
Non puoi mettere quattro terabyte in una dashboard
Perciò l'interessante questione ingegneristica era come passare da quattro terabyte di dump CSV giornalieri a qualcosa che entri dietro un'interfaccia di query interattiva senza un data warehouse analitico a supporto.
La risposta si è rivelata essere lo strumento della Commissione stessa. Accanto al database, il team DSA pubblica una toolbox Python open source, dsa-tdb, che scarica i dump giornalieri, li verifica e — cosa cruciale — pubblica aggregati mensili precalcolati. Invece delle dichiarazioni grezze, puoi estrarre una riga per ogni combinazione granulare di piattaforma, giorno, categoria, base della decisione, automazione e tipo di restrizione, con un conteggio. Si tratta di circa sette megabyte di CSV compresso al mese, anziché il flusso grezzo a piena portata.
Da lì è un problema di ri-aggregazione. Aggrego gli aggregati giornalieri per mese, li riduco a una manciata di tagli monodimensionali — dichiarazioni totali, per categoria, per base della decisione, per automazione, per tipo di restrizione — e mantengo le 60 piattaforme principali per volume, che rappresentano circa il 99,97% di tutte le dichiarazioni. Il risultato è una tabella ordinata, in formato lungo: all'incirca 24.500 righe, circa due megabyte di JSON, che copre da settembre 2023 a oggi. Questo confluisce nello stesso database SQLite di sola lettura di ogni altro dataset e diventa un'ordinaria tabella interrogabile, raggiungibile dalla stessa interfaccia di query strutturata e senza SQL del resto del sito.
Che forma ha
La prima cosa che si nota è quanto sbilanciato sia il volume. Una piattaforma — Google Shopping — rappresenta la grande maggioranza di tutte le dichiarazioni nel database, arrivando a centinaia di milioni al mese, quasi interamente inserzioni di prodotti rimosse in quanto fuori ambito per il marketplace. TikTok, Facebook, Pinterest, Amazon e AliExpress costituiscono la maggior parte del resto. Una manciata di marketplace e grandi piattaforme social dominano; la lunga coda di centinaia di depositanti più piccoli è un errore di arrotondamento.
Oltre a questo, i campi a livello di decisione ti permettono di vedere cose che i report aggregati non fanno emergere con chiarezza: la ripartizione tra contenuti limitati in quanto illegali per legge e in quanto incompatibili con i termini della piattaforma stessa (in stragrande maggioranza questi ultimi), la quota di decisioni prese in modo completamente automatico rispetto a quelle con un umano nel processo, e quali delle categorie di dichiarazione del DSA le decisioni del mese effettivamente citino. La pagina /dsa-db traccia i totali mensili, le piattaforme principali nel tempo, il mix di categorie e la base illegale-contro-termini, con una tabella per piattaforma al di sotto.
Le stesse avvertenze, più marcate
Tutto ciò che ho scritto sui limiti dei report aggregati vale ancora qui, e ne compaiono un paio di nuovi. Le definizioni delle categorie sono ancora quelle proprie di ciascuna piattaforma, quindi i confronti tra piattaforme sulle categorie sono confronti tra costrutti definiti dalle piattaforme, non un costrutto coerente. I dati sono ancora auto-dichiarati e non sottoposti a revisione.
E l'aggregazione ha le sue trappole, sulle quali l'interfaccia di query ti mette in guardia. I tagli monodimensionali partizionano ciascuno lo stesso insieme di dichiarazioni, quindi una ripartizione per categoria somma di nuovo al totale della piattaforma — il che significa che sommare una ripartizione insieme al totale conteggia due volte. Il taglio per tipo di restrizione è a selezione multipla, perché una decisione può sia rimuovere un contenuto sia disabilitare un account, quindi quelle righe non sommano affatto al totale. E poiché pochi marketplace dominano il volume così pesantemente, quasi ogni somma tra piattaforme in realtà misura solo Google Shopping. La regola pratica è la stessa verso cui l'interfaccia ti spinge: fissa una sezione e di solito una piattaforma prima di aggregare qualsiasi cosa.
Due lenti sulla stessa legge
Ciò che mi piace dell'avere entrambi i dataset in un unico luogo è che rispondono a domande diverse. I report aggregati sono il riepilogo di una piattaforma su ciò che ha fatto in un periodo, nelle sue proprie categorie, esaminato dai suoi team legali e di policy prima della pubblicazione. Il Database di trasparenza è il flusso grezzo delle singole decisioni, strutturato allo stesso modo per tutti, depositato in continuazione. Nessuno dei due è un sostituto dell'altro, e le discrepanze tra loro sono spesso la parte interessante. Averli affiancati, dietro la stessa interfaccia di query, è il punto.