Back to skills
extension
Category: Development & EngineeringNo API key required

libpolicy

libpolicy - Policy engine for access control. PolicyIndex stores and evaluates authorization policies. createPolicyIndex factory loads policies from storage. Planned OPA-WASM integration for complex policy evaluation. Use for access control, authorization decisions, and resource permissions.

personAuthor: jakexiaohubgithub

libpolicy Skill

When to Use

  • Implementing access control for resources
  • Evaluating authorization policies
  • Managing permissions in multi-tenant systems
  • Building role-based access control (RBAC)

Key Concepts

PolicyIndex: Stores policies and evaluates access requests against them.

Policy evaluation: Determines if an actor can perform an action on a resource based on defined policies.

Usage Patterns

Pattern 1: Evaluate access

import { createPolicyIndex } from "@copilot-ld/libpolicy";

const index = await createPolicyIndex(storage);
const allowed = await index.evaluate({
  actor: "user:123",
  resource: "document:456",
  action: "read",
});

Pattern 2: Load policies

const index = await createPolicyIndex(storage);
await index.load("policies/"); // Load from directory

Integration

Used by ResourceIndex for access control. Policies stored in data/policies/.