Skip to main content

Notification Service — Service Risk Register

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

IDRiskLikelihoodImpactMitigationOwner
R-NOTIF-01CRITICAL system alert not delivered (SendGrid down + SMS fails)LowHighDual channel; retry 3 times; NotifSystemAlertFailed fires → ops escalate to PagerDuty manuallySRE
R-NOTIF-02Duplicate notification on NATS redeliveryMediumMediumsource_event_id dedup in notification_log; integration testEngineering
R-NOTIF-03Template render error causes FAILED notificationLowMediumvariablesSchema validation at save time; CI Mjml lint; plain-text fallback for emailEngineering
R-NOTIF-04PII (email/phone) leaked in logs or error messagesMediumHighPino transport masking; recipient_address masked on write; CI log scannerSecurity
R-NOTIF-05Templates not ready or not approved at launchMediumMediumPhase 0 seeding with template review gate before Phase 1 activationProduct + Engineering
R-NOTIF-06SendGrid sender identity not verified (emails in spam)MediumMediumSPF/DKIM/DMARC setup is a pre-launch gate; verified domain in Vault configSRE
R-NOTIF-07Invoice email link expired before customer opensLowLowPresigned URL TTL set to 7 days in invoice template; email sent within minutes of invoice FINALIZEDEngineering
R-NOTIF-08SYSTEM_SECURITY opt-out bypass is disabled in preference checkLowHighUnit test explicitly verifies bypass; PreferenceResolver code review gateEngineering
R-NOTIF-09auth-service outage blocks all recipient lookupsMediumMediumNATS NAK; events replay when auth-service recovers; platform.admin list cached 5 minEngineering
R-NOTIF-10SMS notification creates user confusion (unexpected sender)LowLowConsistent sender ID Ghasi; customer comms on platform launchProduct
R-NOTIF-11Template XSS via admin-dashboard Handlebars injectionLowHighTemplates managed only by platform.admin; Handlebars HTML escaping by default; template preview uses isolated rendererSecurity