Agente de código en una workstation
Lee y edita el proyecto libremente; los push y borrados fuera del sandbox requieren aprobación humana; comandos destructivos, nunca.
examples/policies/dev-workstation.yaml

Apache-2.0 · spec-first · v0.1
Un contrato de seguridad determinista para agentes de IA.
Cada acción de un agente se verifica contra reglas firmadas por su operador — reglas que ningún prompt puede reescribir.
A un modelo se lo puede persuadir. A una política firmada, no.
Los agentes de IA ya no solo conversan: ejecutan. Mueven archivos, envían pagos, publican código — con credenciales reales. Hasta hoy, la única barrera entre un agente y una acción irreversible eran instrucciones escritas en su propio prompt. Y la inyección de prompts es, precisamente, el arte de derrotar esas instrucciones.
AgentLaw parte de una premisa distinta: las decisiones críticas no se le piden al modelo — se verifican fuera de él. Cada acción pasa por un evaluador externo, determinista y firmado, al que no se puede persuadir, negociar ni reescribir.
El evaluador no es otra IA.
Es un motor determinista: reglas compiladas y condiciones tipadas que producen el mismo veredicto ante la misma entrada, siempre. No opina, no interpreta, no se cansa y no se convence. Ahí reside la garantía: donde un modelo puede ser engañado, una regla compilada no puede.
Escriba sus reglas una sola vez, en un manifiesto legible: qué está permitido, qué exige aprobación humana, qué no ocurre jamás.
El manifiesto se sella con criptografía Ed25519. La llave privada nunca reside donde corre el agente: relajar una regla requiere la llave — no un argumento convincente.
Cada llamada a una herramienta atraviesa el motor de políticas — sin ningún modelo en el circuito — y recibe un veredicto: permitir, requerir aprobación o denegar. Lo no contemplado se deniega por defecto, y cada decisión queda en un registro de auditoría encadenado por hash, imposible de alterar sin dejar rastro.
Elija una política, pida que el agente haga algo y lea el veredicto: permitido, detenido a la espera de una persona, o denegado — junto con la regla exacta que lo decidió.
El motor corre en este navegador. El mismo parser, las mismas reglas compiladas y el mismo evaluate() que en un punto de aplicación. Ninguna consulta sale de esta página.
Un agente que consulta expedientes, redacta y envía correo. Leer es libre; todo lo que sale del estudio o no se puede deshacer se detiene ante una persona.
Se parsea y compila acá. La regla que decide queda resaltada.
apiVersion: agentlaw/v1alpha1kind: PolicyManifestmetadata: name: lawfirm-assistant version: 0.1.0defaults: effect: denyrules: - id: casefile-read match: { server: lawfirm, tool: ["case_search", "doc_summarize", "deadline_list"] } effect: allow - id: deadline-write match: { server: lawfirm, tool: deadline_create } effect: allow - id: internal-mail match: { server: lawfirm, tool: email_send } when: - { arg: to, op: endsWith, value: "@estudio.legal" } effect: allow else: approve reason: "el correo que sale del estudio lo lee una persona antes de enviarse" - id: client-documents match: { server: lawfirm, tool: doc_share } when: - { arg: recipient_is_client, op: eq, value: true } effect: allow else: approve reason: "el material del cliente solo va al cliente, salvo que alguien lo apruebe" - id: court-filing match: { server: lawfirm, tool: filing_submit } effect: approve reason: "una presentación no se puede retirar: la aprueba una persona" - id: never-destroy match: { server: lawfirm, tool: ["case_delete", "doc_purge"] } effect: forbid reason: "un agente no destruye expedientes"limits: - id: mail-burst match: { server: lawfirm, tool: email_send } max: 2 per: 1m onExceeded: deny Cada botón es una llamada a una herramienta. Repita una y encontrará un límite de frecuencia.
Vacío. Cada decisión — también las denegadas — se agrega acá, encadenada por hash a la anterior.
AgentLaw aporta el mecanismo — el veredicto determinista, la aprobación humana, la auditoría. La política la declara cada implementación. Tres ejemplos reales, de las políticas de ejemplo del repositorio:
Lee y edita el proyecto libremente; los push y borrados fuera del sandbox requieren aprobación humana; comandos destructivos, nunca.
examples/policies/dev-workstation.yaml
Los pagos por debajo de un umbral se ejecutan solos; por encima, un humano aprueba; los reembolsos siempre pasan por una persona.
examples/policies/payments-capped.yaml
Modo solo-lectura: puede consultarlo todo, no puede modificar nada.
examples/policies/readonly.yaml
Ninguna herramienta seria promete protección total. AgentLaw define su alcance con precisión — y lo publica.
AgentLaw complementa — no reemplaza — la especificación de autorización de MCP y las mitigaciones del OWASP LLM Top 10.
El hook PreToolUse y la consola de governance son patrones de integración: el núcleo es embebible dondequiera que actúe un agente.
Una línea en su configuración MCP envuelve cualquier servidor MCP, sin modificar clientes ni servidores.
Un gateway desplegado una vez, delante de sus servidores MCP remotos, cubre a todo el equipo.
El motor central no depende de MCP — se embebe directamente en su plataforma de agentes.
{
"mcpServers": {
"safe-fs": {
"command": "npx",
"args": ["-y", "@agentlaw/gateway",
"--policy", "policy.yaml", "--trust", "policy.pub",
"--", "npx", "-y",
"@modelcontextprotocol/server-filesystem", "C:/sandbox"]
}
}
}Un solo comando genera una política firmada y lista para correr — plantilla, umbrales, par de llaves:
| agentlaw wizard . | Configuración guiada: elige una plantilla, pregunta sus umbrales y escribe un policy.yaml firmado con su par de llaves. |
|---|---|
| agentlaw sign | Firma un manifiesto de política con su llave privada Ed25519. |
| agentlaw verify | Verifica la firma de un manifiesto contra una llave pública de confianza. |
| agentlaw explain | Simulación en seco: muestra el veredicto que recibiría una llamada, sin ejecutar nada. |
| agentlaw audit verify | Comprueba la integridad del registro de auditoría encadenado por hash. |
La seguridad de los agentes de IA es una responsabilidad compartida de todos los que construyen software. AgentLaw es open source bajo licencia Apache-2.0 y diseñado spec-first: las especificaciones (RFC-0001, RFC-0002) están publicadas y abiertas a discusión antes que el código.
El motor de seguridad — políticas, firma, enforcement y auditoría — es libre y auto-hosteable, y lo será siempre.
Su lectura crítica es bienvenida.
AgentLaw está en versión 0.1 y sus RFC están en borrador. Esta página acompaña la maduración del producto — el feedback sobre la especificación vale tanto como el código.