// engine/spec-templates/fintech-compliance.ts — Fintech compliance template.
// AC-04: Templates by industry — fintech vertical (compliance).
/** Fintech compliance template. */
export const FINTECH_COMPLIANCE_TEMPLATE = {
    id: 'fintech-compliance',
    name: 'Reportes de compliance regulatorio',
    category: 'industry',
    subcategory: 'fintech',
    description: 'Generacion de reportes regulatorios, retencion de datos y firma digital.',
    tags: ['fintech', 'compliance', 'regulatory', 'reporting', 'audit'],
    complexityScore: 'L',
    estimationBase: {
        hoursMin: 40,
        hoursMax: 80,
        notes: 'Depende de regulaciones locales aplicables',
    },
    criteria: [
        { id: 'AC-1', title: 'Generacion de reportes', required: true },
        { id: 'AC-2', title: 'Retencion de datos', required: true },
        { id: 'AC-3', title: 'Firma digital', required: false },
        { id: 'AC-4', title: 'Auditoria de acceso', required: true },
        { id: 'AC-5', title: 'Alertas de compliance', required: true },
    ],
    variables: [
        {
            key: 'ServiceName',
            label: 'Nombre del servicio',
            description: 'Nombre del servicio regulado',
            example: 'FinanceApp',
            required: true,
        },
        {
            key: 'Regulation',
            label: 'Regulacion aplicable',
            description: 'Regulacion principal a cumplir',
            example: 'PCI-DSS',
            required: false,
            defaultValue: 'regulacion local aplicable',
        },
    ],
    huTemplate: `# HU: Compliance Regulatorio — {{ServiceName}}

## Historia de Usuario
Como responsable de compliance de {{ServiceName}}, quiero generar reportes regulatorios y mantener trazabilidad completa para cumplir con {{Regulation}}.

## Criterios de Aceptacion

### AC-1: Generacion de reportes
- [ ] El sistema genera reportes regulatorios en formatos requeridos (PDF, XML, CSV)
- [ ] Los reportes incluyen periodo, datos agregados y detalle por transaccion
- [ ] La generacion es bajo demanda y programable (cron)
- [ ] Los reportes se almacenan con hash de integridad

### AC-2: Retencion de datos
- [ ] Los datos regulados se retienen por el periodo legalmente requerido
- [ ] La politica de retencion es configurable por tipo de dato
- [ ] Los datos expirados se eliminan de forma segura con registro de eliminacion
- [ ] Se puede demostrar la cadena de custodia de cualquier dato

### AC-3: Firma digital
- [ ] Los reportes pueden firmarse digitalmente antes del envio
- [ ] Se verifica la integridad de reportes firmados al consultarlos
- [ ] Los certificados de firma se gestionan de forma segura

### AC-4: Auditoria de acceso
- [ ] Todo acceso a datos regulados se registra (quien, cuando, que)
- [ ] Los registros de acceso son inmutables
- [ ] Accesos anomalos generan alertas automaticas

### AC-5: Alertas de compliance
- [ ] Se generan alertas cuando un proceso de compliance falla o se retrasa
- [ ] Las alertas se escalan segun el protocolo definido
- [ ] Se mantiene registro de alertas y sus resoluciones
`,
    fichaTecnicaTemplate: `# FICHA TÉCNICA: Compliance — {{ServiceName}}

## Archivos Afectados
- compliance/report-generator
- compliance/data-retention
- compliance/digital-signature
- compliance/access-audit
- compliance/alerts

## Tipos / Entidades
- \`ComplianceReport\`: id, type, period, format, hash, signedAt
- \`RetentionPolicy\`: dataType, retentionDays, deleteStrategy
- \`AccessLog\`: userId, resource, action, timestamp, ip

## Riesgos
- Reporte incorrecto → validacion cruzada con datos fuente
- Perdida de datos antes del periodo de retencion → backups redundantes
- Cambios regulatorios → arquitectura extensible para nuevas reglas

## Estimacion
- Dev: 40–80 horas
- Review: 8–16 horas
- Dificultad: 4/5
`,
    progressTemplate: `# PROGRESS: Compliance — {{ServiceName}}

## Estado: borrador

## Criterios
- [ ] AC-1: Generacion de reportes
- [ ] AC-2: Retencion de datos
- [ ] AC-3: Firma digital
- [ ] AC-4: Auditoria de acceso
- [ ] AC-5: Alertas de compliance
`,
};
//# sourceMappingURL=fintech-compliance.js.map