Use the same Node-native enforcer with Fastify to gate routes on an agent's warrant.
httpEnforcer in front of routes. The agent presents Authorization: Warrant CW1~…; you decide, per route, what resource and action it maps to; Liceat enforces and audits.
import middie from '@fastify/middie';
import { httpEnforcer, createClient } from 'liceat';
await fastify.register(middie);
fastify.use(httpEnforcer({ decide: createClient({ gateway: 'https://liceat.com' }).decider() }));
Liceat is permission infrastructure for AI agents. You issue a warrant — a scoped, spend-capped, revocable token — that grants an agent narrow authority; the agent presents it at the point of action; Liceat enforces it (scope, spend, rate, holder-binding, revocation) and records every decision in a tamper-evident log. It is open source with a zero-dependency SDK for TypeScript and Python.
The SDK and self-hosted gateway are free and open source. The hosted gateway at liceat.com gives 10,000 free decisions with no card, then meters at fractions of a cent per decision — payable by card or USDC.
Free to self-host. 10,000 free decisions on the hosted gateway — no card.
Get an API key Read the docs