Punk-Authorisation May this user act on this row. $c->may('doc.edit', $doc) or return $c->deny; Punk::Plugin::Authorisation is row-level authorisation for a Punk application. `auth_guard` answers "may this user reach this route" and an API key's scope answers "may this credential call this operation"; neither can answer "may this user act on this row", and that is where the commonest authorisation bug in a web application lives - the controller that loads a row by an id from the request and forgets to ask whose it is. The rules are the application's and live in one package it owns. What this distribution provides is the machinery around them: collecting them, refusing to guess at a name nobody defined, turning a refusal into the right status, and - when it is asked for - a grants table for what one user hands another. INSTALLATION perl Makefile.PL make make test make install Needs Punk 0.32 or newer, for $app->auth_config. The grants half needs a database and nothing else. LICENSE AND COPYRIGHT This software is Copyright (c) 2026 by LNATION . This is free software, licensed under the Artistic License 2.0.