Roles & access model¶
TRAPPER has three separate access mechanisms that are easy to conflate: project roles (per Research/Classification project), object ownership (per Resource/Collection), and teams (Citizen Science work groups). This page is the canonical list of what exists and what each level can do.
Research project roles¶
Per-user, per-project rows (ResearchProjectRole). Three roles:
| Role | Edit / delete the project | Upload data into it | View |
|---|---|---|---|
| Admin | ✓ | ✓ | ✓ |
| Expert | — | — | ✓ |
| Collaborator | — | ✓ | ✓ |
The Set roles for selected users admin action defaults to Collaborator (see Users & roles).
Classification project roles¶
Per-user, per-project rows (ClassificationProjectRole). Four roles:
| Role | Edit / delete the project | Upload | View classifications | View AI classifications | View USER classifications |
|---|---|---|---|---|---|
| Admin | ✓ | ✓ | ✓ | ✓ | ✓ |
| Expert | — | — | — | — | — |
| Collaborator | — | ✓ | ✓ | ✓ | — |
| Citizen | — | — | — | — | — |
Admin, Expert, and Collaborator are the expert-side roles — they classify through the expert annotation interface. Citizen is the Citizen Science role, used for volunteers classifying through the CS project flow.
Two extra flags live on the role row itself:
is_error_proof— classifications by this user are treated as trusted and drive auto-approval.- (Historical: role value
4, formerlyERROR_PROOF, is reserved and unused — auto-approval moved to the flag above.)
Resource & Collection ownership¶
Independent of any project role, every Resource and Collection has:
- an owner — full control (update, delete);
- managers (many-to-many) — same update/delete rights as the owner;
- members (Collections) — per-user access levels that grant viewing;
- a status — a
PUBLICobject is viewable by everyone.
Superusers bypass all of it. Ownership is what the Set owner and managers of selected resources admin action manipulates — it is not a project role, and granting someone a project role does not make them owner of anything.
Teams (Citizen Science)¶
Teams group CS volunteers under a Team Leader and assign them deployments to work on within a classification project. Membership has its own lifecycle (Pending / Approved / Rejected). See Teams.
Account-level flags¶
is_active— must beTrueto log in at all; new registrations start inactive (see Users & roles).is_superuser— bypasses every check above.
See also¶
- Users & roles — the how-to for granting all of the above
- Data model