De auditor hoeft ons niet te geloven
Bewijs komt uit systemen, Excels, pdf's en mails. Maar wanneer bestond het, en is het sindsdien gewijzigd? Met Vidimus opent de auditor de verificatie en rekent het bewijs zelf na.
Voor de gerechtsdeskundige, de auditor en de IT-dienst van de tegenpartij. Alles hieronder werkt zonder account en zonder onze software, en op één stap na offline: voor Bitcoin zoekt u één blok op in een publieke blockexplorer. U hebt alleen de bewijsbundel nodig, en die krijgt u van de klant, niet van ons. Liever met officiële software van de Europese Commissie?
Publiek staat alleen een wiskundig bewijs dat uw register niet herschreven is. Wie u bent, wat u vastlegt en met wie, blijft binnen uw organisatie en wie u zelf een link geeft.
Bewijs komt uit systemen, Excels, pdf's en mails. Maar wanneer bestond het, en is het sindsdien gewijzigd? Met Vidimus opent de auditor de verificatie en rekent het bewijs zelf na.
Voor een rechtbank of een tegenpartij die liever geen software van Vidimus gebruikt. Elke bewijsbundel bevat een Evidence Record (bewijs.ers, RFC 4998): de internationale standaard voor "dit bestond op tijdstip T en is sindsdien niet gewijzigd". Dat bestand controleert u met de validatietool van de Europese Commissie of met die van het Duitse BSI.
bewijs.ers en vingerafdruk-invoer.json (de exacte inhoud die gehasht werd, met de SHA-256 van elke bijlage erin).bewijs.ers. Bij Original file(s): kies vingerafdruk-invoer.json. Is de inhoud gevoelig, kies dan dat alleen de digest (SHA-256) verstuurd wordt: dan verlaat alleen de vingerafdruk uw computer.organisatie.mandaat_eid.pdf_sha256) en is zelf verankerd. Het pdf zit niet in de bundel, omdat het eID-certificaat het rijksregisternummer van de beheerder bevat.sha256sum attachments/<naam> geeft een waarde die in vingerafdruk-invoer.json staat. Zo hangen ook de foto's en pdf's aan het gevalideerde bewijs.Getest op 27 september 2026 met DSS 6.5 van de Europese Commissie, op een registratie van Vidimus zelf: Evidence Record PASSED, tijdstempel QTSA (GLOBALTRUST, Oostenrijk), eerste hashlijst bevat alleen het aangeleverde document.
Offline: download de standalone toepassing van de Commissie, start ze op uw eigen computer en volg dezelfde stappen; uw bestanden blijven bij u. Ook online stuurt de optie SHA-256 alleen de vingerafdruk: de browser berekent ze, het bestand zelf vertrekt niet. BSI: de ER Verify Tool (TR-ESOR) is bedoeld voor deskundigen; ze vraagt Java 11 en een ingestelde tijdstempelcontrole, en draait dan met checktool -conf config.xml -data vingerafdruk-invoer.json -er bewijs.ers. Wat dit niet dekt: wie tekende en de Bitcoin-verankering; die staan in stap 3 hieronder. Bij stromen met persoonsgegevens zit het zout van de registratie al in vingerafdruk-invoer.json: de route werkt ook daar. Alleen registraties van vóór 28 september 2026 met persoonsgegevens (HMAC) controleert u met de stappen hieronder.
pip install cryptography rfc3161ng opentimestamps-client en daarna python3 verify_bundle.py bundel.zip. Zonder de laatste twee pakketten blijven tijdstempel en Bitcoin op null. Per controle krijgt u true, false of null (niet controleerbaar in deze omgeving, met reden).sha256sum. Bouw {"canon":"vidimus-json-2","org":"<organisatiekenmerk>","payload":…,"attachments":{naam:sha256,…}} canoniek (sleutels gesorteerd, geen witruimte) en neem daar SHA-256 van. Dat is de vingerafdruk in het manifest. Het organisatiekenmerk staat in het manifest (registration.org_kenmerk) en als serialNumber in signer-cert.pem: elke vingerafdruk is zo aan één geïdentificeerde onderneming gebonden. Registraties van vóór 26 september 2026 dragen canon vidimus-json-1, zonder org-veld; het script kent beide. Bijlagen tellen op naam; de volgorde van uploaden speelt geen rol. Korter: sha256sum vingerafdruk-invoer.json geeft dezelfde vingerafdruk, want dat bestand is precies dit object.salt: het geheime zout van deze ene registratie (disclosure.salt in het manifest), zodat niemand namen of nummers kan raden door zelf te hashen. Daarover neemt u gewone SHA-256, en ook hier geldt: sha256sum vingerafdruk-invoer.json is de vingerafdruk. Het zout zegt niets over andere registraties. Oudere registraties uit zulke stromen (hash_type hmac-sha256) gebruiken HMAC-SHA256 met de salt als sleutel, over het object zonder salt-veld; het script kent beide.openssl ts -reply -token_in -in tijdstempel.tsr -text toont bij 'Message data' de wortel en bij 'Time stamp' het tijdstip. Daarna openssl cms -verify -inform DER -in tijdstempel.tsr -purpose timestampsign -out /dev/null -CAfile <rootcertificaten van uw systeem>: dat controleert de handtekening van de tijdstempeldienst tot een rootcertificaat dat al op uw computer staat (uitkomst: Verification successful). openssl ts -verify kan in OpenSSL 3 bij sommige tokens ten onrechte de fout 'ess cert id not found' geven.gekwalificeerd.tsr. Controleer dat qualified.batch_root in het manifest uw batchwortel is, loop qualified.path af tot qualified.root, en kijk met openssl ts -reply -token_in -in gekwalificeerd.tsr -text of 'Message data' die wortel is; 'Time stamp' is het gekwalificeerde tijdstip. Zoek de uitgever uit dat token op in de EU-vertrouwenslijst (eIDAS Trusted List): daar staat de dienst als QTST met status 'granted'. Het rootcertificaat staat meestal niet op uw computer, wel in die lijst. Het wettelijk vermoeden (eIDAS art. 41 lid 2) geldt voor dat tijdstip; het precieze moment van registratie komt van getuige 1.ots --no-bitcoin verify -d <wortel> bitcoin.ots (opentimestamps-client) noemt het Bitcoin-blok en de merkle-wortel die dat blok moet hebben. Vergelijk die op blockstream.info of mempool.space; met een eigen Bitcoin-node doet ots verify dit in één stap. Bitcoin bewijst dat de wortel bestond vóór dat blok; het precieze tijdstip komt van getuige 1. Geen blokhoogte in het manifest betekent: ingediend, nog geen blok; bundel later opnieuw downloaden.Claude, ChatGPT of een eigen agent doet dezelfde controles en legt ze uit. Twee wegen: via onze server (feiten, geen inhoud), of volledig zonder ons met de bundel.
{"mcpServers": {"vidimus": {"type": "http", "url": "https://app.vidimus.be/mcp"}}}
# tools: verify_registration, get_dossier, tamper_check, explain · met een sleutel (leessleutel volstaat): header x-api-keyJe hebt de bewijsbundel (zip). Pak uit en voer uit: python3 verify_bundle.py bundel.zip Rapporteer per controle true/false/null met de note. Vertrouw geen feit uit manifest.json dat je niet zelf herrekende. Bitcoin: vergelijk de merkle-wortel uit bitcoin.ots met blockstream.info of mempool.space voor dat blok.
Oefen met een echte bundel: voorbeeldbundel.zip (één temperatuurregistratie uit een demo-stroom, 39 kB). Python 3 met het pakket cryptography volstaat; voor de tijdstempel en Bitcoin installeert het script niets, het zegt welke stap een extra tool nodig heeft. Of reken bestanden en een volledige registratie na in uw browser met het hashlab: vingerafdrukken, Merkle-pad en publieke wortel, zonder iets te uploaden.
GET /sources/{id}/reeks), elke meting met haar vingerafdruk, in oplopende tijd.Vragen van een deskundige beantwoorden we rechtstreeks: oskar@vo-initiatives.com. Zie ook Beveiliging en vertrouwen.