Organization and roles
Seeding accounts
Dashboard accounts are created from the environment on startup:
MATILDA_DASHBOARD_OWNER_EMAILS=you@example.com
MATILDA_DASHBOARD_ADMIN_EMAILS=teammate@example.com,other@example.com
MATILDA_DASHBOARD_TEAM_NAME=The M Team
MATILDA_DASHBOARD_SEED_PASSWORD=change-me-on-first-login
MATILDA_DASHBOARD_SECRET=<long-random-string>
On every boot Matilda creates any listed account that does not exist yet, applying the seed password on creation only. An existing account holding a lower role is raised to its configured role. The default team is created and the admins are filed on it.
Nothing is ever demoted, removed, or re-passworded from configuration. The only exception is the demo account, whose password is re-synced from the environment on every boot.
MATILDA_DASHBOARD_EMAILS, the older name for the owner list, is still honored with a warning.
The three roles
Roles are fixed and enforced on the server for every write route. The policy lives in one table in matilda/roles.py. The UI only hides what a request would refuse.
| Permission | Viewer | Admin | Owner |
|---|---|---|---|
| See every page and all data, ask the portfolio assistant | ✓ | ✓ | ✓ |
| Tasks, routines, contractors, lead sync and delete | ✓ | ✓ | |
| Organization name, teams, add or edit or remove admins and viewers | ✓ | ✓ | |
| Tune integrations and run connectivity tests | ✓ | ✓ | |
| API keys, passwords, the webhook token | ✓ | ||
| Worker devices | ✓ | ||
| Grant or edit the Owner role | ✓ | ||
| Switch the demo login on or off | ✓ |
Guardrails
- Nobody can change their own role or remove themselves.
- Admins cannot touch an Owner.
- The last Owner cannot be demoted or removed.
- Admins see whether a secret is set, never its value. Viewers see only Connected or Not connected.
- A settings save that touches a secret is refused wholesale for non-Owners.
The organization page
The organization block at the bottom of the sidebar opens /dashboard/organization. Every role can view it. It shows the organization name, the teams you belong to, and who is on each team.
Owners and Admins also get their controls here:
- Rename the organization
- Create, rename, and delete teams, and move people on and off them
- Add members, assign roles, reset passwords, and remove accounts
- Switch the demo login on or off (Owners)
- Recent activity, the audit log of every administrative change, who made it, and which settings keys changed, never their values
A person can be on any number of teams. Access is never scoped by team. Every operator sees the whole book. Teams are an organizational label.
Adding a member
- On the organization page, click Add member.
- Enter their email, a name, a role, and a temporary password.
- They sign in at
/dashboard/loginand are asked to set a new password before anything else loads.
Resetting a password
Owners and Admins can reset any account they are allowed to manage from the members table. The user is prompted to choose a new password at their next sign-in. Each operator changes their own password on their profile.