intrface

Polis Interface

Infrastruktur für den öffentlichen Sektor, die Verwaltungsdaten als etwas behandelt, das man prüft, nicht als etwas, das man glaubt.

Quelloffen · vor dem DeploymentVerwaltungsdatenPrüfbare AussagenNichts selbst gemeldetVor dem Deployment
6
Schritte vom Dokument zur öffentlichen Prüfung
10
Regeln, die entscheiden, wer was sieht
Bei jeder Anfrage geprüft. Im Zweifel gesperrt.
0
Konten, um eine Aussage zu prüfen
Jeder prüft nach, ohne um Erlaubnis zu fragen.
0
Behörden, die es heute betreiben
Vor dem Deployment, und diese Seite sagt es.
Den Quellcode lesen — github.com/basicalex/polis

Ein Governance-Graph, keine Dokumentenhalde

Polis bildet ab, was eine Behörde tatsächlich produziert — Beschlüsse, Versprechen, Haushalte, Sitzungen, Amtsträger — und zwar als Graph. Jede öffentliche Aussage in diesem Graphen zeigt auf das Quelldokument zurück, aus dem sie stammt, und das Dokument trägt den Nachweis seiner eigenen Unversehrtheit.

Zwei Oberflächen, ein Datenbestand

Eine Wahlkampfoberfläche veröffentlicht ein Programm. Eine Rechenschaftsebene verfolgt dasselbe Programm gegen das, was geliefert wurde. Beide lesen dieselben überprüfbaren Einträge, damit die Versprechensseite und die Faktenseite nicht auseinanderlaufen, während niemand hinsieht.

Jede Aussage hat eine Adresse

„Der Rat hat den Haushalt im März beschlossen“ ist in Polis kein Satz. Es ist eine Kante zu einem Beschluss, der auf ein abgelegtes Dokument führt, das auf einen Hash, ein Siegel und einen Zeitstempel führt, den ein Fremder nachprüfen kann, ohne jemanden um Erlaubnis zu fragen.

Woher das Vertrauen tatsächlich kommt

Vier Teile lohnen die Erwähnung, weil ein öffentlicher Einkäufer oder ein Prüfer genau danach suchen würde.

  1. 01

    Das Prüfprotokoll wird innerhalb der Insert-Transaktion hash-verkettet

    Jedes Ereignis speichert den Hash des Ereignisses davor, berechnet und geschrieben in derselben Transaktion, die die Zeile einfügt. Zwei Schreiber im Wettlauf können nicht beide gewinnen.

    Warum das zähltEin Prüfprotokoll, das man hinterher leise umsortieren kann, belegt gar nichts.

  2. 02

    Dokumente werden geprüft, nicht nur hochgeladen

    Ein kanonischer Hash, ein eIDAS-nahes E-Siegel und ein RFC-3161-Zeitstempel einer externen Stelle reisen mit der Datei. Schwärzungsregeln haben Vorrang vor der Veröffentlichung, ein Dokument lässt sich also als echt nachweisen, ohne offenzulegen, was geschlossen bleiben soll.

    Warum das zähltEcht und veröffentlichbar sind zwei verschiedene Fragen. Systeme, die sie zusammen beantworten, lecken.

  3. 03

    Policy-Gates sperren im Zweifel

    Zehn OPA/Rego-Module entscheiden, wer was lesen und schreiben darf. Kann die Policy-Ebene nicht antworten, wird die Anfrage abgelehnt statt durchgelassen.

    Warum das zähltDie meisten Fehler in der Zugriffskontrolle sind eine Prüfung, die still nichts zurückgab und als Ja gelesen wurde.

  4. 04

    Ein Amtsträger kann sein eigenes Versprechen nicht als erfüllt markieren

    Die Rechenschaftsebene hält den Akteur, der behauptet, getrennt vom Akteur, der bestätigt. Eine Statusänderung auf erfüllt hält fest, wer bestätigt hat, und diese Person ist nicht der Träger des Versprechens.

    Warum das zähltSelbst gemeldete Erfüllung ist das übliche Versagensmuster eines Versprechen-Trackers.

eIDAS, RFC 3161, DSGVO-konforme Schwärzung: die Regulierung steckt im Datenmodell, nicht in einem Compliance-Anhang, der nach dem Bau geschrieben wurde.

Das Statuslabel ist Teil des Produkts

Polis kennzeichnet in der eigenen Dokumentation jede Oberfläche als [verifiable], [demonstration/stub] oder [not yet live]. Der simulierte Pilot sagt in seiner ersten Zeile, dass er simuliert ist.

[verifiable]
Durch Daten im System gedeckt. Folgen Sie ihr zum Quelldokument und prüfen Sie den Hash selbst.
[demonstration/stub]
Der Bildschirm funktioniert; dahinter steht ein Platzhalter. Planen Sie keinen Rollout darum herum.
[not yet live]
Spezifiziert und entworfen. Nicht gebaut.

Das sollte eine Institution beim Softwarekauf verlangen, Bildschirm für Bildschirm. Ein Anbieter, der Ihnen sagen kann, welcher seiner Bildschirme echt ist, welcher eine Demo und welcher eine Folie, hat Ihnen etwas gegeben, womit Sie planen können.

Wie ein Dokument prüfbar wird

Auf dieser Seite gibt es keine Screenshots — Polis ist nicht deployt, und ein Screenshot eines nicht deployten Systems belegt nichts. Das hier ist die Strecke, wie sie gebaut ist: von der Datei, die ein Sachbearbeiter hochlädt, bis zum Befund, den ein Bürger bekommt.

Quelldatei → öffentlicher Befund

  1. 01

    Dokument

    Ein Beschluss, ein Vertrag oder ein Protokoll, genau wie abgelegt.

    minutes.pdf

  2. 02

    Kanonisieren

    Bytes auf eine Form normalisiert, dann gehasht. Gleiche Datei, gleicher Hash, jedes Mal.

    sha256 9f3c…21ab

  3. 03

    Siegeln

    Die ausstellende Stelle signiert den Hash, nicht die Datei. eIDAS-nahes E-Siegel.

    e-seal

  4. 04

    Zeitstempel

    Eine RFC-3161-Stelle bezeugt, dass der Hash zu einem bestimmten Moment existierte.

    TSA token

  5. 05

    Register

    Hash, Siegel und Token werden zusammen erfasst und mit den Aussagen verknüpft, die sie zitieren.

    registry entry

  6. 06

    Prüfen

    Jeder hasht die Datei neu und gleicht sie mit dem Eintrag ab. Kein Konto nötig.

    verdict: valid

jede Zeile trägt die Zeile davor

  1. #0140

    document.verified

    Protokoll angenommen; Hash, Siegel und Zeitstempel geschrieben.

    prev 6b81f4

    self 7d2e94

  2. #0141

    promise.linked

    Ein Programmpunkt wird an den Beschluss gebunden, von dem er abhängt.

    prev 7d2e94

    self 4a17c0

  3. #0142

    promise.status.changed

    Status wechselt auf erfüllt — erfasst mit dem bestätigenden Akteur, der nicht der Amtsträger ist.

    prev 4a17c0

    self c95d3b

Die Hashes hier sind beispielhaft. Im laufenden Code wird der Vorgänger-Hash einer Zeile innerhalb derselben Transaktion berechnet und geschrieben, die die Zeile einfügt, damit zwei Schreiber im Wettlauf nicht mit zwei gültigen Ketten enden.

Wo eine Aussage nachprüfbar sein muss.

Wenn Sie etwas bauen, bei dem ein Bürger, ein Prüfer oder eine Aufsicht die Aussage nachprüfen können muss, statt sie zu glauben, ist das genau das Gespräch, das wir suchen.