Permission Matrix
Purpose
Who can see and do what. This is the source of truth 04. Security → Authorization (RBAC) will implement directly.
Matrix
| Action | Merchant | Creator | Admin |
|---|---|---|---|
| Create Offer | ✓ (own) | ✗ | ✓ (any, for moderation) |
| Set commission rate | ✓ (own offers) | ✗ | ✓ (override, e.g. vetting high-commission offers) |
| Apply to offer | ✗ | ✓ | ✗ |
| Approve/reject application | ✓ (own offers) | ✗ | ✓ (moderation override) |
| View own dashboard (clicks/sales) | ✓ (own) | ✓ (own) | ✓ (any) |
| View other users' full data | ✗ | ✗ | ✓ |
| Flag suspicious activity | ✗ (can report) | ✗ (can report) | ✓ (can act) |
| Approve high-commission/high-risk offer | ✗ | ✗ | ✓ |
| Process/reverse a payout | ✗ | ✗ | ✓ (exception handling only) |
| Manage waitlist → beta invitations | ✗ | ✗ | ✓ |
Notes
- Admin role and its full scope is inferred, not sourced — see User Roles → Open Questions. This matrix should be revisited once that's resolved.
- Whether a single account can hold both Merchant and Creator permissions simultaneously is unresolved (see User Roles) and affects how this matrix is actually implemented (per-role permissions vs. per-account permissions).
Open Questions
- Should merchants see aggregate creator performance across the whole platform (for choosing who to approve) or only the applicant's own submitted stats?
- Does Admin need tiered access (e.g. junior moderator vs. full admin) or is it a single flat role at this stage?
Update (2026-08-23): "Campaign" → "Offer"
Per 01. Domain Model's 2026-08-23 revision, "campaign" in this table now reads "offer" — no separate Campaign entity exists. No permission logic changed, only terminology.
Follow-up correction (same date): the "Approve high-commission/high-risk campaign" row was missed in the original sweep above and still said "campaign" — corrected to "offer" in the Matrix table now. No other stale Campaign or merchant-payout references found in this file; the rest of the matrix (payout row refers to creator payouts, which are unaffected by the merchant-billing model change) is unchanged.
Referenced by