Sari la conținut
De Obște Cronica

Jurnalul de transparență al platformei

De ce Cronica

Ca să te poți încrede în „vezi cine ți-a cerut datele”, o urmă schimbată trebuie să se vadă. Cronica e construită să fie o dovadă, nu doar o listă.

Un jurnal de audit, doar-adăugare

Fiecare eveniment răspunde la aceleași întrebări: cine a accesat, în numele cui, ce operațiune a folosit, pentru ce proces și scop, cu ce temei, când și cu ce rezultat, inclusiv refuzurile și erorile.

Evenimentele nu pot fi actualizate sau șterse prin API: jurnalul doar crește. Identificatorii personali nu se păstrează în clar: se folosesc identificatori opaci și amprente criptografice, iar conținutul răspunsurilor nu se stochează.

Înlănțuire de hash-uri: orice umblătură se vede

Fiecare eveniment poartă amprenta criptografică a celui dinainte. Dacă cineva modifică un eveniment sau scoate unul din mijlocul lanțului, amprentele de după el nu se mai potrivesc, iar divergența devine detectabilă la recalculare.

Ca lanțul să poată fi publicat, câmpurile care ar identifica o persoană nu se șterg din el: se înlocuiesc cu amprente calculate împreună cu o valoare aleatoare, proprie fiecărui eveniment. Ștergerea ar schimba conținutul, deci amprenta nu s-ar mai potrivi și ai putea verifica doar ce nu contează. Așa, oricine poate recalcula lanțul pe forma publicată, fără să poată reface valorile din spatele amprentelor: valoarea aleatoare nu se publică.

Înlănțuirea evenimentelor prin hash-uri Fiecare eveniment conține amprenta evenimentului anterior; modificarea oricărui eveniment rupe lanțul și devine detectabilă. Eveniment anterior conține amprentaevenimentului dinainte Eveniment nou conține amprentaevenimentului anterior Eveniment următor conține amprentaevenimentului nou orice modificare rupe lanțul de amprente
Fiecare verigă poartă amprenta verigii dinainte. Schimbi o verigă: se rup toate amprentele de după ea, iar verificatorul semnalează divergența. În forma publicată, câmpurile care ar identifica o persoană intră în amprentă împreună cu o valoare aleatoare care nu se publică, deci lanțul se recalculează fără ca valorile să se poată reface.

Separată de logarea tehnică

Logurile tehnice (erori de program, metrici, verificări de funcționare) servesc operarea sistemelor și se adresează personalului tehnic. Cronica are alt obiect: e evidența accesului la date, exprimată în termenii procesului administrativ, nu ai infrastructurii. Cele două nu se amestecă.

Verificare publică, fail-closed

Integritatea unei secvențe se poate verifica fără autentificare și fără acces la conținutul evenimentelor, prin GET /audit/verify/{partiție}; răspunsul spune ce interval a fost verificat. Verificarea recalculează lanțul, nu îl declară valid. Iar dacă un eveniment de audit nu poate fi consemnat, interogarea corespunzătoare nu se execută.

Verificarea nu are nevoie de acordul nostru și nu folosește codul nostru. Evenimentele în forma publicată și capătul de lanț se citesc fără cont, prin GET /audit/export/{partiție} și GET /audit/checkpoint, iar programul separat de verificare lucrează pe exportul acela: își calculează singur forma canonică, cu o bibliotecă independentă de platformă, și nu împrumută nicio linie din codul ei.

Ce nu susține încă: lanțul dovedește că nimeni nu a umblat pe bucăți, nu că noi înșine nu am rescris tot jurnalul. Pasul care lipsește e un capăt de lanț publicat în afara platformei, unde noi să nu îl putem schimba.

Ce vezi tu, ca cetățean

Te autentifici și vezi interogările despre tine: cine ți-a cerut datele, când, cu ce temei legal, cu ce rezultat, inclusiv cererile refuzate. Corelarea se face printr-o amprentă criptografică, un cod derivat din identificatorul tău din care acesta nu poate fi recalculat; identificatorul în clar nu se stochează. Nu-ți expunem CNP-ul și nu arătăm identitatea funcționarului.

Cum vezi interogările despre tine Te autentifici pe cheia, serviciul de identitate al platformei, cu ROeID sau cu un link magic. Vezi apoi interogările despre tine, corelate printr-o amprentă, nu prin identificatorul în clar. Pentru fiecare interogare afli cine te-a interogat, când, în ce proces și cu ce rezultat, fără identificatorul tău expus și fără identitatea funcționarului. Te autentifici pe cheia(ROeID sau link magic) Interogările despre tine,găsite după amprentă,nu după CNP cine te-a interogat,când, în ce proces,cu ce rezultat Fără CNP expus, fără identitatea funcționarului
Te autentifici pe cheia, vezi interogările despre tine (corelate printr-o amprentă, nu prin CNP) și, pentru fiecare, cine te-a interogat, când, în ce proces și cu ce rezultat. Fără CNP expus și fără identitatea funcționarului.

Locul Cronicii în platformă

Evenimentele provin din Puntea (accesul controlat între instituții) și din intrarea unică a platformei, in.deobste.ro.