oso 0.26.4

oso is an open source policy engine for authorization that’s embedded in your application
Documentation
allow(_: Dictionary{sub: sub}, action, resource) if
    allow(new User(sub), action, resource);

allow("guest", action, resource) if
    allow(new User("guest"), action, resource);

allow(_: Dictionary{username: name}, action, resource) if
    allow(new User(name), action, resource);

allow(_actor: User, "get", _resource: Widget);
allow(actor: User, "create", resource: Company) if
    resource.role(actor) = "admin";

allow(actor: User, "frob", resource: Company) if
    resource in actor.companies();

allow(actor: User, "list", Company) if
   actor.name = "auditor";