Guía para Auditores y Compliance Officers

Para quién es esta guía

Esta guía es para compliance officers, auditores internos/externos, y equipos legales que necesitan:


Qué evidencia genera licit

licit produce 6 tipos de evidencia documental:

EvidenciaArchivoRegulación cubiertaQué demuestra
Provenance.licit/provenance.jsonlArt. 12, Art. 13Qué código fue escrito por IA vs. humanos
Config changelog.licit/changelog.mdArt. 13Historial de cambios en configuración de agentes IA
FRIA.licit/fria-report.mdArt. 27Evaluación de impacto en derechos fundamentales
Annex IV.licit/annex-iv.mdAnnex IVDocumentación técnica del sistema de IA
Compliance report.licit/reports/compliance-report.*Arts. 9-27Evaluación artículo por artículo con evidencia
Gap analysis(salida terminal)TodosRequisitos faltantes con recomendaciones

Cómo verificar compliance

Paso 1: Verificación rápida

cd proyecto-a-auditar
licit verify

El exit code indica el estado general:

Paso 2: Reporte detallado

licit report --format html -o auditoria.html

El reporte HTML incluye:

Paso 3: Identificar brechas

licit gaps

Lista cada brecha con:


Cómo interpretar los resultados

Estados de compliance

StatusSignificadoAcción del auditor
compliantEvidencia suficiente de cumplimientoDocumentar como cumplido
partialEvidencia parcial, mejoras posiblesDocumentar con observaciones
non-compliantSin evidencia de cumplimientoDocumentar como hallazgo
n/aNo aplica al contexto del proyectoDocumentar justificación
not-evaluatedNo hay evaluación automática disponibleRequiere evaluación manual

Tasa de compliance

compliance_rate = compliant / (compliant + partial + non_compliant) * 100

No incluye n/a ni not-evaluated en el denominador. Una tasa del 100% significa que todos los controles evaluados son compliant.

Evidencia de provenance

El campo evidence en cada resultado muestra qué datos respaldaron la evaluación. Ejemplos:

EvidenceQué significa
”Guardrails active: 10 rules”El proyecto tiene 10 reglas de guardrails configuradas en architect
”Git history: 50 commits”licit tiene acceso al historial completo
”Provenance tracking: 40% AI attribution”El 40% del código fue identificado como generado por IA
”No FRIA document found”No se ha completado el FRIA
”FRIA completed: .licit/fria-data.json”El FRIA existe y tiene datos

EU AI Act — Artículos evaluados

licit evalúa las obligaciones del deployer (quien despliega el sistema de IA), no del provider:

ArtículoQué verifica licitEvidencia buscada
Art. 9 — Gestión de riesgos¿Hay guardrails, quality gates, budget limits, security scanning?Configs de architect, vigil, semgrep, snyk
Art. 10 — Gobernanza de datosSiempre PARTIAL — el deployer no entrena modelosNota de documentación
Art. 12 — Registro automático¿Hay git history, audit trail, provenance, OTel?.licit/provenance.jsonl, .architect/reports/
Art. 13 — Transparencia¿Hay Annex IV, changelog, trazabilidad?.licit/annex-iv.md, .licit/changelog.md
Art. 14 — Supervisión humana¿Hay review gates, dry-run, quality gates?CI/CD config, architect config
Art. 26 — Obligaciones del deployer¿Hay configs de agentes? ¿Se monitorea?CLAUDE.md, .cursorrules, etc.
Art. 27 — FRIA¿Existe el documento FRIA?.licit/fria-data.json
Annex IV — Doc. técnica¿Existe documentación técnica?.licit/annex-iv.md

Cómo mejorar una evaluación

Para mover un artículo de non-compliant a compliant:

ArtículoComando licitQué hacer
Art. 27 (FRIA)licit friaCompletar el cuestionario interactivo de 5 pasos
Annex IVlicit annex-ivEjecutar — se genera automáticamente desde metadatos del proyecto
Art. 12 (Logging)licit traceEjecutar análisis de provenance
Art. 13 (Transparencia)licit changelogGenerar changelog de configs de agentes

Validación de integridad

Provenance firmada

Si el proyecto tiene signing habilitado (provenance.sign: true en .licit.yaml), cada registro de provenance tiene una firma HMAC-SHA256. licit verifica automáticamente las firmas al cargar datos.

La clave de firma está en .licit/.signing-key y no debe versionarse en git.

Datos append-only

El store de provenance (.licit/provenance.jsonl) es append-only por diseño:

Verificación manual

Para verificar que los datos de provenance son consistentes con git:

# Ver stats de provenance
licit trace --stats

# Comparar con git log real
git shortlog -sn HEAD

# Generar reporte detallado
licit trace --report

Preparación para auditoría regulatoria

Documentos a recopilar

  1. .licit.yaml — Configuración del proyecto (qué frameworks están habilitados, qué se monitorea)
  2. .licit/fria-report.md — FRIA completo (Art. 27)
  3. .licit/annex-iv.md — Documentación técnica (Annex IV)
  4. .licit/reports/compliance-report.html — Reporte de compliance más reciente
  5. .licit/changelog.md — Historial de cambios en configs de agentes
  6. .licit/provenance.jsonl — Datos crudos de trazabilidad (para verificación)

Workflow pre-auditoría

# 1. Actualizar toda la evidencia
licit trace
licit changelog

# 2. Generar documentación regulatoria (si no existe)
licit annex-iv
# licit fria  # Solo si no se ha completado (interactivo)

# 3. Generar reporte final
licit report --format html -o auditoria-$(date +%Y%m%d).html

# 4. Revisar brechas pendientes
licit gaps

Qué NO genera licit

licit no sustituye:

licit proporciona:


Preguntas frecuentes de auditores

¿Cómo de precisa es la detección de código IA?

La provenance usa 6 heurísticas con un promedio ponderado. La confianza varía:

El umbral configurable (confidence_threshold: 0.6) determina qué se cuenta como IA.

¿Los reportes son alterables?

Los archivos .md, .html y .json son archivos planos y pueden ser editados. Para evidencia tamper-resistant:

  1. Habilitar signing (provenance.sign: true)
  2. Versionar reportes en git (el historial de git es su propia cadena de integridad)
  3. Generar reportes en CI/CD (el log del pipeline es evidencia adicional)

¿Con qué frecuencia debo generar reportes?

EscenarioFrecuencia recomendada
Desarrollo activo con IACada sprint / cada PR (via CI/CD)
Preparación de releaseAntes de cada release
Auditoría regulatoriaAl inicio de la auditoría + actualización final
Monitoreo continuoSemanal (via cron en CI/CD)