SEC-01 · Auth + role em mutations públicas
HIGH · L
Evidence: users.setClientRole, resetPassword (~472, comentário “gating master-only só no client”), deliveries.accept, companies.create sem deny. getAppUserId serve audit, não boundary.
Impact: com a URL do Convex, dá para convidar masters, resetar senhas, demover users e mover pipeline. RoleGuard na UI não conta.