import pool from '@/lib/db' const MASKING_HOURS = parseInt(process.env.DATA_MASKING_HOURS || '72') export async function maskOverdueInvestors(): Promise { const cutoff = new Date(Date.now() - MASKING_HOURS * 60 * 60 * 1000) const { rows } = await pool.query<{ id: string }>( `UPDATE pitch_investors SET email = 'anon.' || id::text, name = NULL, company = NULL, status = 'revoked', data_masked_at = NOW(), updated_at = NOW() WHERE first_activity_at IS NOT NULL AND first_activity_at < $1 AND data_masked_at IS NULL RETURNING id`, [cutoff], ) if (rows.length > 0) { await pool.query( `UPDATE pitch_sessions SET revoked = true WHERE investor_id = ANY($1::uuid[]) AND NOT revoked`, [rows.map((r) => r.id)], ) } }