-- Vier-Augen-Prinzip fuer sicherheitskritische Entscheidungen (AUD-02
-- Akzeptanzkriterium 2), Vorbild: archivdms FOR-UPDATE-Lock + Timing-safe
-- Vergleich. code_hash speichert NIEMALS den Bestaetigungscode im Klartext.
CREATE TABLE security_confirmations (
    id            UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    action        TEXT NOT NULL,
    target        TEXT NOT NULL,
    requested_by  TEXT NOT NULL,
    code_hash     BYTEA NOT NULL,
    status        TEXT NOT NULL DEFAULT 'pending' CHECK (status IN ('pending', 'confirmed', 'rejected')),
    confirmed_by  TEXT,
    created_at    TIMESTAMPTZ NOT NULL DEFAULT now(),
    confirmed_at  TIMESTAMPTZ
);
