Skip to main content

Admin Dashboard — Service Risk Register

Status: populated Owner: Platform Engineering (Frontend) Last updated: 2026-04-18

1. Risk Register

IDRiskLikelihoodImpactMitigationOwner
ADMDASH-R01Admin account takeover via phishing (Firebase Auth)LowCriticalCloudflare Access as second auth layer; enforce MFA on all @ghasi.io accounts via FirebaseSecurity
ADMDASH-R02Accidental deletion of active SMPP operatorMediumHighDeletion blocked if operator is referenced by active routing rules (422 from backend); confirmation dialog requiredFrontend + Backend
ADMDASH-R03Routing rule reorder conflict between concurrent adminsMediumMedium409 response handled with error toast + list re-sync; no silent data lossFrontend Eng
ADMDASH-R04Analytics service outage causes blind dashboardMediumHighStale data displayed with timestamp; alert banner; health page still functional independentlyPlatform Eng
ADMDASH-R05SMPP password exposed via browser dev tools during form fillLowHighPassword field is a masked <input type="password">; never pre-populated; never loggedFrontend Eng
ADMDASH-R06Admin JWT leaked via Sentry error reportLowCriticalbeforeSend Sentry hook strips Authorization header, cookies, and all auth-related fieldsSecurity
ADMDASH-R07Cloudflare Access misconfiguration exposes admin login to public internetLowCriticalCloudflare Access policy reviewed quarterly; tested in staging before production changesDevOps
ADMDASH-R0830s polling causes inadvertent DDoS on analytics-service during incidentLowMediumPolling pauses when tab hidden; circuit breaker after 3 consecutive failures; exponential backoffFrontend Eng
ADMDASH-R09Next.js breaking change in minor versionLowMediumLock Next.js minor version; dedicated upgrade sprintFrontend Eng

2. Accepted Risks

IDRiskReason Accepted
ADMDASH-R10Single Cloudflare Access zoneEmergency bypass via VPN documented in runbook
ADMDASH-R11No audit log within dashboard itselfAudit trail maintained by downstream services via injected headers; acceptable for MVP