Skip to main content

SERVICE_RISK_REGISTER — pricing-service

Sibling: FAILURE_MODES · SECURITY_MODEL · AI_INTEGRATION · SERVICE_READINESS

This register captures known and accepted risks for the pricing-service. Risks are scored on a 1–5 scale for likelihood (L) and impact (I); the score is L × I. Anything ≥ 12 requires an active mitigation plan with an owner and a target review date. Entries are reviewed quarterly by the service owner and on every major release.


1. Risk score legend

Likelihood / Impact1 — Trivial2 — Minor3 — Moderate4 — Major5 — Critical
1 — Rare12345
2 — Unlikely246810
3 — Possible3691215
4 — Likely48121620
5 — Almost certain510152025

2. Active risks

R-01 — Cross-tenant rate leakage

FieldValue
CategorySecurity / Tenancy
L × I2 × 5 = 10
DescriptionA query path bypasses the SET LOCAL app.tenant_id step and returns rows from another tenant. Pricing data is commercially sensitive.
MitigationsMulti-layer isolation (RLS + ALS + cache prefix + CMEK namespace); CI test plants two tenants and asserts cross-tenant queries return zero rows; audit log alert on MELMASTOON.SECURITY.TENANT_VIOLATION.
ResidualLow
OwnerService owner + AppSec
ReviewQuarterly

R-02 — Sharia rule misinterpretation

FieldValue
CategoryCompliance
L × I2 × 4 = 8
DescriptionThe Sharia guard's logic could disagree with the tenant's local Sharia council on a specific fee structure.
MitigationsDomain-level guard documented; shariaTag curated by Revenue Ops with Sharia liaison sign-off; configurable per tenant via tenant-service config; AI suggestions explicitly constrained for Sharia plans; Sharia council on the ORR sign-off list.
ResidualMedium
OwnerService owner + Sharia council liaison
ReviewAnnually + per fee/category change

R-03 — FX provider concentration

FieldValue
CategoryVendor / Reliability
L × I3 × 3 = 9
DescriptionSingle FX provider outage degrades multi-currency display for up to 72h.
MitigationsCached snapshot pattern with staleAfter/hardExpireAt; provider abstracted behind FxProviderClient port; secondary provider integration on roadmap (planned Q2 2026).
ResidualMedium
OwnerPlatform Eng
ReviewQuarterly

R-04 — Promo enumeration brute force

FieldValue
CategorySecurity
L × I3 × 2 = 6
DescriptionBooker session brute-forces promo codes via :validate.
MitigationsRate-limit :validate to 30/min; IP block on > 100 invalid in 1h; promo codes scoped per tenant; audit alert.
ResidualLow
OwnerAppSec
ReviewAnnually

R-05 — AI suggestion bias / drift

FieldValue
CategoryAI / Compliance
L × I3 × 3 = 9
DescriptionVertex AI model drift produces systematically high (or low) suggestions, biasing operator decisions.
MitigationsAll suggestions are advisory + HITL gated (acceptance bounded by safety floor/ceiling); suggestion outcomes tracked via pricing_dynamic_suggestion_total{outcome=…} and reviewed monthly; prompt versioning; orchestrator audit retention.
ResidualMedium
OwnerRevenue Ops + AI Eng
ReviewMonthly suggestion-quality review

R-06 — Quote derivation determinism regression

FieldValue
CategoryCorrectness
L × I2 × 5 = 10
DescriptionA code change introduces non-determinism in derivation; reservations could be priced inconsistently between server and desktop.
MitigationsProperty-based test asserts byte-identical recomputation; integration test recomputes server quote from derivation snapshot; nightly mutation score ≥ 80% on domain layer; CODEOWNERS gate on golden test files.
ResidualLow
OwnerService owner
ReviewPer release

R-07 — Outbox publisher backlog (escalating to data loss)

FieldValue
CategoryReliability
L × I2 × 4 = 8
DescriptionSustained Pub/Sub outage + outbox runaway growth could cause DB pressure.
MitigationsPublisher leader-election, dual-write to secondary topic, manual replay tool, alert on pricing_outbox_unpublished > 1000.
ResidualLow
OwnerPlatform SRE
ReviewQuarterly

R-08 — Rate-plan archive mid-active-bookings

FieldValue
CategoryOperational
L × I3 × 3 = 9
DescriptionAn operator archives a plan that backs significant future bookings; new quotes blocked but existing quotes honoured.
MitigationsStep-up auth required; UI surfaces futureBookingsAtArchive count; rate_plan.archived.v1 event consumed by analytics for visibility; un-archive workflow available.
ResidualLow
OwnerBackoffice product
ReviewAnnually

R-09 — Desktop offline quote mismatch

FieldValue
CategoryReliability / UX
L × I4 × 2 = 8
DescriptionLong offline windows produce desktop-derived quotes that the server later rejects (promo cap, archive).
MitigationsServer is authoritative on push; desktop UI surfaces rejection with clear remediation; runbook for staff.
ResidualMedium
OwnerDesktop product
ReviewQuarterly

R-10 — Vendor lock-in: Vertex AI Gemini

FieldValue
CategoryStrategic
L × I3 × 2 = 6
DescriptionTight integration with Vertex AI complicates a future model switch.
MitigationsCapability is wrapped by ai-orchestrator-service (single broker); AIClient port in this service is provider-agnostic; output schema validation independent of provider.
ResidualLow
OwnerAI platform
ReviewAnnually

R-11 — Tax rule data quality (per-jurisdiction)

FieldValue
CategoryCompliance
L × I3 × 4 = 12
DescriptionOut-of-date tax rates produce incorrect grand totals; legally exposed for under-collection.
MitigationsTax rule upsert requires gm/owner role + audit trail; EXCLUDE constraint forbids overlapping windows; quarterly review by Revenue Ops cross-checked against government source; tax rate snapshot pinned in quote derivation for legal traceability.
ResidualMedium
OwnerRevenue Ops
ReviewQuarterly

R-12 — Negative-total math bug

FieldValue
CategoryCorrectness / Financial
L × I1 × 5 = 5
DescriptionA bug in derivation produces a non-positive grand total.
MitigationsDefensive guard at pinQuote step; property-based test; immediate alert; quote refused before persistence.
ResidualVery low
OwnerService owner
ReviewPer release

3. Risk heatmap

1 2 3 4 5
+-----+-----+-----+-----+-----+
5 | | R-01,| R-12 | | |
| | R-06 | | | |
+-----+-----+-----+-----+-----+
4 | | R-02,| | | |
| | R-07 | R-11 | | |
+-----+-----+-----+-----+-----+
3 | | | R-03,| | |
| | | R-05,| | |
| | | R-08 | | |
+-----+-----+-----+-----+-----+
2 | | | R-04,| R-09 | |
| | | R-10 | | |
+-----+-----+-----+-----+-----+
1 | | | | | |
+-----+-----+-----+-----+-----+
L→ Likelihood

No red-zone (≥ 16) risks at this time; R-11 sits at 12 and is the highest-priority active item.


4. Review cadence

  • Quarterly review by service owner with notes appended to this file.
  • Annual external review by AppSec + Compliance.
  • Ad-hoc review on every major incident or before any major release per SERVICE_READINESS.