Versions in this module Expand all Collapse all v0 v0.2.0 Mar 8, 2026 v0.1.0 Feb 28, 2026 Changes in this version + type Option func(*Provider) + func WithOwnerFullAccess(enabled bool) Option + func WithPermissions(p authz.RolePermissions) Option + func WithPlatformAdminBypass(enabled bool) Option + func WithPlatformAdminChecker(fn func(ctx context.Context, principalID uuid.UUID) (bool, error)) Option + func WithRoleGetter(fn func(ctx context.Context, principalID, orgID uuid.UUID) (string, error)) Option + func WithRoleHierarchy(h authz.RoleHierarchy) Option + type Provider struct + func New(opts ...Option) *Provider + func (a *Provider) Can(ctx context.Context, principal authz.Principal, action authz.Action, ...) (bool, error) + func (a *Provider) CanAll(ctx context.Context, principal authz.Principal, actions []authz.Action, ...) (bool, error) + func (a *Provider) CanAny(ctx context.Context, principal authz.Principal, actions []authz.Action, ...) (bool, error) + func (a *Provider) CanForOrg(ctx context.Context, principal authz.Principal, orgID uuid.UUID, ...) (bool, error) + func (a *Provider) Decide(ctx context.Context, principal authz.Principal, action authz.Action, ...) (authz.Decision, error) + func (a *Provider) Filter(ctx context.Context, principal authz.Principal, action authz.Action, ...) ([]authz.Resource, error) + func (a *Provider) GetRole(ctx context.Context, principal authz.Principal, orgID uuid.UUID) (string, error) + func (a *Provider) IsMember(ctx context.Context, principal authz.Principal, orgID uuid.UUID) (bool, error) + func (a *Provider) IsPlatformAdmin(ctx context.Context, principal authz.Principal) (bool, error)