Skip to content

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, formerly ERROR_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 PUBLIC object 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 be True to log in at all; new registrations start inactive (see Users & roles).
  • is_superuser — bypasses every check above.

See also