Define role and permission model
Roles, permissions, and route rules are now modeled in frontend-safe TypeScript.
Fox Plot
Preparing your books, author library, reader portal, marketplace, and creator tools.
FoxPlot Admin
Review roles, permissions, protected routes, portal access rules, and production hardening steps before FoxPlot connects full backend authorization.
Routes
33
Public
10
Account
3
Portal
8
Admin
12
Roles
6
Demo Evaluator
Select a role and route to preview what should be allowed or blocked once server-side enforcement is connected.
Role
Access Result
This role should be blocked from the selected route in production.
Required roles
Missing permissions
Role Permissions
These permissions should later come from trusted server-side user records, not from client-side state.
View public library
VIEW_PUBLIC_LIBRARY
Manage account safety
MANAGE_ACCOUNT_SAFETY
Submit author content
SUBMIT_AUTHOR_CONTENT
Claim author ads
CLAIM_AUTHOR_ADS
Request author payouts
REQUEST_AUTHOR_PAYOUTS
Route Rules
This table defines how each major FoxPlot route should be protected once production authentication and authorization are connected.
| Route | Risk | Access | Roles | Permissions |
|---|---|---|---|---|
Homepage / | Public | Public | No role required | No permission required |
Public Library /library | Public | Public | No role required | View public library |
Privacy Policy /privacy | Public | Public | No role required | No permission required |
Terms and Conditions /terms | Public | Public | No role required | No permission required |
Content Policy /content-policy | Public | Public | No role required | No permission required |
Advertising Policy /advertising-policy | Public | Public | No role required | No permission required |
Become an Author /become-author | Public | Public | No role required | No permission required |
Become an Advertiser /become-advertiser | Public | Public | No role required | No permission required |
Sign Up /signup | Public | Public | No role required | No permission required |
Report a Concern /report | Public | Public | No role required | No permission required |
Account Dashboard /account | Account | Protected | ReaderAuthorAdvertiserAdminSuper Admin | Manage account safety |
Account Safety Settings /account/safety | Account | Protected | ReaderAuthorAdvertiserAdminSuper Admin | Manage account safety |
Account Privacy Requests /account/privacy | Account | Protected | ReaderAuthorAdvertiserAdminSuper Admin | Manage account safety |
Author Dashboard /author | Portal | Protected | AuthorAdminSuper Admin | Submit author content |
New Author Submission /author/submissions/new | Portal | Protected | AuthorAdminSuper Admin | Submit author content |
Author Ads to Claim /author/ads | Portal | Protected | AuthorAdminSuper Admin | Claim author ads |
Author Appeals /author/appeals | Portal | Protected | AuthorAdminSuper Admin | Submit author content |
Author Payout Requests /author/payouts | Portal | Protected | AuthorAdminSuper Admin | Request author payouts |
Advertiser Dashboard /advertiser | Portal | Protected | AdvertiserAdminSuper Admin | Submit ads |
New Ad Submission /advertiser/ads/new | Portal | Protected | AdvertiserAdminSuper Admin | Submit ads |
Advertiser Campaigns /advertiser/campaigns | Portal | Protected | AdvertiserAdminSuper Admin | Manage ad campaigns |
Admin Dashboard /admin | Admin | Protected | AdminSuper Admin | View admin dashboard |
Content Review Queue /admin/content-review | Admin | Protected | AdminSuper Admin | Review content |
Reports and Enforcement /admin/reports | Admin | Protected | AdminSuper Admin | Review content |
Privacy Requests /admin/privacy-requests | Admin | Protected | AdminSuper Admin | Manage access control |
Safety Center /admin/safety | Admin | Protected | AdminSuper Admin | Manage platform safety |
Access Control /admin/access | Admin | Protected | AdminSuper Admin | Manage access control |
Launch Readiness /admin/launch-readiness | Admin | Protected | AdminSuper Admin | Manage access control |
Backend Readiness /admin/backend-readiness | Admin | Protected | AdminSuper Admin | Manage access control |
Author Management /admin/authors | Admin | Protected | AdminSuper Admin | Manage authors |
Ad Campaign Review /admin/ads | Admin | Protected | AdminSuper Admin | Manage ads |
Payout Review Queue /admin/payouts | Admin | Protected | AdminSuper Admin | Review payouts |
Revenue Analytics /admin/revenue | Admin | Protected | AdminSuper Admin | View revenue |
Production Checklist
These items should be completed before FoxPlot is submitted for broad public launch or mobile app store review.
Roles, permissions, and route rules are now modeled in frontend-safe TypeScript.
Next production step is storing roles in Clerk metadata, database records, or a server-side authorization table.
Admin, author, advertiser, payout, privacy, report, and account routes should be enforced in middleware or server components before launch.
Admin decisions, payout changes, author suspensions, ad approvals, privacy requests, reports, and role changes should create permanent audit records.
Near final launch, review private routes, source maps, metadata, internal filenames, and authorization boundaries.