-- Modul-Registry & Aktivierungspruefung (API-02, siehe core-kanban/tickets/API-02.md). CREATE TABLE modules ( name TEXT PRIMARY KEY, version TEXT NOT NULL CHECK (version <> ''), required_flags TEXT[] NOT NULL DEFAULT '{}', registered_at TIMESTAMPTZ NOT NULL DEFAULT now() ); -- Service-Credential je Modul-Instanz, bei Provisionierung ausgestellt -- (Akzeptanzkriterium 4). secret_hash enthaelt NIEMALS das Secret im -- Klartext, nur dessen SHA-256-Hash (Timing-safe-Vergleich beim Login, -- Referenzmuster siehe AUD-02). CREATE TABLE module_credentials ( module_name TEXT PRIMARY KEY REFERENCES modules(name), client_id TEXT NOT NULL UNIQUE, secret_hash BYTEA NOT NULL, issued_at TIMESTAMPTZ NOT NULL DEFAULT now() );