De bewijslast rust op de grensarbeider, en het bewijs dat telt is dagelijks: het valt niet achteraf te fabriceren. Een dag na dag bijgehouden logboek is precies zijn datums waard — en de datums zijn het eerste wat een administratie in twijfel kan trekken. Wie garandeert dat dit register niet in één blok is ingevuld, de avond vóór de controle, met de datums die uitkwamen?
Op papier: niemand. In Frontalio: een precies mechanisme, dat deze pagina volledig uitlegt — want een garantie die u niet kunt controleren, is er geen.
De keten
Elke bewijsgebeurtenis — een neergelegd bewijsstuk, een aanwezigheidsattestatie, ook een verwijdering — wordt in een hashketen geschreven. Een vingerafdruk (een SHA-256-samenvatting, 64 tekens) wordt berekend over de feiten van de gebeurtenis en over de vingerafdruk van de vorige gebeurtenis. Een regel herschrijven of weghalen verandert zijn vingerafdruk, dus die van de volgende, dus alle andere: aan één regel knoeien breekt zichtbaar alles wat erna komt.
Een keten alleen heeft toch een grens: wie de databank host, zou haar volledig kunnen herberekenen. Wat ontbreekt, is een getuige van buitenaf.
Het zegel
Daarvoor dient de RFC 3161-tijdstempel. Eén keer per dag wordt de kopvingerafdruk van elke keten samengevat tot één samenvatting en verstuurd naar een onafhankelijke tijdstempelautoriteit. De autoriteit ondertekent haar met haar eigen klok en stuurt een token terug: het door een derde ondertekende bewijs dat deze samenvatting — en dus het hele register dat ze samenvat — op die datum precies zo bestond.
Wat de server verlaat: tweeëndertig bytes samenvatting en één willekeurig getal. Geen document, geen naam, geen datum van wie dan ook. Wat terugkomt, wordt volledig bewaard, omdat het zich met publieke werktuigen laat controleren, zonder Frontalio, over tien jaar net als morgen.
Wat het zegel bewijst — en wat niet
Het bewijst bestaan op een datum en volgorde: die attestatie, die neerlegging zaten uiterlijk op de dag van het zegel in het register, op deze plaats, en niets van vroeger is sindsdien verschoven. Het bewijst niet dat een ticket echt is, noch dat u was waar het ticket het suggereert — dat blijft de zaak van de stukken zelf. Het zegel beschermt de geloofwaardigheid van het register, niet de inhoud van elk stuk.
In het Unierecht mag aan een elektronische tijdstempel geen rechtsgevolg worden ontzegd louter omdat hij elektronisch is (eIDAS-verordening, art. 41). Een gekwalificeerde tijdstempel geniet bovendien een vermoeden van juistheid. Het standaardzegel, gratis op elk account, is niet gekwalificeerd maar publiek controleerbaar — een element van beoordeling. Pro-accounts worden verzegeld bij een gekwalificeerde vertrouwensdienstverlener: de datum van hun register wordt vermoed juist te zijn (art. 41, lid 2).
Zelf controleren
Het zegel verschijnt op drie plaatsen: onderaan de pdf-export (datum,
autoriteit, vingerafdruk), op de accountpagina onder "Integriteit van het
register", en — volledig — in uw gegevensexport. Het ZIP-archief bevat in
donnees.json de sectie ledger: elke ketenregel met zijn vingerafdruk, en
elk tijdstempeltoken in base64.
Twee controles zijn mogelijk, van de eenvoudigste tot de volledigste:
- De keten herberekenen. De vingerafdruk van elke regel is
sha256(vorige vingerafdruk + payload + schrijfdatum in het formaat JJJJ-MM-DDTHH:MM:SSZ). Elke scripttaal rekent hem na; een gewijzigde regel valt meteen op. - Het token controleren. Decodeer het token naar een
.tsr-bestand, dan:openssl ts -reply -in zegel.tsr -texttoont wat de autoriteit ondertekende — de datum en de vingerafdruk.openssl ts -verifymet het gepubliceerde certificaat van de autoriteit controleert de handtekening zelf.
Dat is het punt van de constructie: de zin "dit register is niet herschreven" is niet die van de uitbater van de site. Het is die van een tijdstempelautoriteit, en hij wordt tegen haar geverifieerd, niet tegen ons.
In de praktijk
Niets te doen. De verzegeling is automatisch en dagelijks, op elk account, gratis. Houd het register bij terwijl het jaar loopt — dat is het enige wat het zegel niet voor u kan doen: het bewijst wanneer u schreef, schrijven zal het nooit voor u.