Dvar est un pare-feu de politiques pour les agents IA. Il évalue les actions d’outils avant que leurs effets ne se produisent et renvoie une décision déterministe : allow, deny ou require_approval.
Dvar complète l’autorisation applicative, l’IAM, l’isolation, la gestion des secrets, les permissions de base de données et les politiques réseau. Il ne remplace pas ces contrôles et ne protège que les actions qui traversent sa frontière d’interception.
État
La version actuelle est pré-stable. Consultez les notes de version avant une mise à niveau et testez le comportement des politiques avant d’activer l’application en production.
Installation
npm install @rokadhq/dvarInitialiser une politique
npx dvar init
npx dvar validate
npx dvar test-policyLa politique générée démarre en mode monitor. Ce mode autorise l’exécution des actions tout en enregistrant la décision que Dvar aurait appliquée.
Protéger un outil
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",
}),
});Appelez l’outil protégé avec son contexte d’exécution :
const customer = await readCustomer(
{ customerId: "customer-1" },
{
principal: { id: "user-1", type: "user" },
agent: { id: "support-agent" },
tenant: { id: "tenant-a" },
environment: "production",
},
);Modes de fonctionnement
| Mode | Comportement |
|---|---|
monitor | Exécute l’action et enregistre would_allow, would_deny ou would_require_approval. |
enforce | Bloque les actions refusées ou soumises à approbation avant l’exécution de l’outil. |
strict | Applique le comportement d’application configuré le plus strict. |
off | Désactive l’évaluation Dvar pour la frontière configurée. |
Capacités actuelles
- Politiques déclaratives YAML et JSON
- Priorité déterministe des règles
- Enveloppes génériques pour outils JavaScript et TypeScript
- Validation des arguments avec JSON Schema
- Codes de raison stables
- Événements d’audit respectueux de la confidentialité
- Tests de politiques intégrés
- Relecture JSONL qui n’invoque jamais les outils
- Commandes CLI pour l’initialisation, la validation, le diagnostic, les tests, la relecture et l’inspection des versions
Déploiement en production
- Définissez les outils et capacités qui traversent la frontière Dvar.
- Commencez en mode
monitor. - Examinez les événements d’audit et les résultats des tests de politiques.
- Corrigez les décisions inattendues avant l’application.
- Activez progressivement l’application pour les actions à haut risque.
- Conservez l’autorisation applicative, l’IAM, l’isolation, les secrets et les politiques d’infrastructure.