NutriPaw · Human-in-the-Loop Governance

Agente IA de Revisión · Gobernanza con Cedar + Ed25519 · ISO 27001

Gate activo
16 Jun 2026 · 09:42 CET
Acciones bloqueadas (7d)
23
↑ 4 últimas 24h · Incident #INS-091 evitado
Aprobaciones humanas
17
Carla Méndez · Tech Lead · 100% firmadas
Recibos en cadena
40
Ed25519 · Verificables offline · JCS RFC 8785
Integridad cadena
100%
npx @veritasacta/verify → exit 0
Cadena de recibos firmados — últimas 12 acciones review-receipts/ · firma Ed25519
Timestamp Acción (comando) Herramienta Decisión Motivo / Aprobador Receipt ID
2026-06-16 09:38 gh pr review 71 --approve Bash ✓ allow human_approved · Carla M. rec_a7f3c1
2026-06-16 09:35 gh pr merge 71 --squash Bash ✗ deny cedar_policy · no approval flag rec_b2e8d4
2026-06-16 09:12 gh release create v2.4.1 Bash ✗ deny cedar_policy · release gate rec_c9a1f7
2026-06-15 17:55 gh pr review 69 --approve Bash ✓ allow human_approved · Carla M. rec_d4b5e2
2026-06-15 17:52 gh pr comment 69 --body "LGTM" Bash ✓ allow human_approved · Carla M. rec_e6c3a9
2026-06-15 14:30 .github/workflows/deploy.yml Write ✗ deny cedar_policy · ci-config gate rec_f1d7b8
2026-06-15 11:18 gh issue close 142 Bash ✗ deny cedar_policy · issue-triage gate rec_g8e2c5
2026-06-15 10:05 gh pr review 67 --approve Bash ✓ allow human_approved · Carla M. rec_h3f9d1
2026-06-14 16:42 git push origin main Bash ✗ deny cedar_policy · protected branch rec_i5a4e6
2026-06-14 15:30 gh pr review 65 --approve Bash ✓ allow human_approved · Carla M. rec_j7c2b3
2026-06-14 09:22 gh release create v2.4.0 Bash ✓ allow human_approved · Carla M. rec_k2d8f4
2026-06-13 17:15 gh issue close 138 Bash ✓ allow human_approved · Carla M. rec_l9e1c7
Flujo de aprobación
1

Agente solicita acción

Claude Code intenta ejecutar comando sensible (gh pr review, merge, release...)

2

Hook PreToolUse evalúa Cedar

protect-mcp evalúa la política review-governance.cedar

3

Deny por defecto

Sin flag de aprobación → bloqueo + recibo firmado decision: deny

4

Carla revisa y aprueba

/approve-review "PR #71 revisado" crea .review-approved

5

Allow + recibo firmado

Acción ejecutada. Recibo decision: allow, reason: human_approved

6

Ventana cerrada

rm .review-approved · Gate vuelve a estado deny por defecto

Recibo firmado — ejemplo ✓ Verificado
Receipt rec_a7f3c1 · Ed25519
receipt_id rec_a7f3c1e2d3b4
timestamp 2026-06-16T09:38:04Z
tool Bash
command gh pr review 71 --approve
decision allow
reason human_approved
approver carla@nutripaw.io
note PR #71 revisado visualmente, sin credenciales hardcodeadas
sig (Ed25519) 7a3f...c891
pub_key MCowBQY...DQE=
Política Cedar — review-governance.cedar NutriPaw · platform
// review-governance.cedar · NutriPaw SaaS · 2026-06-16
// Deny-by-default para acciones de revisión sensibles

forbid (
  principal,
  action in [
    "Bash::gh pr review * --approve",
    "Bash::gh pr merge *",
    "Bash::gh release create *",
    "Bash::gh issue close *",
    "Bash::git push origin main",
    "Bash::git push origin release/*",
    "Write::.github/workflows/*.yml"
  ],
  resource
)
unless {
  context.approval_flag_present == true
};

// Dry-run: bloqueo total sin excepción
// export REVIEW_APPROVAL_FLAG=./.never-approve
Composición con protect-mcp en hooks PreToolUse · Ambas políticas deben pasar para ejecutar
Reglas activas · NutriPaw Platform
  • 🔒
    gh pr review * --approve Bloqueado · Requiere aprobación Carla Méndez
  • 🔒
    gh pr merge * Bloqueado · Merge a main solo con flag de aprobación
  • 🔒
    gh release create * Bloqueado · Release gate · Requiere autorización CTO
  • 🔒
    Write → .github/workflows/*.yml Bloqueado · CI config gate · Protección pipeline
  • 🔒
    git push origin main / release/* Bloqueado · Ramas protegidas · Previene incident #INS-091
  • ⚠️
    gh issue close * Bloqueado · Triage de issues · Revisión manual requerida
  • Ediciones locales + tests Permitido · Sin impacto en superficies externas
  • gh pr comment (lectura/análisis) Permitido · Solo comentarios informativos no aprobadores