Zum Inhalt springenSkip to content
Regale mit beschrifteten Archivkartons
Luke Caunt
Prüfungen · ErgebnisseTests · results

Technische ValidierungTechnical Validation

Vivodepot ist eine Single-File-HTML-Anwendung, die offline im Browser läuft. Geprüft wird sie automatisch bei jedem Code-Commit und manuell auf externen Plattformen. Wo eine externe Plattform eine Report-ID vergibt, ist sie hier verlinkt; sonst sind Werkzeug, Version und Datum angegeben. Geprüft wird gegen öffentliche Referenzen: Gazelle, Matchbox, HL7 FHIR Validator, NIST-CAVP- und Wycheproof-Testvektoren, RFC 5869, OSV.dev, W3C Nu Html Checker, Google Lighthouse, ITB SHACL und einen eigenen, unabhängigen Krypto-Harness.

Vivodepot is a single-file HTML application that runs offline in the browser. It is tested automatically at every code commit and manually on external platforms. Where an external platform issues a report ID, it is linked here; otherwise tool, version and date are given. Tests run against public references: Gazelle, Matchbox, the HL7 FHIR Validator, NIST CAVP and Wycheproof test vectors, RFC 5869, OSV.dev, the W3C Nu Html Checker, Google Lighthouse, ITB SHACL and an independent in-house crypto harness.

Berichte externer Plattformen bestätigen die geprüften Schritte. Eine Zertifizierung sind sie nicht.

Reports from external platforms confirm the steps that were checked; they are not a certification.

Kurz gesagt. Die Verschlüsselung wird bei jeder Änderung am Programm automatisch getestet, auch darauf, dass veränderte Daten abgewiesen werden (Kryptographie). Die heruntergeladene Datei funktioniert vom Öffnen bis zum Export ohne Internetverbindung; auch das wird automatisch geprüft (Offline). Die Patientenkurzakte, die Vivodepot ausgibt, hat die Prüfwerkzeuge der Gazelle-Plattform bestanden (Konformität). Die fremden Programmbibliotheken für PDF und QR-Code werden mit einer öffentlichen Datenbank bekannter Sicherheitslücken abgeglichen, und der letzte Abgleich fand keine (Sicherheit).

In brief. The encryption is tested automatically at every change to the program, including that tampered data are rejected (Cryptography). The downloaded file works without an internet connection from opening to export; this is also checked automatically (Offline). The patient summary that Vivodepot produces has passed the validation tools of the Gazelle platform (Conformance). The third-party libraries for PDF and QR codes are checked against a public database of known security flaws, and the latest check found none (Security).

AUTOMATISCHAUTOMATEDTests bei jedem CommitTests on every commitVerschlüsselung, Formate, WiedereinlesenEncryption, formats, re-importEXTERNEXTERNALUnabhängige ValidatorenIndependent validatorsGazelle · HL7 FHIR Validator · Matchbox · ITB SHACLGazelle · HL7 FHIR Validator · Matchbox · ITB SHACLAM GERÄTON THE DEVICEGeräte-AbnahmeDevice acceptanceim Browser und auf dem Gerät, gegen eine Referenzdateiin the browser and on the device, against a reference fileÖFFENTLICHPUBLICQuelltext offenOpen sourceEUPL-1.2, auf GitHub nachprüfbarEUPL-1.2, verifiable on GitHub
Vier Prüf-Schichten. Automatische Tests laufen bei jedem Code-Commit ohne manuellen Eingriff und decken Logik, Kryptographie und Datenmodell ab. Vor jeder Veröffentlichung laufen zusätzlich Freigabe-Prüfungen: Konformität, Krypto-Testvektoren, Offline-Prüfung der heruntergeladenen Datei und ein Abgleich der eingebundenen Bibliotheken gegen bekannte Schwachstellen. Die Geräte-Abnahme prüft, was sich nur im Browser prüfen lässt: Änderungen an der Bedienoberfläche werden im Browser und auf dem Gerät an einer verschlüsselten Referenzdatei ausprobiert. Als Nachweis dient der gespeicherte Datensatz statt der Anzeige. Validierung auf externen Plattformen prüft, ob die Implementierung mit dem übereinstimmt, was externe Stellen als korrekt definieren; Testmaterial wird dafür von uns eingereicht. Regulatorische Einordnungen — DSGVO, Ausfuhrrecht, CRA, CE — sind als eigene Einschätzung gekennzeichnet und nicht behördlich bestätigt. Ein externes Sicherheits-Audit hat bisher nicht stattgefunden. Four validation layers. Automated tests run at every code commit without manual intervention, covering logic, cryptography and the data model. Before any release, additional gate checks run: conformance, cryptographic test vectors, an offline check of the downloaded file, and a comparison of bundled libraries against known vulnerabilities. Device acceptance covers what cannot be verified without a browser — changes to the user interface are exercised in the browser and on the device against an encrypted reference file, with evidence taken from the stored record rather than from the display. Validation on external platforms checks whether the implementation matches what external bodies define as correct; we submit the test material ourselves. Regulatory assessments — GDPR, export control, CRA, CE — are marked as our own; no authority has confirmed them. No external security audit has taken place to date.
FHIR-KonformitätFHIR Conformance
Gazelle EHDS Continuous Testing Platform · vier öffentliche Berichte vom 14. und 16. Oktober 2026four public reports of 14 and 16 October 2026
Validator-Läufe auf der Gazelle-Testplattform · Werkzeug Matchbox 4.1.20 · Beispieldaten einer erfundenen Person · Berichte ohne Anmeldung abrufbarValidator runs on the Gazelle test platform · tool Matchbox 4.1.20 · sample data of a fictitious person · reports available without log-in
DONE_PASSEDDONE_PASSED Externe PlattformExternal platform
LaborberichtLaboratory report Laborbericht · unverändert (byte-gleich) aus Vivodepot ausgegeben · Profil Laboratory Report 2.0.0 · Ergebnis DONE_PASSED · 16. Oktober 2026 · Laboratory report · issued unchanged (byte-identical) from Vivodepot · profile Laboratory Report 2.0.0 · result DONE_PASSED · 16 October 2026 · 1.3.6.1.4.1.12559.11.55.1.13.3974(öffnet in neuem Fenster)(opens in a new window)
EntlassbriefDischarge report Entlassbrief · unverändert (byte-gleich) aus Vivodepot ausgegeben · Profil Bundle (HDR) 0.1.0-ballot · Ergebnis DONE_PASSED · 16. Oktober 2026 · Discharge report · issued unchanged (byte-identical) from Vivodepot · profile Bundle (HDR) 0.1.0-ballot · result DONE_PASSED · 16 October 2026 · 1.3.6.1.4.1.12559.11.55.1.13.3975(öffnet in neuem Fenster)(opens in a new window)
Patienten­kurzakte IPSPatient summary IPS Patientenkurzakte · Profil Bundle (IPS) 2.0.0 · Ergebnis DONE_PASSED · 14. Oktober 2026 · Patient summary · profile Bundle (IPS) 2.0.0 · result DONE_PASSED · 14 October 2026 · 1.3.6.1.4.1.12559.11.55.1.13.3955(öffnet in neuem Fenster)(opens in a new window)
Patienten­kurzakte EPSPatient summary EPS Patientenkurzakte · Profil Bundle (EPS) 1.0.0-ballot · Ergebnis DONE_PASSED · 14. Oktober 2026 · Patient summary · profile Bundle (EPS) 1.0.0-ballot · result DONE_PASSED · 14 October 2026 · 1.3.6.1.4.1.12559.11.55.1.13.3956(öffnet in neuem Fenster)(opens in a new window)
Gazelle EHDS — Testinstanzen und Validierungsberichtetest instances and validation reports
Gazelle · EHDS Continuous TestingGazelle · EHDS Continuous Testing
Externe PlattformExternal platform
Patienten­kurzaktePatient summary Patientenkurzakte (eigener Export) · Profil HL7 Europe Patient Summary 1.0.0-alpha · Testinstanz 450 · Status „Verified“, gesetzt am 16. Juli 2026 durch IHE EuropePatient summary (own export) · profile HL7 Europe Patient Summary 1.0.0-alpha · test instance 450 · status “Verified”, set on 16 July 2026 by IHE Europe VERIFIZIERTVERIFIED
Abruf eines Dokuments (Yellow Button)Document retrieval (Yellow Button) Abruf eines Dokuments (Yellow Button) · Testinstanz 568 · Validierungsbericht von IHE Europe / IHE Catalyst vom 15. September 2026: alle vier Schritte bestanden (Anmeldung als natürliche Person, Dokumentauswahl, Abruf, Anzeige in lesbarer Form). Vivodepot ruft das Dokument ab.Document retrieval (Yellow Button) · test instance 568 · validation report by IHE Europe / IHE Catalyst of 15 September 2026: all four steps passed (log-in as a natural person, document selection, retrieval, display in human-readable form). Vivodepot retrieves the document.
Gazelle EHDS — Einmal-Freigabe (SMART Health Links)One-Time Share (SMART Health Links)
Gazelle · Einmal-Freigabe über SMART Health LinksGazelle · one-time share via SMART Health Links
2 Validierungsberichte2 validation reports Externe PlattformExternal platform
SendenSending Einmal-Freigabe über SMART Health Links, Senden · Testinstanz 727 · Validierungsbericht von IHE Europe / IHE Catalyst vom 2. Oktober 2026: alle fünf Schritte bestanden (Anmeldung als natürliche Person, Dokumentauswahl, Erzeugen des Links, Zugriff auf das Manifest, Zugriff auf das Dokument). Vivodepot erzeugt die Freigabe.One-time share via SMART Health Links, sending · test instance 727 · validation report by IHE Europe / IHE Catalyst of 2 October 2026: all five steps passed (log-in as a natural person, document selection, link generation, access to the manifest, access to the document). Vivodepot creates the share.
EmpfangenReceiving Einmal-Freigabe über SMART Health Links, Empfangen · Testinstanz 751 · Validierungsbericht von IHE Europe / IHE Catalyst vom 25. September 2026: alle fünf Schritte bestanden. Vivodepot empfängt die Freigabe.One-time share via SMART Health Links, receiving · test instance 751 · validation report by IHE Europe / IHE Catalyst of 25 September 2026: all five steps passed. Vivodepot receives the share.
Matchbox FHIR Validator
ahdis · Matchbox 4.1.17 · Patientenkurzakte (IPS 2.0.0)ahdis · Matchbox 4.1.17 · patient summary (IPS 2.0.0)
BESTANDENPASSED Externe PlattformExternal platform
ErgebnisResult Bestanden · 0 Fehler · 24. September 2026Passed · 0 errors · 24 September 2026
HL7 FHIR Validator
HL7 International · validator_cli 6.9.12 · automatisch, wenn sich der FHIR-Export ändertHL7 International · validator_cli 6.9.12 · automatically whenever the FHIR export changes
BESTANDENPASSED AutomatischAutomated
ErgebnisResult Patientenkurzakte (IPS 2.0.0, EU EPS) · bestanden · 0 Fehler · 24. September 2026Patient summary (IPS 2.0.0, EU EPS) · passed · 0 errors · 24 September 2026
BildungsnachweiseEducational credentials
ITB SHACL Validator
Europäische Kommission · Version 1.13.0 · EDC-Anwendungsprofil edc-generic-fullEuropean Commission · version 1.13.0 · EDC application profile edc-generic-full
BESTANDENPASSED
ErgebnisResult Von der EU gesiegelte Europass-Nachweise, verwahrt und unverändert wieder herausgegeben · bestandenEuropass credentials sealed by the EU, stored and handed out again unchanged · passed
KryptographieCryptography
AES-256-GCM · Authentifizierte VerschlüsselungAuthenticated Encryption
WebCrypto API · SubtleCrypto · Die Verschlüsselung des Depots läuft vollständig über die Kryptographie des Browsers. Eine Ausnahme ist eingebettet: noble-ed25519, in der Fassung, die Cure53 2022 geprüft hat. Sie wird für selbst signierte Selbstauskünfte (SD-JWT VC) benötigt, um den öffentlichen Signaturschlüssel aus dem passwortabgeleiteten Schlüssel zu berechnen. Das kann der Browser nicht, ohne den geheimen Schlüssel auslesbar zu machen. Stückliste(öffnet in neuem Fenster)(opens in a new window)Encryption of the depot runs entirely on the browser’s cryptography. One exception is embedded: noble-ed25519, in the version Cure53 audited in 2022. It is needed for self-signed self-declarations (SD-JWT VC), to compute the public signing key from the password-derived key. The browser cannot do that without making the secret key extractable. Software bill of materials(öffnet in neuem Fenster)(opens in a new window)
BESTÄTIGTCONFIRMED AutomatischAutomated
ErgebnisResult AES-256-GCM, 12-Byte-IV, 16-Byte-Tag · manipulierte Daten werden abgewiesen · automatisch bei jedem CommitAES-256-GCM, 12-byte IV, 16-byte tag · tampered data is rejected · automatically at every commit
PBKDF2-SHA-256 · SchlüsselableitungKey Derivation
OWASP Password Storage Cheat Sheet
AutomatischAutomated
ErgebnisResult 600.000 Iterationen, Salt 16 Byte · OWASP-Empfehlung erfüllt · automatisch600,000 iterations, 16-byte salt · meets the OWASP recommendation · automated
HKDF · Funktionale SchlüsseltrennungFunctional Key Separation
HMAC-based Key Derivation · RFC 5869
BESTÄTIGTCONFIRMED AutomatischAutomated
ErgebnisResult getrennte Schlüssel für Verschlüsselung und Signatur · RFC-5869- und Wycheproof-Vektoren grün · automatischseparate keys for encryption and signing · RFC 5869 and Wycheproof vectors green · automated
Authentifizierte Krypto-Versions-AchseAuthenticated Crypto Version Axis
kryptoVersion-Feld · AllowlistkryptoVersion field · allowlist · kein stilles Fallbackno silent fallback
BESTÄTIGTCONFIRMED AutomatischAutomated
ErgebnisResult Version kryptographisch gebunden, unbekannte Versionen abgelehnt · automatischversion cryptographically bound, unknown versions rejected · automated
JWS Ed25519 · Anbieter-ZertifikateProvider Certificates
RFC 7515 · W3C Verifiable Credentials · Trust Authority
BESTÄTIGTCONFIRMED AutomatischAutomated
ErgebnisResult Ed25519, ES256 als Ersatz · 150 Wycheproof-Vektoren, 0 Funde · 14. September 2026Ed25519, ES256 as fallback · 150 Wycheproof vectors, 0 findings · 14 September 2026
NIST CAVP + Wycheproof · Externe Test-VektorenExternal Test Vectors
Unabhängige kryptographische Referenz-VektorenIndependent cryptographic reference vectors
BESTÄTIGTCONFIRMED Externe VektorenExternal vectors
ErgebnisResult 419 externe Vektoren · alle grünexternal vectors · all green
Unabhängiger Krypto-HarnessIndependent Crypto Harness
Eigener Code, eigener Prozess, eigene Engine-KreuzprobeSeparate code, separate process, its own cross-engine check
59/59 Eigenständiger LaufStandalone run
ErgebnisResult 59 von 59 grün · eigenständiger Lauf · 23. September 202659 of 59 green · standalone run · 23 September 2026
extractable: false · Schlüssel-Export-SchutzKey Export Protection
WebCrypto CryptoKey · kein programmatischer Schlüssel-Exportno programmatic key export
BESTÄTIGTCONFIRMED AutomatischAutomated
ErgebnisResult alle geheimen Schlüssel nicht exportierbar · 10 von 10 · 20. Juni 2026all secret keys non-exportable · 10 of 10 · 20 June 2026
VdCrypto-Block-IntegritätVdCrypto Block Integrity
Krypto-Kern byte-identisch über alle TrägerCrypto core byte-identical in every file that carries it
BESTÄTIGTCONFIRMED AutomatischAutomated
ErgebnisResult Krypto-Kern in Anwendung und Lese-App byte-gleichcrypto core byte-identical in the app and the reader app · 4cd539cd…1d4fd98 · 17.10.202617 October 2026
SicherheitSecurity
OSV.dev Schwachstellen-ScanVulnerability Scan
Open Source Vulnerabilities · Google · gegen SBOM CycloneDX 1.4against SBOM CycloneDX 1.4
SAUBERCLEAN AutomatischAutomated
ErgebnisResult 0 bekannte Schwachstellen · jsPDF 4.2.1, qrcode-generator 1.4.4 · 2. Oktober 20260 known vulnerabilities · jsPDF 4.2.1, qrcode-generator 1.4.4 · 2 October 2026
Offline nutzbar als heruntergeladene DateiWorks offline as a downloaded file
Kein Netzzugriff der Anwendung beim Arbeiten mit dem Depot · Playwright-VerifikationNo network access by the app while working with the depot · Playwright verification
BESTÄTIGTCONFIRMED AutomatischAutomated
ErgebnisResult 0 externe Netzwerk-Requests zur Laufzeit · automatisch geprüft an der heruntergeladenen Datei (Laden bis PDF- und FHIR-Export)0 external network requests at runtime · automatically tested on the downloaded file (from loading to PDF and FHIR export)
Barrierefreiheit und HTML-QualitätAccessibility and HTML Quality
W3C Nu Html Checker
vnu 26.5.21 · HTML5 undand WAI-ARIA Konformitätconformance
MIT 2 ERRORS2 ERRORS REMAINING Externe PlattformExternal platform
ErgebnisResult vnu 26.5.21 · 2 Fehler offen · 28. Mai 2026vnu 26.5.21 · 2 errors open · 28 May 2026
Google Lighthouse
Zweite, unabhängige Barrierefreiheits- und QualitätsmessungA second, independent measurement of accessibility and quality
A11Y 100 · BEST PRACTICES 96 · SEO 82A11Y 100 · BEST PRACTICES 96 · SEO 82 Lokal geprüftChecked locally
ErgebnisResult Lighthouse 13.4.1 · Barrierefreiheit 100, Best Practices 96, SEO 82 · 30. August 2026Lighthouse 13.4.1 · accessibility 100, best practices 96, SEO 82 · 30 August 2026
veraPDF · PDF/A-KonformitätPDF/A conformance
Langzeit-Archivierungs-Tauglichkeit der Export-PDFsLong-term archival suitability of exported PDFs
143 VON 146 REGELN143 OF 146 RULES Lokaler LaufLocal run
ErgebnisResult veraPDF 1.30.0 · PDF/A-3b · 143 von 146 Regeln, noch nicht konform · 14. September 2026veraPDF 1.30.0 · PDF/A-3b · 143 of 146 rules, not yet conformant · 14 September 2026
Lizenz und LieferketteLicence and Supply Chain
SBOM CycloneDX 1.4
Software Bill of Materials · alle Dritt-Bibliotheken dokumentiertall third-party libraries documented
VOLLSTÄNDIGCOMPLETE AutomatischAutomated
ErgebnisResult CycloneDX 1.4 · Herkunft und Lizenz jedes Bestandteils verzeichnetCycloneDX 1.4 · origin and licence of every component listed
Kein Laufzeit-CDN-RisikoNo Runtime CDN Risk
Alle Bibliotheken inline · kein externer JavaScript-Abruf zur LaufzeitAll libraries inline · no external JavaScript fetched at runtime
BESTÄTIGTCONFIRMED AutomatischAutomated
ErgebnisResult alle Bibliotheken eingebettet · kein Abruf zur Laufzeit · automatischall libraries embedded · no download at runtime · automated
Regulatorische EinordnungRegulatory Classification
CRA — Cyber Resilience Act
Verordnung (EU) 2024/2847 · Meldepflichten (Art. 14) seit 11. September 2026 · volle Geltung ab 11. Dezember 2027Regulation (EU) 2024/2847 · Reporting obligations (Art. 14) since 11 September 2026 · fully applicable from 11 December 2027
VORBEREITETPREPARED Eigene EinordnungOwn assessment
EinordnungAssessment Produkt mit digitalen Elementen · Meldepflichten nach Art. 14 CRA gelten seit 11.09.2026, übrige Herstellerpflichten ab 11.12.2027. Wir behandeln Vivodepot als „wichtiges Produkt mit digitalen Elementen“ der Klasse I (CRA, Anhang III Nr. 1). · SBOM und Meldeweg sind in unserer Sicherheitsrichtlinie(öffnet in neuem Fenster)(opens in a new window) beschriebenProduct with digital elements · reporting obligations under Art. 14 CRA apply since 11 Sep 2026, other manufacturer obligations from 11 Dec 2027. We treat Vivodepot as an “important product with digital elements” of class I (CRA, Annex III No. 1). · SBOM and reporting route are described in our security policy(öffnet in neuem Fenster)(opens in a new window)
DSGVOGDPR — Datenschutz-GrundverordnungGeneral Data Protection Regulation
Privacy by Design · Keine serverseitige Verarbeitung lesbarer Inhalte. Bei einer Einmal-Freigabe liegt die verschlüsselte Datei auf share.vivodepot.de; der Schlüssel steht im Link und erreicht den Server nicht.Readable content is not processed server-side. With a one-time share, the encrypted file is stored on share.vivodepot.de; the key is in the link and never reaches the server.
Eigene EinordnungOwn assessment
EinordnungAssessment Vivodepot GmbH verarbeitet keine Depot-Inhalte; Ausnahme ist die Einmal-Freigabe, dort liegt das Dokument nur verschlüsselt, ohne SchlüsselVivodepot GmbH does not process depot contents; the exception is the one-time share, where the document lies only in encrypted form, without the key
WEEE / Stiftung EAR
Elektro- und Elektronikgerätegesetz · Vertreiberin, keine eigene RegistrierungElectrical Equipment Act · distributor, no registration of its own
ÜBER LIEFERKETTEVIA SUPPLY CHAIN Eigene EinordnungOwn assessment
EinordnungAssessment über den Lieferanten · WEEE-Nr. DE 31310269via the supplier · WEEE no. DE 31310269
Geräte-AbnahmeDevice acceptance
Zusätzlich zur automatischen Prüfung werden Änderungen an der Bedienoberfläche im Browser und auf dem Gerät gegen eine verschlüsselte Referenzdatei geprüft. Der Nachweis wird aus dem gespeicherten Datensatz geführt, nicht aus der Anzeige. In addition to automated testing, changes to the user interface are checked in the browser and on the device against an encrypted reference file. The evidence is taken from the stored record, not from the display.
727727 definierte Browser-Testsdefined browser tests automatisierte Ende-zu-Ende-Tests (Playwright, Chromium) · Stand v1.0.931 · 17.10.2026automated end-to-end tests (Playwright, Chromium) · as of v1.0.931 · 17 October 2026
0 Bekannte SchwachstellenKnown vulnerabilities geprüft gegen OSV.devchecked against OSV.dev
0 FHIR-FehlerFHIR errors Gazelle: Patientenkurzakte „Verified“ (Testinstanz 450) · 3 Validierungsberichte (alle Schritte bestanden)Gazelle: patient summary “Verified” (test instance 450) · 3 validation reports (all steps passed)
MIT · OFL Software-LizenzenSoftware licences jsPDF + qrcode-generator (MIT) · Inter (OFL-1.1) · permissive LizenzenjsPDF + qrcode-generator (MIT) · Inter (OFL-1.1) · permissive licences

Quelltext und Testprotokolle auf GitHub →(öffnet in neuem Fenster)(opens in a new window)

Source code and test logs on GitHub →(öffnet in neuem Fenster)(opens in a new window)