-- ============================================================================= -- Phishing automation gate table -- ============================================================================= -- Controls whether the phishing triage pipeline's parse/classify/report-to-ticket -- stages run automatically for a given Autotask company, or require the existing -- manual Analyze/Classify/triage-note triggers. Opt-IN model (opposite polarity -- from company_scope): companies without a row here have all three stages OFF. -- -- auto_parse — automatically extract/parse .eml evidence on detection -- auto_classify — automatically run campaign classification after parsing -- auto_report — automatically post the acknowledge_user note ONLY for -- USER_AWARENESS verdicts (D-04); never a general "auto-post -- any note/action" gate. All other verdicts/actions still -- require manual approval via the existing review UI even -- when auto_report is enabled for the company. -- ============================================================================= CREATE TABLE IF NOT EXISTS phishing_automation_gate ( company_id BIGINT PRIMARY KEY REFERENCES companies(id) ON DELETE CASCADE, auto_parse BOOLEAN NOT NULL DEFAULT false, auto_classify BOOLEAN NOT NULL DEFAULT false, auto_report BOOLEAN NOT NULL DEFAULT false, updated_by TEXT, updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); COMMENT ON TABLE phishing_automation_gate IS 'Opt-in per-company phishing pipeline automation gate. Absent row = all three stages OFF (manual-only). auto_report auto-posts ONLY the acknowledge_user action for USER_AWARENESS verdicts (D-04) -- it never auto-posts any other action.';