intrface

Polis Interface

Javna infrastruktura koja državne podatke tretira kao nešto što se provjerava, a ne kao nešto u što se vjeruje.

Otvoreni kod · prije uvođenjaJavni podaciProvjerljive tvrdnjeNišta samoprijavljenoPrije uvođenja
6
Koraka od dokumenta do javne provjere
10
Pravila koja odlučuju tko što vidi
Provjerena na svakom zahtjevu. U dvojbi, odbijeno.
0
Računa potrebnih za provjeru tvrdnje
Svatko provjeri bez traženja dopuštenja.
0
Javnih tijela koja ga danas koriste
Prije uvođenja, i ova stranica to kaže.
Pročitajte izvorni kod — github.com/basicalex/polis

Graf upravljanja, a ne hrpa dokumenata

Polis modelira ono što javno tijelo doista proizvodi — odluke, obećanja, proračune, sjednice, dužnosnike — kao graf. Svaka javna tvrdnja u tom grafu pokazuje natrag na izvorni dokument iz kojeg je došla, a dokument nosi dokaz vlastite cjelovitosti.

Dva sučelja, jedan skup podataka

Kampanjsko sučelje objavljuje program. Sloj odgovornosti prati isti taj program prema onome što je isporučeno. Oba čitaju iste provjerljive zapise, pa stranica obećanja i stranica učinjenog ne mogu razići dok nitko ne gleda.

Svaka tvrdnja ima adresu

„Vijeće je u ožujku usvojilo proračun“ u Polisu nije rečenica. To je veza prema odluci, koja vodi do pohranjenog dokumenta, koji vodi do hasha, pečata i vremenskog žiga što ih stranac može ponovno provjeriti bez ičije dozvole.

Odakle povjerenje zapravo dolazi

Četiri dijela vrijedi imenovati jer su to dijelovi koje bi javni naručitelj ili revizor tražio.

  1. 01

    Revizijski zapisnik ulančava se hashevima unutar iste transakcije upisa

    Svaki događaj sprema hash prethodnog događaja, izračunat i upisan u istoj transakciji koja umeće redak. Dva pisca u utrci ne mogu oba pobijediti.

    Zašto je to važnoRevizijski zapis koji se poslije može tiho presložiti ne dokazuje ništa.

  2. 02

    Dokumenti se provjeravaju, ne samo prilažu

    Kanonski hash, e-pečat po uzoru na eIDAS i vremenski žig vanjskog tijela po RFC 3161 putuju uz datoteku. Pravila redigiranja imaju prednost pred objavom, pa se dokument može dokazati kao vjerodostojan bez otkrivanja onoga što mora ostati zatvoreno.

    Zašto je to važnoVjerodostojno i objavljivo dva su različita pitanja. Sustavi koji na njih odgovaraju zajedno propuštaju.

  3. 03

    Policy-vrata se u dvojbi zatvaraju

    Deset OPA/Rego modula odlučuje tko što smije čitati i pisati. Kada sloj pravila ne može odgovoriti, zahtjev se odbija, a ne propušta.

    Zašto je to važnoVećina propusta u kontroli pristupa je provjera koja je tiho vratila ništa, a pročitana je kao da.

  4. 04

    Izabrani dužnosnik ne može sam označiti svoje obećanje ispunjenim

    Sloj odgovornosti drži onoga tko tvrdi odvojeno od onoga tko potvrđuje. Promjena statusa u ispunjeno bilježi tko je potvrdio, a ta osoba nije nositelj obećanja.

    Zašto je to važnoSamoprijavljena ispunjenost standardni je način na koji pratitelj obećanja propada.

eIDAS, RFC 3161, redigiranje po GDPR-u: propis stoji u podatkovnom modelu, a ne u dodatku o usklađenosti napisanom nakon izgradnje.

Oznaka statusa dio je proizvoda

Polis u vlastitoj dokumentaciji svako sučelje označava kao [verifiable], [demonstration/stub] ili [not yet live]. Simulirani pilot u prvom retku kaže da je simuliran.

[verifiable]
Pokriveno podacima u sustavu. Slijedite tvrdnju do izvornog dokumenta i sami provjerite hash.
[demonstration/stub]
Zaslon radi; iza njega stoji zamjenski sadržaj. Nemojte oko toga planirati uvođenje.
[not yet live]
Specificirano i dizajnirano. Nije izgrađeno.

To bi institucija pri kupnji softvera trebala tražiti, zaslon po zaslon. Dobavljač koji vam može reći koji je njegov zaslon stvaran, koji je demo, a koji slajd, dao vam je nešto po čemu možete planirati.

Kako dokument postaje provjerljiv

Na ovoj stranici nema snimki zaslona — Polis nije uveden, a snimka neuvedenog sustava ne dokazuje ništa. Ovo je put kakav je izgrađen: od datoteke koju službenik učita do nalaza koji dobiva građanin.

izvorna datoteka → javni nalaz

  1. 01

    Dokument

    Odluka, ugovor ili zapisnik, točno onako kako je pohranjen.

    minutes.pdf

  2. 02

    Kanonizacija

    Bajtovi se svode na jedan oblik, zatim hashiraju. Ista datoteka, isti hash, svaki put.

    sha256 9f3c…21ab

  3. 03

    Pečaćenje

    Tijelo izdavatelj potpisuje hash, ne datoteku. E-pečat po uzoru na eIDAS.

    e-seal

  4. 04

    Vremenski žig

    Tijelo po RFC 3161 potvrđuje da je hash postojao u određenom trenutku.

    TSA token

  5. 05

    Registar

    Hash, pečat i token bilježe se zajedno i povezuju s tvrdnjama koje ih navode.

    registry entry

  6. 06

    Provjera

    Bilo tko ponovno hashira datoteku i usporedi je sa zapisom. Račun nije potreban.

    verdict: valid

svaki redak nosi redak prije sebe

  1. #0140

    document.verified

    Zapisnik prihvaćen; hash, pečat i vremenski žig upisani.

    prev 6b81f4

    self 7d2e94

  2. #0141

    promise.linked

    Stavka programa vezana je uz odluku o kojoj ovisi.

    prev 7d2e94

    self 4a17c0

  3. #0142

    promise.status.changed

    Status prelazi u ispunjeno — zabilježeno s akterom koji potvrđuje, a to nije dužnosnik.

    prev 4a17c0

    self c95d3b

Hashevi su ovdje ilustrativni. U kodu koji radi, hash prethodnog retka izračunava se i upisuje unutar iste transakcije koja umeće redak, pa dva pisca u utrci ne mogu završiti s dva valjana lanca.

Ondje gdje tvrdnja mora biti provjerljiva.

Ako gradite nešto gdje građanin, revizor ili regulator mora moći provjeriti tvrdnju umjesto da je uzme na vjeru, to je razgovor koji tražimo.