DEEPANKAR SHYAMAL
06/26/2026, 6:24 AMOr Weis
06/26/2026, 6:46 AMAsk Inkeep
06/26/2026, 6:46 AMAsk Inkeep
06/26/2026, 6:46 AMpackage permit.custom
import <http://future.keywords.in|future.keywords.in>
default custom_user_attributes["has_intersection"] = false
custom_user_attributes["has_intersection"] := true {
user_attr_set = {x | some x in data.users[input.user.key].attributes["attr_in_user"]}
res_attr_set = {x | some x in input.resource.attributes["attr_in_resource"]}
count(user_attr_set & res_attr_set) > 0
}
The custom code must use package permit.custom and the rule name must be custom_user_attributes . You can add this to your GitOps repository in the custom/ directory (3) .
However, for actual OTP verification and authentication flows, you'd typically want a dedicated authentication service rather than an authorization platform like Permit.io.Ask Inkeep
06/26/2026, 6:46 AM