api_web, console_web, and desk_web β all sharing the same business logic and Ash resources.Auth.Account (email-based).Auth.User.Auth.Actor struct that mirrors fields from Auth.User.Auth.Actor just has a type (admin, support, user) and we allow actions based on it (before checking for any user specific field).ash_authentication, with Auth.User as the actor.Auth.User and Auth.Actor, which feels messy and wrong.Account and the selected User role, and use it consistently across all apps β including the one using ash_authentication.Ash.PlugHelpers.set_actor(conn, actor)Ash.PlugHelpers.set_actor(conn, actor) but with another plug that assigns @current_user map with an actor struct inside it