Ir al contenido

Empieza gratis en 5 minutos

Froga es un motor de gobernanza de IA de alto riesgo que cierra el bucle de tratamiento ISO 23894 sobre git. Este quickstart camina el ejemplo quickstart-education: un clasificador de aprobado/suspenso de estudiantes de secundaria clasificado como alto riesgo (EU AI Act Anexo III §3 — sistemas educativos), usando datos reales del estudio UCI Student Performance (Cortez & Silva 2008, CC BY 4.0).

Lo que obtienes gratis: evidencia firmada (ECDSA-P256 + DSSE + in-toto) + veredicto ISO 23894 real — todo generado y verificado en local, sin enviar datos a ningún servidor. El motor es Apache-2.0.

Los comandos, los mensajes de commit y el color de la barrera que lees más abajo no están escritos a mano: cada bloque GuionStep los lee del guion steps/ del repositorio quickstart-education publicado. Son los 11 pasos reales de ese guion; si un paso no existiera, el build fallaría. Lo que lees es exactamente lo que el repositorio hace.


  • froga instalado (Instalación).
  • uv (Python ≥ 3.11) y dvc ≥ 3 en el PATH.
  • ~5 minutos de terminal.

Para seguirlo sobre el repositorio ya montado, clona el ejemplo quickstart-education del catálogo de demos: tiene el froga.yaml, los datos y el pipeline en el estado de cada paso. Si prefieres partir de cero, cada bloque de abajo es el commit que tú mismo harías, en orden.


El guion avanza en cuatro hitos. El guion reparte cada paso entre los dos roles del taller (la etiqueta de cada bloque te dice a quién le toca): Nerea, la responsable de producto, declara la identidad, el encuadre y el programa de riesgos en el manifiesto froga.yaml; Marta, la dev, trae los datos, escribe el pipeline y corre las barreras. Tú harás los dos papeles. No hay tratamiento: el escenario es determinista y la barrera ISO 23894 cierra en verde a la primera — la historia gratis es demostrar el proceso sin pagar.

Arrancar el proyecto y declarar el sistema (solo ISO 23894 gratis)

Sección titulada «»

El dev arranca el repositorio como proyecto uv con DVC (sin SCM). Acto seguido la responsable de producto declara la identidad del sistema (froga.yaml v0) y el encuadre: la clave está en que el único estándar declarado es iso/23894@2023 — la presunción prEN 18228, las normas sectoriales y el Anexo IV son el escalón de pago y no se declaran (esa es la frontera open-core).

Repo, identidad, proyecto uv (uv init + deps), DVC, pubkey y README del reproductor Marta
Comandos
15
  • git init -q -b main
  • git config user.email marta@demo.seigarrena.dev
  • git config user.name "Marta Demo"
  • uv init --bare --name vldemo-quickstart --python 3.12
  • patch: pyproject-index.patch
  • uv add "dvc>=3" pyyaml froga "venturalitica==0.6.11" "mlcroissant>=1.0" pyarrow "scikit-learn==1.8.0" pandas joblib
  • patch: gitignore.patch
  • patch: gitattributes.patch
  • patch: readme.patch
  • uv sync
  • uv run dvc init --no-scm -q
  • uv run dvc config core.analytics false
  • froga pubkey --out .froga/PUBKEY.txt
  • git add -A
  • git commit -m "init: repo, proyecto uv (deps reales) y README del reproductor"
Identidad del sistema (froga init + patch) Nerea
Contexto y estándares (prEN 18228 de pago + ISO 23894) Nerea

Traer los datos reales y fijar el programa de riesgos

Sección titulada «»

El dev trae los datos reales (UCI Student Performance, 395 estudiantes) con su manifiesto Croissant y el aviso de licencias, y escribe el paso de rasgos. La responsable de producto cierra el manifiesto con el programa de riesgos mínimo: un riesgo (risk.unfair-prediction) con dos medidas —paridad demográfica (demographic_parity_diff < 0.15, barrera) y exactitud mínima (accuracy_score > 0.65, auditoría)—. RDD puro: el riesgo y su umbral numérico se fijan antes de que exista modelo (el diff del último commit lo muestra).

Dataset UCI Student Performance + manifiesto Croissant + versionado DVC Marta
Pipeline de rasgos sobre el dataset — escribe Y corre (dvc repro) Marta
Programa de riesgos mínimo con gate numérico (antes del modelo) Nerea

Medir la V1: la barrera ISO 23894 cierra en verde

Sección titulada «»

Primero el dev compila el programa de riesgos al plan de evaluación OSCAL —el contrato de la barrera: qué controles se van a medir y con qué umbral—. Después añade el modelo (una regresión logística tabular, seed: 42) y corre el autochequeo. El escenario es determinista: la barrera cierra en verde a la primera. El SDK venturalitica (en PyPI; uv pip install venturalitica) mide los dos controles ex-ante — paridad demographic_parity_diff ≈ 0,055 (bajo 0,15) y exactitud accuracy_score ≈ 0,76 (sobre 0,65)—; los dos pasan, así que la barrera es VERDE. froga run deja .froga/bundle.json firmado y froga.lock (el ancla de frescura).

Compilar el plan de evaluación OSCAL (antes del modelo) Marta
Comandos
  • froga compile
  • git add -A
  • git commit -m "compile: assessment plan OSCAL (contrato del gate, antes del modelo)"
Modelo logreg (train/evaluate) — escribe Y corre (gate VERDE, single-shot) MartaVeredicto esperadoVERDE
Comandos
  • patch: params.patch
  • patch: dvc-evaluate.patch
  • patch: train.patch
  • patch: evaluate.patch
  • patch: compliance-eval.patch
  • froga run
  • git add -A
  • git commit -m "modelo: logreg (train/evaluate + dvc.yaml) — run: autochequeo ISO 23894 (gate VERDE; seed=42)"

Conformidad ISO y solicitud: el ciclo queda abierto (frontera gratis)

Sección titulada «»

El dev emite la conformidad del único estándar declarado (ISO 23894) y el reconstruct del ciclo desde la historia git —ambos firmados—, y luego solicita la aprobación. Aquí termina el escalón gratis: el ciclo queda abierto. No hay aprobación porque no hay nada que aprobar a verde — el dossier de pago (prEN 18228 + catálogos sectoriales + Anexo IV) no está atestiguado. Gobernar el ciclo RDD hasta la solicitud, con evidencia firmada y auditable, es exactamente lo que el tier gratis te da.

Conformance (prEN 18228 + ISO 23894) + reconstruct firmados Marta
Comandos
  • froga conformance --standard eu/pren-18228@2026 --outpuede fallar
  • froga conformance --standard iso/23894@2023 --outpuede fallar
  • froga reconstruct --outpuede fallar
  • git add -A
  • git commit -m ".froga: conformance (prEN 18228 + ISO 23894) + reconstruct firmados"
Solicitar aprobación (froga request — ciclo abierto, escalón gratis) Marta
git commitsolicitud de aprobación (el acto lo commitea froga request)

La firma de cada artefacto es ECDSA-P256: el bundle.json y los informes van sellados contra tu clave pública local, así que cualquier alteración se detecta (tamper-evidence). Esa es la raíz de confianza sobre la que se apoya todo lo demás.


ArtefactoProducido porQué certifica
.froga/bundle.json + .sigfroga runEvidencia firmada: controles medidos, análisis de riesgo, dvc.lock
froga.lockfroga runAncla de frescura (hashes de fases del pipeline)
.froga/conformance/iso_23894_2023.json + .sigfroga conformance --outVeredicto cláusula a cláusula contra ISO/IEC 23894:2023
.froga/reconstruct.json + .sigfroga reconstruct --outCiclo de tratamiento reconstruido por riesgo, trazable a commits

Todo generado y firmado en local. Apache-2.0. Sin enviar datos a servidores externos.


El tier gratis produce una autocomprobación real contra ISO/IEC 23894:2023: el proceso de gestión de riesgos de IA. Es evidencia firmada y auditable, útil para diligencia interna y para mostrar a un auditor que el proceso existe.

Cuando necesites probar conformidad ante un regulador, el escalón de pago añade:

  • La presunción de conformidad del Art. 9 del EU AI Act, que viene de alinear el sistema con prEN 18228 (la norma europea armonizada en preparación). El veredicto pasa de «buena práctica» a «presunción ante el regulador».
  • Los catálogos sectoriales: DORA (servicios financieros y resiliencia digital), MDR (productos sanitarios Reg. UE 2017/745), control de sesgo (prEN 18283) y ciberseguridad de IA (prEN 18282). Cada catálogo mapea tus controles a las obligaciones específicas del sector.
  • El Anexo IV ensamblado en la nube: la Documentación técnica Art. 11 generada automáticamente a partir de la evidencia firmada, en formato web y PDF, lista para adjuntar a la declaración de conformidad.

La unidad de precio es el sistema de IA gobernado, no el uso del motor. El motor (froga) es Apache-2.0 para siempre. Qué norma entra en qué plan (Starter, Pro, Enterprise), los precios de referencia y cómo funciona el upgrade por venta asistida, en Planes y normas.