Skip to main content

regulator-portal-service — Service Overview

Version: 1.0 Status: Draft Owner: Regulator-facing + Legal Last Updated: 2026-04-21 References: ADR-0004 §3, 07-epics-and-user-stories.md §6.9, 13-security-compliance-tenancy.md


1. Purpose

regulator-portal-service is the platform's regulator-facing surface. It provides ATRA (Afghanistan Telecom Regulatory Authority) and other authorised regulators with:

  • A login portal authenticated against national PKI / mTLS only.
  • On-demand and scheduled access to platform reports (CDR submissions, consent audit, sender-ID registry exports, compliance reports).
  • A workflow for lawful intercept (LI) requests per ETSI TS 102 232 (IRI / CC distinction), with SLA enforcement and immutable audit.
  • A complaint-ingest channel for citizen complaints forwarded by ATRA.
  • A SIEM-forwarding pipeline for security and compliance events to government-operated Splunk/ELK/QRadar.
  • Periodic compliance attestations infrastructure (ISO 27001, ISO 27017/27018, SOC 2 Type II, GSMA AA.18).

Without this service, every regulator interaction would be ad-hoc, manual, and audit-defeating. With it, Ghasi has a defensible, automated regulator-of-record interface that other vendors lack.


2. Bounded Context

ConcernIn scopeOut of scope
Regulator authentication via national PKINational PKI issuance
LI request workflow + SLA enforcementActual intercept implementation (delegated to MNOs / cdr-mediation-service)
Complaint ingest + triage workflowComplaint resolution (handled by Customer Success + relevant tenant)
Compliance attestation evidence collectionAudit firm engagement (procurement)
SIEM forwarding (CEF/LEEF)SIEM operation (regulator-owned)
Regulator-portal UI✅ (BFF + UI)Citizen-facing UI

3. Key Responsibilities

  1. Authenticate regulator users via mTLS + national PKI (no shared passwords; cert revocation honoured).
  2. Maintain an LI-request workflow with state machine RECEIVED → ACK → IN_PROGRESS → DELIVERED → CLOSED and 24h SLA enforcement.
  3. Accept ATRA-forwarded citizen complaints; route to triage queue in admin-dashboard.
  4. Stream security and compliance events (auth.events.*, compliance.audit.v1, sender.id.*, consent.*) to configured SIEM destinations using CEF/LEEF formats.
  5. Generate scheduled regulator reports (daily CDR submission status, monthly compliance summary, quarterly platform health).
  6. Maintain compliance attestation evidence catalog with currency status (CURRENT / STALE / MISSING).

4. Dependencies

DirectionDependencyReason
InboundATRA users (Web UI via mTLS)Regulator portal access
InboundRegulator API clients (REST mTLS)Programmatic LI submission
Outboundcdr-mediation-serviceCDR submission status reads
Outboundcompliance-engineAudit-log and report queries
Outboundconsent-ledger-serviceConsent audit queries
Outboundsender-id-registry-serviceRegistry exports
Outboundanalytics-service (ClickHouse cold-tier)Long-window queries
OutboundNATS (regulator.*)Event emission for downstream reporting
OutboundSIEM endpoints (Splunk HEC / Logstash / QRadar)Event forwarding
OutboundPostgres (regulator schema)LI requests, complaints, attestations
OutboundVaultSIEM auth tokens, signing keys
OutboundObject storage (s3://ghasi-regulator/ )Report artifacts, signed reports

5. Runtime Topology


6. Key Design Decisions

  1. mTLS + national PKI ONLY — no passwords, no API keys for regulators. Cert revocation (CRL/OCSP) honoured. Failed handshake is loud (alert + audit row).
  2. Read-only against upstreamregulator-portal-service never mutates upstream data. It assembles, signs, and serves. Mutation to compliance/consent/CDR remains owned by the respective service.
  3. LI requests are append-only and dual-control — every state transition requires both regulator initiator and Ghasi legal/security approver. Bypass requires CISO + CTO signature.
  4. SIEM forwarder is at-least-once — durable NATS consumer with explicit ACK after SIEM confirms receipt. Drop > 60 s lag → alert.
  5. Reports are signed — every regulator report PDF is signed with a dedicated regulator-reports key (HSM-bound). Tampering detectable.
  6. Time-bounded report retention in service — service holds reports 90 d hot; longer term in object storage with 7-y lifecycle.

7. Surface Inventory

InterfacePurposeAuth
HTTPS Web /loginRegulator portal UI loginmTLS national PKI
REST POST /v1/regulator/li/requestsSubmit LI requestmTLS regulator role
REST GET /v1/regulator/li/requestsList own LI requestsmTLS regulator role
REST POST /v1/regulator/complaintsForward citizen complaintmTLS regulator role
REST POST /v1/regulator/reportsGenerate ad-hoc reportmTLS regulator role
REST GET /v1/regulator/reports/:id/downloadSigned PDFmTLS regulator role
REST GET /v1/regulator/attestationsCompliance attestation statusmTLS regulator role + auditor
HTTP /health/live, /health/ready, /metricsK8s + PromNone / cluster
NATS produce regulator.report.submitted.v1, regulator.complaint.received.v1, regulator.li.transitioned.v1Downstream

8. Data Ownership

regulator schema:

  • regulator.li_requests — LI workflow rows + per-state SLA timestamps
  • regulator.li_audit — append-only state-transition log
  • regulator.complaints — ingested complaints + triage status
  • regulator.attestations — control families + evidence status
  • regulator.scheduled_reports — schedule + last-run metadata
  • regulator.siem_destinations — per-target config + auth
  • regulator.signing_keys_ref — Vault path pointers; HSM-held

9. Failure Modes

  • mTLS handshake failure storm → alert (probing detection); cert chain auto-refresh.
  • SIEM destination unreachable → buffer in NATS with alert; if buffer > 1 h, fail to disk + alert critical.
  • LI SLA breach → automatic alert to Legal + CISO + Regulator-liaison.
  • Report generation failure → retry 3×; if persistent → fall back to manual ticket; SLA pause.
  • Signing key unavailable → block report download; reports remain pending; alert critical.

10. Open Points

IDQuestionOwnerResolution
REG-OPEN-001National-PKI issuer — which CAs does Ghasi trust for regulator users?LegalTBD
REG-OPEN-002LI implementation — does Ghasi intercept itself, delegate to MNOs, or both? Scope of role.Legal + Platform CouncilTBD
REG-OPEN-003Regulator-portal UI hosting region — sovereign Afghan only or also Dubai DR?Platform ArchTBD
REG-OPEN-004SIEM destination shape — does ATRA operate Splunk, ELK, QRadar, or other?Regulator LiaisonTBD