Developers · Users and Permissions
Developer permissions overview
Last updated 7 November 2026
Authorization Policies allow you to restrict access to forms and pages flexibly. Each form and page can have multiple policies attached to it.
Each policy is parsed using Liquid, and the system checks them in order of their appearance in the
If the content of the policy evaluates to anything other than
Writing a policy that is safe
A policy must print true or false on every path through its code. Do not rely on a blank output being treated as a denial: write the deny path out as an explicit false, so a reviewer can see it and a test can check it. Check that the data a policy reads, such as context.current_user, is present before you read a property from it.
Pages declare their policies in front matter, and the policies run before any of the page's code. A failed check answers 403 by default, or sends the visitor to the page's redirect_to, optionally with a flash message.