Skip to main content
Each template is a self-contained directory under docs/policies/templates/. It contains a policy.ts file with the permission definitions and a README.md with the scenario, expected decisions, and notes on engine limitations where relevant. Seed the exported arrays into kavach_permissions (and the supporting tables noted in each README), then call engine.evaluate() against them.

Templates

How to use a template

  1. Copy policy.ts from the template directory into your project.
  2. Seed the exported permission arrays into kavach_permissions using your database adapter.
  3. For templates that need supporting rows (delegation chains, ReBAC tuples, rate-limit counters), follow the instructions in the template’s README.md.
  4. Call engine.evaluate({ subject, action, resource }) in your request handler.
The tests under packages/core/tests/policies/templates/ show exactly how each template behaves and can serve as integration tests in your own suite.
Last modified on April 29, 2026