Vorschlag · Diskussionsentwurf v0.1 · 2026-05-21 · English
Open Law Standards
Sechs offene Standards für die Identifikation, Strukturierung, Veröffentlichung und Verifikation von Schweizer Gerichtsentscheiden. Wo internationale Standards existieren — nicht neu erfinden. Wo sie fehlen — einen einfachen, dokumentierten Vorschlag machen und in der Referenzimplementierung sichtbar liefern.
Warum offene Standards
Begründung
Schweizer Gerichtsentscheide sind öffentliche Werke (URG Art. 5 Abs. 1) und damit gemeinfrei. Trotzdem ist heute der reibungsfreie maschinelle Zugriff darauf nicht selbstverständlich:
- Jede Quelle vergibt Identifikatoren nach eigener Konvention. Der gleiche BGE-Entscheid hat fünf verschiedene URLs in fünf Datenbanken.
- Die meisten kantonalen Portale liefern PDFs oder HTML ohne maschinenlesbare Struktur — Sachverhalt, Erwägungen und Dispositiv müssen jeder von Hand wieder rekonstruieren.
- Zitationen zwischen Entscheiden sind Klartextstrings (
BGE 140 III 86) — jede konsumierende Anwendung muss sie selber auflösen, mit unterschiedlicher Genauigkeit. - Es gibt keinen kryptografisch nachprüfbaren Beweis, dass ein zitierter Entscheidtext tatsächlich der amtlich publizierte ist. Im Zeitalter halluzinierender KI-Tools ist das die zentrale Vertrauensfrage.
Vier der sechs vorgeschlagenen Standards profilieren bestehende internationale Spezifikationen für den Schweizer Kontext (Schema.org/LegalCase, Akoma Ntoso, Markdown, ELI). Zwei sind Schweizer-eigene Vorschläge: der cli:ch Caselaw Identifier (mit ECLI als deterministischer europäischer Projektion), weil bestehende Identifier-Schemata die Schweizer Spezifika — Dreisprachigkeit, kantonale Souveränität, Pinpoint-Adressierung — flachklopfen; und ein Provenienz-Layer (Merkle-Wurzel über jede Publikation, Bitcoin-verankert), den die Rechtsdatenwelt bisher nicht hat.
Das ist kein Manifest und keine Forderung an die Bundesgerichte oder Kantone, sondern eine offene Diskussionsgrundlage. Der Vorschlag ist absichtlich klein und kompatibel: jede Bestimmung lässt sich einzeln adoptieren, ohne andere zu blockieren.
Die sechs Standards
Zusammenfassung
Identifikation
cli:ch — Schweizer Caselaw Identifier (primär) · ECLI als europäische ProjektionJeder Entscheid trägt zwei deterministisch verknüpfte Identifikatoren: cli:ch als kanonische Schweizer Form und ECLI als verlustbehaftete Projektion für europäische Interoperabilität.
cli:ch macht fünf Eigenschaften der Schweizer Rechtsprechung erstklassig, die ECLI flachklopft:
- Dreisprachigkeit — DE/FR/IT-Versionen eines BGE sind rechtlich gleichwertige authentische Texte (Art. 14 PublG). cli:ch behandelt Sprache als erste Achse via
?lang=. - Kantonale Souveränität — 26 eigenständige Justizsysteme bleiben sichtbar (
cli:ch:zh:…,cli:ch:ti:…), nicht in einen opaken Court-Code kollabiert. - Pinpoint-Adressierung — Erwägungs-Ebene erstklassig via
#e-2.3(Schweizer-Zitations-Konvention). - Kammer-Granularität — Obergericht, Verwaltungsgericht, Sozialversicherungsgericht etc. bleiben explizit benannt statt in einem 3-Buchstaben-Code zu verschwinden.
- Versionierung —
@YYYY-MM-DDadressiert eine spezifische Anonymisierungs-Version; selten, aber rechtlich relevant wenn nötig.
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-2.3 (Pinpoint auf Erwägung 2.3) 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)
Form: cli:ch:<court>[:<chamber>]:<docket>[@<version>][?lang=<l>][#<pinpoint>]. Bundesgerichte ohne Kanton-Prefix, kantonale Gerichte mit ISO-3166-2-Kantonscode plus kantonseigener Gerichts-Bezeichnung. Identifier-Modell parallelisiert die FRBR-Schichten von Akoma Ntoso (Work / Expression / Manifestation) — wir erfinden nicht, wir wenden ein etabliertes Modell mit Schweizer Beschriftung an.
ECLI als Projektion für europäische Resolver: aus jedem cli:ch wird ein ECLI deterministisch abgeleitet (reine Funktion cli_ch_to_ecli). Die Projektion ist many-to-one — Sprache, Pinpoint, Version und Kammer-Detail gehen verloren.
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
Warum primär eine eigene Schweizer Form? Weil die Schweizer Rechtsprechung Eigenschaften hat — Dreisprachigkeit als gleichwertige authentische Texte, 26 souveräne kantonale Justizsysteme, Pinpoint-Zitation auf Erwägungs-Ebene — die in einem allgemeinen europäischen Schema zwangsläufig auf eine flache Achse zusammenfallen. cli:ch macht sie erstklassig; ECLI sorgt für europäische Anschlussfähigkeit. Beides zusammen ist mehr als die Wahl zwischen einem.
Bestehende interne Identifier (Geschäftsnummern, Dossier-Nummern) bleiben unverändert — cli:ch und ECLI sind zusätzliche, standardisierte Schichten.
Referenz-Implementierung: cli_ch.py mintet cli:ch-URIs deterministisch; cli_ch_to_ecli() projiziert auf ECLI.
cli_ch.py auf GitHub ·
ecli.py auf GitHub.
Metadaten
Schema.org / LegalCase (JSON-LD)Jede Entscheid-Webseite trägt im <head> einen Schema.org-/LegalCase-Block als JSON-LD mit beiden Identifikatoren (cli:ch + ECLI), Gericht, Datum, Sprache, Regeste, ausgehenden Fall- und Gesetzeszitaten.
{
"@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
}
Bewirkt zweierlei: Suchmaschinen indexieren den Entscheid mit Rich-Result-Unterstützung, und KI-Agenten erhalten ein maschinenlesbares Record ohne Web-Scraping.
Referenz: jede Entscheid-Seite unter opencaselaw.ch/entscheid/<id> liefert diesen Block aus. Implementierung in seo_pages.py.
Struktur
Akoma Ntoso 3.0 (XML)Wenn eine XML-Darstellung des Entscheids verlangt wird, dann nach Akoma Ntoso 3.0 (UN-/OASIS-Standard für legislative und judizielle Dokumente). Sachverhalt, Erwägungen, Dispositiv und Regeste in den vorgesehenen Elementen — keine eigene XML-Sprache erfinden.
Akoma Ntoso ist eindeutig der wenigst-schmerzhafte Pfad: bereits in Italien, Brasilien, der Europäischen Union und der UN im Einsatz. Schweizer Spezifika (Schweizer Citation, kantonale Geschäftsnummern, Mehrsprachigkeit) lassen sich als optionale Metadaten-Attribute einbetten ohne den Kernschema zu verbiegen.
Status: in OpenCaseLaw teilweise produktiv (Materialien v0.2 nutzt Akoma Ntoso für Botschaften). Vollständige XML-Ausgabe für Gerichtsentscheide ist Roadmap-Item 2026 Q3.
Volltext
Markdown mit Erwägungs-Ankern (Schweizer Citation)Für die maschinenlesbare Volltext-Darstellung: Markdown mit HTML-Ankern auf jeder Erwägung, benannt nach Schweizer Citation (E. 2.3 → #e-2-3).
# BGE 140 III 86
## Sachverhalt {#sachverhalt}
...
## Erwägungen
### E. 2.1 {#e-2-1}
...
### E. 2.3 {#e-2-3}
Die zentrale Aussage steht hier...
## Dispositiv {#dispositiv}
1. Die Beschwerde wird abgewiesen.
So lässt sich auf jede Erwägung pinpoint-genau verlinken — der Lebensnerv juristischer Zitierpraxis. Tools können Erwägungen einzeln zitieren und prüfen, ohne den Gesamt-Entscheid neu zu parsen.
Referenz: opencaselaw.ch/entscheid/bge_BGE_140_III_86#e-2-3 springt direkt zur Erwägung 2.3.
Zitationen
Aufgelöst, maschinenlesbar, bidirektionalJede Zitation eines anderen Entscheids oder Gesetzesartikels wird aufgelöst: nicht nur als Klartext-String, sondern verknüpft mit einer konkreten cli:ch (Fall, primär — ECLI als Projektion verfügbar) oder ELI-URI (Gesetz). Bidirektional — sowohl ausgehend (was zitiert dieser Entscheid) als auch eingehend (wer zitiert diesen Entscheid).
Damit wird der Schweizer Zitationsgraph zum gemeinsamen Substrat für Doktrin-Tracking, Leading-Case-Erkennung, Instanzenzug-Verfolgung. Genau das Material, das KI-Tools brauchen, um zu prüfen, was zitiert wird — statt zu halluzinieren.
Referenz: OpenCaseLaw löst aktuell 6,46 Mio. Fall-Zitationskanten und 11,3 Mio. Gesetzeszitate auf, täglich neu verifiziert. Verfügbar via MCP-Tools find_citations, find_appeal_chain, find_leading_cases.
Provenienz
RFC-6962-Merkle-Anker · OpenTimestamps-Bitcoin · Live ab 2026-05-21Bei jedem Publish des Korpus wird ein RFC-6962-Merkle-Baum über alle Entscheide berechnet. Jedes Blatt commitet sich zu (decision_id, cli:ch, ECLI, content_hash, decision_date). Die Wurzel wird
- im öffentlichen Git-Repository committet (
docs/integrity/<YYYY-MM-DD>.{root,json}) — täglich, ~700 Bytes pro Publish, - via OpenTimestamps auf der Bitcoin-Blockchain verankert (
.root.ots-Datei, ~945 Bytes pro Publish, kostenlos, in ~1 Bitcoin-Block aufgewertet). - als Inklusions-Beweispfad pro Entscheid via API verfügbar (Roadmap).
Damit kann jede zitierte Entscheid-Aussage bit-genau gegen die Publikations-Wurzel verifiziert werden — ohne opencaselaw.ch zu vertrauen. Halluzinationen werden nicht durch Versprechen verhindert, sondern durch Mathematik nachgewiesen.
Status: produktiv ab 2026-05-21. Die Hashing-Konvention (RFC 6962, gleich wie Certificate Transparency) und das Blatt-Schema sind dokumentiert auf opencaselaw.ch/integrity/. Dies ist der einzige der sechs Standards, der nicht ein bestehendes Schema profiliert — die Konvention soll auf openlawstandards.ch öffentlich konsolidiert werden.
Referenzimplementierung
OpenCaseLaw.ch
Die sechs Standards sind nicht hypothetisch. Alle sechs sind in OpenCaseLaw.ch bereits produktiv (Akoma Ntoso für Materialien bereits live, für Gerichtsentscheide auf der Roadmap):
- 01 Identifikation: cli:ch (Schweizer Form, primär) plus ECLI (europäische Projektion) für alle 972'000+ Entscheide; beide deterministisch gemintet beim Aufruf, sichtbar in jeder API-Antwort und jeder
/entscheid/<id>-Seite. HTTP-Resolver unter/cli/ch/…. - 02 Metadaten: Schema.org/LegalCase-JSON-LD auf jeder Entscheid-Seite, mit cli:ch + ECLI im
identifier-Array, Zitations- und Gesetzesgraph. - 03 Struktur: Akoma Ntoso für Materialien (Botschaften) bereits produktiv. Für Gerichtsentscheide: Roadmap Q3 2026.
- 04 Volltext: Markdown mit Erwägungs-Ankern, Schweizer-Citation-konform. Pinpoint-Links wie
/entscheid/bge_BGE_140_III_86#e-2-3funktionieren. - 05 Zitationen: 6,46 Mio. aufgelöste Fall-Kanten + 11,3 Mio. Gesetzeszitate, täglich neu generiert, bidirektional verfügbar.
- 06 Provenienz: produktiv ab 2026-05-21 — tägliche RFC-6962-Merkle-Wurzel über alle Entscheide unter
docs/integrity/<datum>.root, dokumentiert auf opencaselaw.ch/integrity/. OpenTimestamps-Anker und API-Endpoint für Inklusions-Beweispfade als nächste Schritte.
Alles offen, alles CC0 für die Daten und MIT für den Code. Andere Anbieter können einzelne Bestimmungen adoptieren oder die ganze Konvention übernehmen — die Spezifikation gehört keinem einzelnen Anbieter.
Weg vorwärts
Konsultation, Konsolidierung, Übernahme
Dies ist Diskussionsentwurf v0.1. Es ist absichtlich klein gehalten — eine kanonische Liste, sechs Bestimmungen, jede separat adoptierbar.
Geplant für 2026/2027:
- Q3 2026: openlawstandards.ch als eigene Site freischalten. RFC-Format pro Bestimmung. Öffentliche Kommentarphase.
- Q3 2026: Provenienz-Pilot (Bestimmung 06) produktiv in OpenCaseLaw, inkl. erstem OpenTimestamps-verifiziertem Merkle-Anker.
- Q4 2026: Outreach an Verein Entscheidsuche.ch, Bundesgericht, Universität Bern Institute for Legal Informatics, ETH AI Center, andere Schweizer Rechtsdaten-Anbieter. Ziel: gemeinsame Adoption ausgewählter Bestimmungen.
- 2027: Erweiterung auf Liechtenstein, Österreich, Deutschland sofern Interesse besteht — die Standards sind nicht Schweiz-spezifisch.
Mitarbeit und Kritik sind ausdrücklich gewünscht. Direkter Kontakt: jonashertner@protonmail.ch. Diskussion auch via GitHub-Issues auf dem OpenCaseLaw-Repository.
Wenn ein Schweizer Gericht oder Datenanbieter eine der Bestimmungen ganz oder teilweise übernimmt, ist die Welt der Schweizer Rechtsdaten besser. Wenn nicht, behält OpenCaseLaw die Referenzimplementierung — und die Spezifikation steht der nächsten Generation offen.