Rokad
Toute la documentation
Documentation dvar

Bien démarrer

Installez Dvar et placez des contrôles de politiques déterministes devant les actions d’outils des agents IA.

Voir le dépôt
Documentation dvar
Page 1 sur 1

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

bash
npm install @rokadhq/dvar

Initialiser une politique

bash
npx dvar init
npx dvar validate
npx dvar test-policy

La 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

ts
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 :

ts
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

ModeComportement
monitorExécute l’action et enregistre would_allow, would_deny ou would_require_approval.
enforceBloque les actions refusées ou soumises à approbation avant l’exécution de l’outil.
strictApplique le comportement d’application configuré le plus strict.
offDé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

  1. Définissez les outils et capacités qui traversent la frontière Dvar.
  2. Commencez en mode monitor.
  3. Examinez les événements d’audit et les résultats des tests de politiques.
  4. Corrigez les décisions inattendues avant l’application.
  5. Activez progressivement l’application pour les actions à haut risque.
  6. Conservez l’autorisation applicative, l’IAM, l’isolation, les secrets et les politiques d’infrastructure.