# AUTH.3A — HUMAN APPROVAL AUTHENTICITY GAP (Dokumentation) **Status:** OPEN (nicht in AUTH.3A repariert — bewusste Scope-Begrenzung) **Mission:** AUTH.3A (C5 Caller Auth Integration) **Datum:** 2026-08-27 ## Gap-Beschreibung Der bekannte PRE_HERMES-Gap: - `approved_by="human:christian"` ist ein **frei waehlbares CLI-Argument** (`rq_c5_cli.py`, `--approved-by` mit Default `"human:christian"`). - Es gibt **keine kryptographische Bindung** der Human-Approval an Christian (keine Signatur, kein Nonce-Beweis, kein Out-of-Band-Verifikationskanal). Das bedeutet: Ein Angreifer mit Schreibzugriff auf die C5-DB (oder auf den CLI-Aufruf) koennte eine Approval mit `approved_by="human:christian"` faelschen, ohne dass dies kryptographisch nachweisbar waere. ## Scope-Begrenzung (AUTH.3A) AUTH.3A repariert diesen Gap **NICHT**. Gruende: 1. AUTH.3A ist strikt auf **C5-Caller-Auth-Integration** begrenzt (SAVE-/DELETE-Credential fuer die legitimen Writer). 2. Die Approval-Authenticity ist ein **eigenstaendiges Security-Thema** (eigene Mission, eigene Freigabe durch Christian). 3. Keine Scope-Ausweitung ueber die AUTH.3A-Freigabe hinaus. ## Was AUTH.3A sicherstellt (in Bezug auf DELETE) AUTH.3A fuegt dem DELETE-Pfad ein **zweites, unabhaengiges Gate** hinzu: - **Gate 1 (bestehend):** gueltige persistierte Human-Approval (`DeleteExecutor._validate_approval` — Approval existiert, APPROVED, bindet exakt Commit/Objekt/Pfad). - **Gate 2 (AUTH.3A, neu):** gueltiges DELETE-Credential (`TolariaClient._require_token` — fail-closed, kein Request ohne Token). Beide Gates sind **zwingend und unabhaengig**: - DELETE-Credential ersetzt NIE die Human-Approval. - Human-Approval ersetzt NIE das DELETE-Credential. - Fehlt eines von beiden → FAIL CLOSED (kein Request gesendet). ## Verbleibende Luecke (nicht in AUTH.3A) Die **Authentizitaet** der Human-Approval selbst (dass sie wirklich von Christian stammt) bleibt ungeloest. Das DELETE-Credential schuetzt vor unautorisierten *Ausfuehrern*, aber nicht vor einer *gefaelschten Approval*. ## Kennung ``` HUMAN_APPROVAL_AUTHENTICITY_GAP = OPEN ``` ## Naechste Schritte (separate Freigabe erforderlich) - Eigene Security-Mission zur kryptographischen Bindung der Human-Approval an Christian (z. B. Signatur, Nonce-Beweis, Out-of-Band-Verifikation). - Kein Teil von AUTH.3A / AUTH.3B / AUTH.4.