Proposta · Bozza di discussione v0.1 · 2026-05-21
Open Law Standards
Sei standard aperti per l'identificazione, la strutturazione, la pubblicazione e la verifica delle decisioni giudiziarie svizzere. Dove esistono standard internazionali — non reinventare. Dove mancano — formulare una proposta semplice e documentata e fornirla in modo visibile nell'implementazione di riferimento.
§01 Motivazione
Perché standard aperti
Le decisioni giudiziarie svizzere sono opere ufficiali (art. 5 cpv. 1 LDA) e quindi di pubblico dominio. Ciononostante, oggi l'accesso automatico senza attriti non è affatto scontato:
- Ogni fonte assegna identificatori secondo una propria convenzione. La stessa decisione DTF ha cinque URL diversi in cinque banche dati.
- La maggior parte dei portali cantonali fornisce PDF o HTML senza struttura leggibile dalla macchina — fattispecie, considerandi e dispositivo devono essere ricostruiti a mano da ciascuno.
- Le citazioni tra decisioni sono stringhe di testo semplice (
BGE 140 III 86) — ogni applicazione che le consuma deve risolverle da sé, con precisione variabile. - Non esiste alcuna prova crittograficamente verificabile che il testo di una decisione citata sia effettivamente quello pubblicato ufficialmente. Nell'era degli strumenti di IA che allucinano, questa è la questione di fiducia centrale.
Quattro dei sei standard proposti profilano specifiche internazionali esistenti per il contesto svizzero (Schema.org/LegalCase, Akoma Ntoso, Markdown, ELI). Due sono proposte propriamente svizzere: il cli:ch Caselaw Identifier (con ECLI come proiezione europea deterministica), perché gli schemi di identificatori esistenti appiattiscono le specificità svizzere — trilinguismo, sovranità cantonale, indirizzamento pinpoint; e un livello di provenienza (radice di Merkle su ogni pubblicazione, ancorata a Bitcoin) che il mondo dei dati giuridici finora non possiede.
Questo non è un manifesto né una richiesta ai tribunali federali o ai cantoni, ma una base di discussione aperta. La proposta è volutamente piccola e compatibile: ogni disposizione può essere adottata separatamente, senza bloccarne altre.
§02 Riepilogo
I sei standard
Identificazione
cli:ch — Identificatore svizzero della giurisprudenza (primario) · ECLI come proiezione europeaOgni decisione porta due identificatori collegati in modo deterministico: cli:ch come forma svizzera canonica ed ECLI come proiezione con perdita per l'interoperabilità europea.
cli:ch rende di prima classe cinque proprietà della giurisprudenza svizzera che ECLI appiattisce:
- Trilinguismo — le versioni DE/FR/IT di una DTF sono testi autentici giuridicamente equivalenti (art. 14 LPubb). cli:ch tratta la lingua come primo asse tramite
?lang=. - Sovranità cantonale — 26 sistemi giudiziari autonomi restano visibili (
cli:ch:zh:…,cli:ch:ti:…), non collassati in un codice di tribunale opaco. - Indirizzamento pinpoint — livello del considerando di prima classe tramite
#e-4.1(convenzione di citazione svizzera). - Granularità delle camere — Corte suprema, tribunale amministrativo, tribunale delle assicurazioni sociali ecc. restano esplicitamente nominati invece di scomparire in un codice a 3 lettere.
- Versionamento —
@YYYY-MM-DDindirizza una versione di anonimizzazione specifica; raro, ma giuridicamente rilevante quando necessario.
cli:ch:bge:140-III-86
cli:ch:bge:140-III-86?lang=fr (französische Fassung desselben BGE)
cli:ch:bge:140-III-86#e-4.1 (Pinpoint auf Erwägung 4.1)
cli:ch:bger:6B_1234/2025
cli:ch:bvger:A-1234/2024
cli:ch:zh:obergericht:LB230012 (Kanton Zürich, Obergericht)
cli:ch:ti:tribunale-appello:34.2025.27 (Kanton Tessin, Tribunale d'appello)
cli:ch:finma:2024-12345 (FINMA-Verfügung)
Forma: cli:ch:<court>[:<chamber>]:<docket>[@<version>][?lang=<l>][#<pinpoint>]. Tribunali federali senza prefisso cantonale, tribunali cantonali con codice cantonale ISO-3166-2 più denominazione propria del tribunale. Il modello di identificatore parallelizza i livelli FRBR di Akoma Ntoso (Work / Expression / Manifestation) — non inventiamo, applichiamo un modello consolidato con etichettatura svizzera.
ECLI come proiezione per i resolver europei: da ogni cli:ch si deriva un ECLI in modo deterministico (funzione pura cli_ch_to_ecli). La proiezione è many-to-one — lingua, pinpoint, versione e dettaglio della camera vanno persi.
cli:ch:bge:140-III-86 → ECLI:CH:BGE:2014:140.III.86
cli:ch:bger:6B_1234/2025 → ECLI:CH:BGER:2025:6B_1234.2025
cli:ch:zh:obergericht:LB230012 → ECLI:CH:ZHO:2023:LB230012
Perché una forma svizzera propria in via prioritaria? Perché la giurisprudenza svizzera possiede proprietà — trilinguismo come testi autentici equivalenti, 26 sistemi giudiziari cantonali sovrani, citazione pinpoint a livello di considerando — che in uno schema europeo generale ricadono necessariamente su un asse piatto. cli:ch le rende di prima classe; ECLI garantisce la connettività europea. Entrambi insieme valgono più della scelta di uno solo.
Gli identificatori interni esistenti (numeri di procedura, numeri di incarto) restano invariati — cli:ch ed ECLI sono livelli aggiuntivi e standardizzati.
Implementazione di riferimento: cli_ch.py conia gli URI cli:ch in modo deterministico; cli_ch_to_ecli() proietta su ECLI. cli_ch.py su GitHub · ecli.py su GitHub.
Metadati
Schema.org / LegalCase (JSON-LD)Ogni pagina web di decisione porta nel <head> un blocco Schema.org/LegalCase come JSON-LD con entrambi gli identificatori (cli:ch + ECLI), tribunale, data, lingua, regesto, citazioni uscenti di giurisprudenza e di legislazione.
{
"@context": "https://schema.org",
"@type": "LegalCase",
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "cli:ch",
"value": "cli:ch:bge:140-III-86"
},
{
"@type": "PropertyValue",
"propertyID": "ECLI",
"value": "ECLI:CH:BGE:2014:140.III.86"
}
],
"name": "BGE 140 III 86",
"datePublished": "2014-04-15",
"inLanguage": "de",
"court": {"@type": "GovernmentOrganization", "name": "Bundesgericht"},
"citation": [...], // ausgehende Fall-Zitationen
"legislationCited": [...] // ausgehende Gesetzeszitate
}
Produce due effetti: i motori di ricerca indicizzano la decisione con supporto per i rich result, e gli agenti di IA ricevono un record leggibile dalla macchina senza web scraping.
Riferimento: ogni pagina di decisione sotto opencaselaw.ch/entscheid/<id> fornisce questo blocco. Implementazione in seo_pages.py.
Struttura
Akoma Ntoso 3.0 (XML)Quando è richiesta una rappresentazione XML della decisione, allora secondo Akoma Ntoso 3.0 (standard ONU/OASIS per documenti legislativi e giudiziari). Fattispecie, considerandi, dispositivo e regesto negli elementi previsti — non inventare un proprio linguaggio XML.
Akoma Ntoso è chiaramente la via meno dolorosa: già in uso in Italia, Brasile, nell'Unione europea e all'ONU. Le specificità svizzere (citazione svizzera, numeri di procedura cantonali, multilinguismo) possono essere integrate come attributi di metadati opzionali senza piegare lo schema centrale.
Stato: parzialmente in produzione in OpenCaseLaw (i Materialien v0.2 usano Akoma Ntoso per i messaggi). L'output XML completo per le decisioni giudiziarie è un punto della roadmap Q3 2026.
Testo integrale
Markdown con ancore di considerandi (citazione svizzera)Per la rappresentazione in testo integrale leggibile dalla macchina: Markdown con ancore HTML su ogni considerando, denominate secondo la citazione svizzera (E. 4.1 → #e-4-1).
# BGE 140 III 86
## Sachverhalt {#sachverhalt}
...
## Erwägungen
### E. 2 {#e-2}
...
### E. 4.1 {#e-4-1}
Die zentrale Aussage steht hier...
## Dispositiv {#dispositiv}
1. Die Beschwerde wird abgewiesen.
Così è possibile collegarsi in modo pinpoint a ogni considerando — il nervo vitale della prassi di citazione giuridica. Gli strumenti possono citare e verificare i considerandi singolarmente, senza riparsare l'intera decisione.
Riferimento: opencaselaw.ch/entscheid/bge_BGE_140_III_86#e-4-1 salta direttamente al considerando 4.1.
Citazioni
Risolte, leggibili dalla macchina, bidirezionaliOgni citazione di un'altra decisione o di un articolo di legge viene risolta: non solo come stringa di testo semplice, ma collegata a un cli:ch concreto (giurisprudenza, primario — ECLI disponibile come proiezione) o a un URI ELI (legge). Bidirezionale — sia uscente (cosa cita questa decisione) sia entrante (chi cita questa decisione).
Il grafo delle citazioni svizzero diventa così il substrato comune per il tracciamento dottrinale, l'individuazione delle decisioni di principio, il tracciamento delle vie di ricorso. Esattamente il materiale di cui gli strumenti di IA hanno bisogno per verificare ciò che viene citato — invece di allucinare.
Riferimento: OpenCaseLaw risolve attualmente 6,46 mio di collegamenti di citazione di giurisprudenza e 11,3 mio di citazioni di legislazione, riverificati quotidianamente. Disponibile tramite gli strumenti MCP find_citations, find_appeal_chain, find_leading_cases.
Provenienza
Ancora di Merkle RFC-6962 · OpenTimestamps-Bitcoin · In produzione dal 2026-05-21A ogni pubblicazione del corpus viene calcolato un albero di Merkle RFC-6962 su tutte le decisioni. Ogni foglia si impegna su (decision_id, cli:ch, ECLI, content_hash, decision_date). La radice viene
- committata nel repository Git pubblico (
docs/integrity/<YYYY-MM-DD>.{root,json}) — quotidianamente, ~700 byte per pubblicazione, - ancorata sulla blockchain Bitcoin tramite OpenTimestamps (file
.root.ots, ~945 byte per pubblicazione, gratuito, consolidato in ~1 blocco Bitcoin). - disponibile come percorso di prova di inclusione per decisione tramite l'API (roadmap).
Così ogni affermazione di decisione citata può essere verificata bit per bit contro la radice di pubblicazione — senza fidarsi di opencaselaw.ch. Le allucinazioni non sono impedite da promesse, ma dimostrate dalla matematica.
Stato: in produzione dal 2026-05-21. La convenzione di hashing (RFC 6962, identica a Certificate Transparency) e lo schema della foglia sono documentati su opencaselaw.ch/integrity/. È l'unico dei sei standard che non profila uno schema esistente — la convenzione sarà consolidata pubblicamente su openlawstandards.ch.
§03 OpenCaseLaw.ch
Implementazione di riferimento
I sei standard non sono ipotetici. Tutti e sei sono già in produzione in OpenCaseLaw.ch (Akoma Ntoso già in produzione per i Materialien, sulla roadmap per le decisioni giudiziarie):
- 01 Identificazione: cli:ch (forma svizzera, primaria) più ECLI (proiezione europea) per tutte le 972'000+ decisioni; entrambi coniati in modo deterministico alla chiamata, visibili in ogni risposta API e in ogni pagina
/entscheid/<id>. Resolver HTTP sotto/cli/ch/…. - 02 Metadati: JSON-LD Schema.org/LegalCase su ogni pagina di decisione, con cli:ch + ECLI nell'array
identifier, grafo di citazioni e di legislazione. - 03 Struttura: Akoma Ntoso per i Materialien (messaggi) già in produzione. Per le decisioni giudiziarie: roadmap Q3 2026.
- 04 Testo integrale: Markdown con ancore di considerandi, conforme alla citazione svizzera. I link pinpoint come
/entscheid/bge_BGE_140_III_86#e-4-1funzionano. - 05 Citazioni: 6,46 mio di collegamenti di giurisprudenza risolti + 11,3 mio di citazioni di legislazione, rigenerati quotidianamente, disponibili in modo bidirezionale.
- 06 Provenienza: in produzione dal 2026-05-21 — radice di Merkle RFC-6962 quotidiana su tutte le decisioni sotto
docs/integrity/<datum>.root, documentata su opencaselaw.ch/integrity/. Ancora OpenTimestamps ed endpoint API per i percorsi di prova di inclusione come prossimi passi.
Tutto aperto, tutto CC0 per i dati e MIT per il codice. Altri fornitori possono adottare singole disposizioni o riprendere l'intera convenzione — la specifica non appartiene a nessun singolo fornitore.