export interface ModerationResult { allowed: boolean categories: string[] } const explicitPatterns = [ /\b(?:explicit sex|porn(?:ography)?|rape|sexual assault)\b/i, /\b(?:nude|naked)\s+(?:child|minor|teen)\b/i, /\b(?:child|minor|underage)\s+(?:sex|sexual|erotic)\b/i, ] const extremeGorePatterns = [ /\b(?:graphic dismemberment|torture porn|extreme gore)\b/i, ] export function moderate13Plus(text: string): ModerationResult { const categories: string[] = [] if (explicitPatterns.some(pattern => pattern.test(text))) categories.push('sexual_explicit') if (extremeGorePatterns.some(pattern => pattern.test(text))) categories.push('extreme_graphic_violence') return { allowed: categories.length === 0, categories } }