Files
Zumri-Backend/Documentation/AUTHORIZATION_MATRIX.md
Sathira Sri Sathara 5158c52db5
CI / test (push) Successful in 10m56s
CI / test (pull_request) Successful in 11m1s
feat: Add Phase 11 analytics and production readiness features
- Introduced new endpoints for account overview, analytics, and metrics.
- Implemented authorization matrix and backup/restore documentation.
- Added smoke test script and updated package dependencies.
- Created detailed production checklist and runbook for deployment.
- Established cron operations and notification event matrix documentation.
- Enhanced security and validation audits for analytics and metrics services.
- Added unit tests for analytics and metrics functionalities.
2026-09-16 10:59:19 +05:30

3.7 KiB

Authorization Matrix

This inventory is derived from the mounted route source. Both /api (legacy) and /api/v1 mount the same router; new clients use /api/v1. SUPER_ADMIN bypasses permission checks through the central middleware.

Route group Methods/path Auth Permission/account constraint Ownership/rate limit
Auth /auth/* Mixed Public login/registration; authenticated session actions Sensitive limiter on credential flows
User/profile/address /user/*, /profile/*, /addresses/*, /account/overview Yes Self or explicit admin permission User ID derived from token/self query
Upload/document /upload/*, /document/* Yes Owner or media/document permissions Signed URL after owner/permission check
Permissions/admin users /permissions/*, /admin/users/* Yes Permission/admin-gated No public mutations
Business /business/*, /admin/business/* Yes Self business or business permissions Business context resolved from user
Catalogue/help /products, /categories, /brands, /collections, /help/* Public GET Published/active projection General limiter; help search sensitive limiter
Catalogue admin /admin/products/*, categories/brands/collections/reviews Yes Catalogue permissions Strict schemas/action endpoints
Inventory/pricing/merchandising/shipping admin /admin/inventory/*, /admin/pricing/*, /admin/promotions/*, /admin/shipping/* Yes Domain permissions Strict schemas; bounded pages
Shopping /cart/*, /wishlist/*, /checkout/* Yes Authenticated self Identity derived from token; idempotency/reservations
Orders/payments/returns /orders/*, /returns/* Yes Self ownership Order/user join checks; strict payment actions
Commerce admin /admin/orders/*, payments/refunds/returns Yes Orders/payments/returns permissions Explicit actions; no generic status patch
Logistics public /tracking/* Public token/reference Limited safe projection Sensitive limiter where configured
Logistics rider/admin /rider/*, /admin/shipments/* Yes Rider ownership or logistics permissions Assignment/state checks
Loyalty/wholesale /loyalty/*, /wholesale/*, corresponding /admin/* Yes Self or loyalty/wholesale permissions Ledger identity server-derived
Support customer /support/tickets/* Yes Self-owned ticket Creation/replies rate-limited; internal visibility excluded
Support admin /admin/support/tickets/* Yes Granular support permission per action Row-lock assignment; staff-only internal notes
Newsletter subscribe/unsubscribe Public Token authorizes unsubscribe Sensitive limiter; enumeration-neutral response
Newsletter admin /admin/newsletter/subscribers Yes newsletter.subscribers.read Token hashes excluded
Recommendations public reads; authenticated event/recent/for-you Mixed Self for behavioral data Event allowlist/idempotency; sensitive limiter
Analytics /admin/dashboard/overview, /admin/analytics/* Yes Matching analytics.*.read UTC range ≤366 days; bounded SQL aggregates
Metrics /admin/metrics Yes system.metrics.read No user/resource labels
Queue board /admin/queues Yes Admin/superadmin account type Internal operational UI
Health /health, /health/live, /health/ready Public None No sensitive payload

Detailed route definitions remain authoritative in app/routes. Security audit found no newly unprotected admin route. Remaining staging work includes an automated route-to-matrix drift check and full authenticated IDOR E2E execution.