Ir al contenido

Conformidad dual de estándares

El EU AI Act remite a estándares armonizados para la gestión de riesgos. Venturalítica soporta actualmente dos: prEN 18228 (CEN/CENELEC JTC 21, prioritario como estándar armonizado del Art. 9) e ISO 23894 (proceso de gestión de riesgos de IA). Un mismo bundle firmado se puede proyectar a cualquiera de ellos — o a ambos — sin modificar ni re-anotar el AssuranceProgram.


El programa de riesgos — la sección risk: de sei.yaml — contiene los riesgos, las medidas y los resultados de los controles evaluados. sei conformance proyecta ese contenido al catálogo de cláusulas del estándar pedido: para cada cláusula del catálogo, determina si una o más medidas la cubren (con qué control y resultado), si la cubren parcialmente o si hay un hueco.

Esta proyección es lo que permite obtener N informes de conformidad a partir de un único AssuranceProgram, sin duplicar la anotación ni crear ambigüedad de fuente de verdad.

Los identificadores canónicos de los dos estándares son:

EstándarId canónico
prEN 18228 (armonizado, prioritario)eu/pren-18228@2026
ISO 23894:2023iso/23894@2023

Proyectar al catálogo de prEN 18228
sei conformance --repo . --standard eu/pren-18228@2026
Proyectar al catálogo de ISO 23894
sei conformance --repo . --standard iso/23894@2023
Todos los estándares aplicables (declarados en applicable_standards)
sei conformance --repo .

La salida agrupa las cláusulas por fase del ciclo del estándar (p. ej. overall_residual, treatment, identification…) e indica para cada cláusula:

  • ✅ CUBIERTA — una o más medidas la cubren y el control asociado pasó.
  • ⚠ PARCIAL — medidas que la referencian pero el control está en fallo o es advisory.
  • ❌ HUECO — ninguna medida cita la cláusula, o el control bloqueante no pasa.

Ejemplo de salida para eu/pren-18228@2026 sobre el escenario loan (estado T1, gate verde):

═══ Conformidad eu/pren-18228@2026 ═══
Cobertura: 1 cubiertas · 0 parciales · 1 huecos
── ciclo: risk_control ──
✅ cl.9.2 Implementation and verification of risk control measures — unfair-credit-exclusion (PASA)
── ciclo: overall_residual ──
❌ cl.10 Evaluation of overall residual risk — residual agregado CRÍTICO/EXCEDE apetito

Con --out, el comando escribe el informe como artefacto firmado:

Generar y escribir el artefacto de conformidad
sei conformance --repo . --standard eu/pren-18228@2026 --out

Ficheros generados:

.sei/conformance/eu_pren-18228_2026.json ← SeiArtifact<Conformance> firmado
.sei/conformance/eu_pren-18228_2026.json.sig ← sobre DSSE · in-toto · ECDSA-P256

El slug del fichero se deriva del id del estándar (reemplazando /, @ y - para compatibilidad de sistema de ficheros).


--history proyecta la conformidad en cada iteración comprometida del bundle (cada sei run que fue commiteado), mostrando cómo evoluciona la cobertura durante el ciclo RDD:

Ver la evolución de la conformidad a lo largo del tiempo
sei conformance --repo . --standard eu/pren-18228@2026 --history

Salida típica (dos iteraciones: T0 gate rojo, T1 gate verde):

═══ Conformidad eu/pren-18228@2026 POR ITERACIÓN (RDD) ═══
a3f2b1c0 2026-05-23 · 0 cubiertas / 2 huecos «T0: V1 evidencia (gate RED)»
7e9d4f2a 2026-05-23 · 1 cubiertas / 1 huecos «T1: re-ancla V2 (gate GREEN)»

Esto ilustra el bucle de tratamiento ISO 23894: la cobertura crece a medida que los controles pasan. Cada iteración corresponde a un commit del bundle, trazable por hash.


Los dos comandos del escenario loan demuestran el dedup en la práctica:

Primer comando (del escenario loan.json)
sei conformance --repo . --standard eu/pren-18228@2026 --out
Segundo comando (del escenario loan.json)
sei conformance --repo . --standard iso/23894@2023

El mismo sei.yaml y el mismo .sei/bundle.json producen dos informes distintos. El estándar iso/23894@2023 proyecta el bundle a la cláusula cl.6.5 (tratamiento del riesgo), que aparece como cubierta porque el control unfair-credit-exclusion transitó de FALLA a PASA (tratamiento cerrado). No es necesario crear dos programas de riesgos ni anotar los riesgos con referencias a cláusulas de ambos estándares.


La conformidad por estándar es independiente del gate de riesgo de sei run. El gate de riesgo (fase 2 del gate de dos fases) es binario: bloqueante si hay controles block en fallo. La conformidad por cláusula es un informe estructurado — más granular — que complementa el gate pero no lo reemplaza.

sei conformance puede ejecutarse en cualquier momento tras sei run; no requiere que el gate esté verde.