Dvar es un firewall de políticas para agentes de IA. Evalúa las acciones de herramientas antes de que se produzcan efectos secundarios y devuelve una decisión determinista: allow, deny o require_approval.
Dvar complementa la autorización de aplicaciones, IAM, el aislamiento, la gestión de secretos, los permisos de bases de datos y las políticas de red. No sustituye estos controles y solo protege las acciones que atraviesan su límite de interceptación.
Estado
La versión actual es previa a la estabilidad. Revise las notas de la versión antes de actualizar y pruebe el comportamiento de las políticas antes de activar la aplicación en producción.
Instalación
npm install @rokadhq/dvarInicializar una política
npx dvar init
npx dvar validate
npx dvar test-policyLa política generada comienza en modo monitor. Este modo permite ejecutar las acciones mientras registra la decisión que Dvar habría aplicado.
Proteger una herramienta
import { createDvar } from "@rokadhq/dvar";
const dvar = await createDvar({ policyPath: "dvar.yaml" });
const readCustomer = dvar.protectTool({
name: "crm.read_customer",
capabilities: ["data.read"],
inputSchema: {
type: "object",
additionalProperties: false,
required: ["customerId"],
properties: {
customerId: { type: "string", minLength: 1 },
},
},
execute: async ({ customerId }: { customerId: string }) => ({
customerId,
status: "active",
}),
});Llame a la herramienta protegida con el contexto de ejecución:
const customer = await readCustomer(
{ customerId: "customer-1" },
{
principal: { id: "user-1", type: "user" },
agent: { id: "support-agent" },
tenant: { id: "tenant-a" },
environment: "production",
},
);Modos de operación
| Modo | Comportamiento |
|---|---|
monitor | Ejecuta la acción y registra would_allow, would_deny o would_require_approval. |
enforce | Bloquea las acciones denegadas o sujetas a aprobación antes de ejecutar la herramienta. |
strict | Aplica el comportamiento de control más estricto configurado. |
off | Desactiva la evaluación de Dvar para el límite configurado. |
Capacidades actuales
- Políticas declarativas en YAML y JSON
- Precedencia determinista
- Envoltorios genéricos para herramientas JavaScript y TypeScript
- Validación de argumentos con JSON Schema
- Códigos de motivo estables
- Eventos de auditoría conscientes de la privacidad
- Pruebas de políticas integradas
- Reproducción JSONL que nunca invoca herramientas
- Comandos CLI para inicialización, validación, diagnóstico, pruebas, reproducción e inspección de versiones
Despliegue en producción
- Defina las herramientas y capacidades que atraviesan el límite de Dvar.
- Comience en modo
monitor. - Revise los eventos de auditoría y los resultados de las pruebas de políticas.
- Corrija las decisiones inesperadas antes de aplicar controles.
- Active gradualmente la aplicación para acciones de alto riesgo.
- Mantenga la autorización de la aplicación, IAM, el aislamiento, los secretos y las políticas de infraestructura.