Tabla audit_log con RLS (solo platform_admin), trigger BEFORE UPDATE/DELETE que aborta (append-only enforcement), triggers AFTER en user_roles y surveys.status. Patrón SECURITY DEFINER reutilizado de auth_user_roles. Event trigger DDL incluido (confirmado viable sin extensiones, ver diagnóstico en ETAPA_AUDIT_LOG_PROMPT.md §4.1). Gap SEC-003 (TRUNCATE por superusuario) documentado y aceptado, no resuelto. NO aplicada en VPS — pendiente de aprobación. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
7.4 KiB
7.4 KiB