Product - Roles & Permissions
Product — Roles & Permissions
Trystpilot intentionally minimises role complexity for MVP. There are four roles: Anonymous Reviewer (no account), Reader (no account), Subject (no account, identified only by alias), and Admin (single secret-gated role). A future Moderator role is planned for Phase 2.
Role Matrix
graph TD
subgraph "Unauthenticated Roles"
AR["Anonymous Reviewer\n(fingerprint only)"]
RD["Reader\n(no identity)"]
SU["Subject\n(alias + alias only)"]
end
subgraph "Authenticated Roles"
AD["Admin\n(ADMIN_SECRET env var)"]
MO["Moderator\n(planned — Phase 2)"]
end
subgraph "Capabilities"
Browse["Browse profiles + reviews"]
Search["Search by alias / city"]
Submit["Submit anonymous review"]
Report["File abuse report"]
Removal["Request profile removal"]
Respond["Post public response (planned)"]
Moderate["Approve / reject / quarantine reviews"]
ManageProfiles["Create / suspend / delete profiles"]
ViewQueue["View moderation queue"]
ManageRemovals["Process removal requests"]
end
RD --> Browse & Search
AR --> Browse & Search & Submit & Report
SU --> Browse & Search & Report & Removal & Respond
AD --> Browse & Search & Moderate & ManageProfiles & ViewQueue & ManageRemovals
MO -.-> Browse & Search & Moderate & ViewQueue
Permission Table
| Action | Reader | Reviewer | Subject | Moderator | Admin |
|---|---|---|---|---|---|
| Browse profiles | ✅ | ✅ | ✅ | ✅ | ✅ |
| Search | ✅ | ✅ | ✅ | ✅ | ✅ |
| Submit review | ❌ | ✅ | ❌ | ❌ | ❌ |
| File abuse report | ✅ | ✅ | ✅ | ❌ | ❌ |
| Request removal | ❌ | ❌ | ✅ | ❌ | ✅ |
| Post public response | ❌ | ❌ | 🔜 | ❌ | ❌ |
| View moderation queue | ❌ | ❌ | ❌ | 🔜 | ✅ |
| Approve/reject reviews | ❌ | ❌ | ❌ | 🔜 | ✅ |
| Create profiles | ❌ | ❌ | ❌ | ❌ | ✅ |
| Suspend/delete profiles | ❌ | ❌ | ❌ | ❌ | ✅ |
| Process removals | ❌ | ❌ | ❌ | ❌ | ✅ |
🔜 = Planned (Phase 2)