- archive/internal/wormstore.Store: Put schreibt einmalig (chmod 0400 danach, ErrAlreadyExists bei Ueberschreibversuch inkl. DB-seitiger Sperre gegen Wettlaufsituationen), GetVerified prueft SHA-256 bei jedem Zugriff, KEINE Delete-Funktion (strukturelle API-Grenze) - migrations/0007_worm_objects: append-only Metadatentabelle - AC2/Pruefung 3 vor Umsetzung praezisiert: Schutz ueber Go-API, kein absoluter Schutz gegen root (Nutzerentscheidung: kein chattr +i, nicht portabel/nicht ehrlich als absolut behauptbar) - Reflection-Test beweist strukturell: keine Loesch-Methode vorhanden - zusaetzlich echter Nachweis auf 131 als Nicht-Root-Betriebsnutzer (sudo -u nexarch): direkter Ueberschreibversuch scheitert real, Automatiktest selbst laeuft als root und uebersprang diesen Teil bewusst Pruefungen siehe archive/docs/RET-04-PRUEFPROTOKOLL.md
11 lines
458 B
SQL
11 lines
458 B
SQL
-- RET-04: WORM-Speicher-Garantie. Append-only Metadatentabelle - kein
|
|
-- UPDATE-Pfad im Code, PRIMARY KEY(storage_key) verhindert eine zweite
|
|
-- Zeile fuer denselben Schluessel (Akzeptanzkriterium 1, zusaetzlich zur
|
|
-- Dateisystem-Schreibsperre).
|
|
CREATE TABLE IF NOT EXISTS worm_objects (
|
|
storage_key TEXT PRIMARY KEY,
|
|
checksum_sha256 TEXT NOT NULL,
|
|
size_bytes BIGINT NOT NULL,
|
|
written_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|