Skip to main content

Billing Service — Risk Register

Status: populated Owner: TBD Last updated: 2026-04-17 Companion: Service Template

1. Register

IDRiskLikelihoodImpactOwnerMitigation
R-BILL-01Ledger integrity drift (balance ≠ sum(entries))LowCriticalTech leadAppend-only trigger; nightly integrity job; freeze-write switch; reversing-adjustment script
R-BILL-02Cross-tenant data leakLowCriticalSecurityRLS enforced; mandatory tenant-isolation test; static analysis forbids raw SQL
R-BILL-03Duplicate payment postingMediumHighDevIdempotency-Key required; unique index (tenant, idempotency_key); 24 h TTL
R-BILL-04Currency / money arithmetic bug (float drift)LowHighDevMoney = bigint minor_units; property-based tests; static analysis bans floats
R-BILL-05Payer remittance misposting (wrong account)MediumHighDevMatch on claim_id with strict invariants; manual-review queue for unmatched
R-BILL-06PCI scope creep (card data inadvertently stored)LowCriticalSecurityStatic analysis blocks card-like regex; adapter token pattern only; periodic PCI audit
R-BILL-07MoPH / UAE data residency violationLowCriticalComplianceRegion-tagged deployment; egress allowlist; DR only to compliant regions
R-BILL-08Price list lapse causing charge capture failureMediumMediumProduct7-day expiry alert; grace fallback to retired list with visible warning
R-BILL-09Refund fraud (self-approved refunds)MediumHighSecuritySeparation-of-duties scope; dual-approval above threshold; audit review weekly
R-BILL-10Outbox relay back-pressure breaking downstream consumersMediumMediumSRESLO alert at 30 s; relay HPA; DLQ routing
R-BILL-11Statement PDF rendering OOM on RTL large datasetsMediumLowDevBatch size cap; memory limit; fallback basic PDF
R-BILL-12Terminology dependency outage blocks charge captureMediumMediumDevDraft charge capture allowed; post-validation queue
R-BILL-13JWT rotation without JWKS propagationLowHighSRE10-min overlap window; readiness preloads JWKS
R-BILL-14Tenant onboarding with missing currency/tax configMediumMediumProductOnboarding checklist gate; guardrail on first charge capture
R-BILL-15AI-generated CPT suggestion accepted unreviewedLowMediumProductHITL required in UI; AIProvenance audit; reject server-side if acceptedBy null
R-BILL-16Large refund triggers payment-gateway compliance holdLowMediumOpsCircuit breaker; manual workflow path; clear ops playbook
R-BILL-17GL export drift vs internal ledgerLowHighFinanceReconciliation report; GL batch idempotent; monthly attest
R-BILL-18Schema migration causes RLS regressionLowCriticalDevPre-prod tenant-isolation test required on every migration; revert playbook

2. Risk review cadence

  • Monthly — tech lead + SRE review top 5 risks, update mitigations.
  • Quarterly — compliance review for residency + PCI posture.
  • Post-incident — risks updated within 5 business days of an incident.