← Zurück zum Document Room
Real Upload Architecture

Consortium Vault

Real Upload Architecture Blueprint

Technisches Sicherheitskonzept für den späteren echten Datei-Upload. Diese Seite erklärt, welche Bausteine notwendig sind, bevor echte Dateien verarbeitet werden dürfen.

Status Blueprint
Build v0.22
Real Upload Not Active
Security Planning Stage
Wichtige Sicherheitsregel: Diese Seite ist nur ein technischer Blueprint. Es werden noch keine echten Dateien hochgeladen. Keine echten Kundendateien, Verträge, Ausweise, Bankunterlagen oder Wallet-Daten verwenden.

Simple Explanation

Ein echter Upload bedeutet: Der Admin wählt eine echte Datei auf seinem Computer aus, und diese Datei wird an das Backend gesendet.

Das Backend darf diese Datei aber nicht blind akzeptieren. Jede Datei muss zuerst geprüft werden. Erst danach darf sie in einen privaten Speicherbereich gelegt und einem Kunden oder Dokument zugeordnet werden.

Der wichtigste Grundsatz bleibt: Eine hochgeladene Datei ist zuerst unsicher, bis das Backend sie geprüft hat.

Simulation vs Real Upload

Bereich Simulation v0.21 Echter Upload später
Datei Keine echte Datei Echte Datei wird übertragen
Prüfung Dateiname, Endung, Größe, Client, Dokument Zusätzlich MIME-Type, Magic Bytes, Malware Scan
Speicherung Nur simulierte Folder-Entscheidung Echte Datei wird in private-storage gespeichert
Download Nur vorbereitet Backend liefert Datei nur nach Rechteprüfung aus
Audit Log Simulation wird protokolliert Jeder Upload, jede Prüfung und jeder Download wird protokolliert

Real Upload Flow

Schritt Was passiert? Warum wichtig?
1 Admin öffnet geschützte Upload-Seite. Nur Admin oder Super Admin darf Upload nutzen.
2 Admin wählt Datei, Kunde und Dokument aus. Keine Datei ohne Zuordnung.
3 Browser sendet Datei an Backend. Backend ist die Kontrollstelle.
4 Backend prüft Dateigröße und Dateiname. Schutz vor zu großen oder gefährlichen Uploads.
5 Backend prüft Extension, MIME-Type und Datei-Signatur. Eine Datei kann falsch benannt sein.
6 Datei landet zuerst in incoming oder quarantine. Neue Dateien werden nicht sofort freigegeben.
7 Admin oder System gibt Datei frei. Erst geprüfte Dateien werden nutzbar.
8 Datei wird über geschützte Backend-Route ausgeliefert. Kein öffentlicher Direktlink.

Required Security Checks

Check Einfach erklärt Status
Admin Role Check Nur Admins dürfen Dateien hochladen. Bereits vorbereitet
File Size Check Datei darf nicht zu groß sein. In Simulation vorbereitet
Extension Check Dateiendung muss erlaubt sein. In Simulation vorbereitet
MIME-Type Check Backend prüft den gemeldeten Dateityp. Noch zu bauen
Magic Bytes Check Backend prüft die echte Datei-Signatur. Noch zu bauen
Neutral File Name Dateiname darf keine Kundendaten verraten. In Simulation vorbereitet
Malware Scan Datei wird später auf Schadsoftware geprüft. Produktionsbaustein
Audit Log Upload und Prüfung werden protokolliert. Bereits vorbereitet

Storage Logic

Echte Kundendateien dürfen später niemals im öffentlichen public-Ordner liegen. Sie müssen in einem privaten Speicherbereich liegen.

Ordner Zweck Öffentlich?
private-storage/file-intake/incoming Neue Uploads kommen zuerst hier an. Nein
private-storage/file-intake/quarantine Verdächtige Dateien werden isoliert. Nein
private-storage/file-intake/approved Freigegebene Dateien liegen hier. Nein
private-storage/file-intake/rejected Abgelehnte Dateien liegen hier. Nein

Database Logic

Später reicht es nicht, die Datei nur zu speichern. Das System muss auch wissen, wem die Datei gehört und wer sie sehen darf.

Datenfeld Warum notwendig?
fileId Eindeutige interne ID für die Datei.
clientId Zu welchem Kundenraum gehört die Datei?
documentId Welchem Dokumentensatz ist die Datei zugeordnet?
storagePath Wo liegt die Datei intern?
originalName Wie hieß die Datei beim Upload?
neutralName Wie heißt die Datei intern sicher?
status incoming, quarantine, approved oder rejected.
uploadedBy Welcher Admin hat die Datei hochgeladen?
createdAt Wann wurde die Datei hochgeladen?

Audit Log

Jeder echte Upload muss später protokolliert werden. Das Audit Log soll aber keine sensiblen Dateiinhalte speichern.

Event Wann?
UPLOAD_RECEIVED Wenn das Backend eine Datei entgegennimmt.
UPLOAD_REJECTED Wenn die Datei blockiert wird.
UPLOAD_QUARANTINED Wenn die Datei isoliert wird.
UPLOAD_APPROVED Wenn die Datei freigegeben wird.
DOCUMENT_DELIVERY_ALLOWED Wenn eine Datei geschützt ausgeliefert wird.
DOCUMENT_DELIVERY_BLOCKED Wenn ein Zugriff blockiert wird.

Next Step

Der nächste technische Schritt ist ein echter lokaler Upload-Prototyp. Dafür brauchen wir ein Upload-Paket im Backend, damit der Browser eine Datei an Express senden kann.

Wir werden dabei weiterhin nur Demo-Dateien verwenden und keine echten Kundendaten.

Nächster Baustein Beschreibung
Phase 4R Local Real Upload Foundation mit Demo-Dateien und geschütztem Admin-Zugriff.