How oshantheanalyst/pdpa-monitor-compliance-system works
This is a PDPA-aware security-posture monitoring prototype: CRM staff record customer-data collection and retrieval, which App A reports to App B for audit logging, rule and ML scoring, alerts, and governance reporting. App B also offers role-specific administration, regulator views, scheduled rule checks, and report exports. The source excerpts show the CRM event flow and App B’s synchronous event processing; the README documents the separate ML service and broader product capabilities. Some unsampled subsystem links are therefore omitted or shown as unverified.
Main entry points: EventController.php Event API · CustomerController.php Customer Workflow · ReportExportService.php Report Exports · Livewire Role Dashboards
Components 24
Demo CRM
- Customer Workflow
app-a-crm/app/Http/Controllers/CustomerController.php - Customer Records
app-a-crm/app/Models/Customer.php - Retrieval History
app-a-crm/app/Models/CustomerRetrieval.php - Compliance Client
app-a-crm/app/Services/ComplianceApiService.php
Compliance Monitoring
- Event API
app-b-compliance/app/Http/Controllers/Api/V1/EventController.php - Audit Ledger
app-b-compliance/app/Models/AuditLog.php - Organizations
app-b-compliance/app/Models/Organization.php - Event Rule Engine
app-b-compliance/app/Services/RuleEngine/RuleEngine.php - PDPA Rules
app-b-compliance/app/Services/RuleEngine/Rules - Alerts
app-b-compliance/app/Models/Alert.php - Scheduled Checks
app-b-compliance/app/Console/Commands/RunScheduledRules.php - Alert Escalation
app-b-compliance/app/Services/EscalationService.php
Governance & Reporting
- Role Dashboards
app-b-compliance/app/Http/Livewire - Organization Management
app-b-compliance/app/Http/Livewire/PlatformAdmin/OrganizationManager.php - Report Requests
app-b-compliance/app/Http/Controllers/ReportExportController.php - Report Exports
app-b-compliance/app/Services/ReportExportService.php - Posture Score
app-b-compliance/app/Services/ComplianceScoreService.php - Breach, DSR & DPIA
app-b-compliance/app/Models
ML Scoring
- ML Scorer Client
app-b-compliance/app/Services/MlScorerService.php - Anomaly Scoring API
ml-service/main.py
Other components
- CRM Staff
- Organization Admin
- Platform Admin
- Regulator
Connections 27
- CRM Staff → Customer Workflow: records data
- Customer Workflow → Customer Records: stores customer
app-a-crm/app/Http/Controllers/CustomerController.php - Customer Workflow → Retrieval History: logs retrieval
app-a-crm/app/Http/Controllers/CustomerController.php - Customer Workflow → Compliance Client: sends events
app-a-crm/app/Http/Controllers/CustomerController.php - Compliance Client → Event API: posts events
- Event API → Audit Ledger: writes events
app-b-compliance/app/Http/Controllers/Api/V1/EventController.php - Event API → Organizations: resolves tenant
app-b-compliance/app/Http/Controllers/Api/V1/EventController.php - Event API → Event Rule Engine: evaluates rules
app-b-compliance/app/Http/Controllers/Api/V1/EventController.php - Event Rule Engine → PDPA Rules: evaluates rules
app-b-compliance/app/Services/RuleEngine/RuleEngine.php - Event Rule Engine → Alerts: persists alerts
app-b-compliance/app/Services/RuleEngine/RuleEngine.php - Event API → ML Scorer Client: requests scoring
app-b-compliance/app/Http/Controllers/Api/V1/EventController.php - ML Scorer Client → Anomaly Scoring API: requests anomaly score
- Scheduled Checks → Alerts: raises scheduled alerts
- Scheduled Checks → Audit Ledger: checks events
- Alert Escalation → Alerts: escalates alerts
- Organization Admin → Role Dashboards: reviews posture
- Platform Admin → Role Dashboards: manages platform
- Regulator → Role Dashboards: reviews compliance
- Platform Admin → Organization Management: manages organizations
app-b-compliance/app/Http/Livewire/PlatformAdmin/OrganizationManager.php - Organization Admin → Report Requests: requests reports
- Regulator → Report Requests: requests reports
- Report Requests → Report Exports: exports reports
app-b-compliance/app/Http/Controllers/ReportExportController.php - Report Exports → Audit Ledger: queries audit trail
app-b-compliance/app/Services/ReportExportService.php - Report Exports → Alerts: queries alerts
app-b-compliance/app/Services/ReportExportService.php - Organizations → Posture Score: calculates score
app-b-compliance/app/Models/Organization.php - Report Exports → Posture Score: uses posture score
app-b-compliance/app/Services/ReportExportService.php - Role Dashboards → Breach, DSR & DPIA: tracks obligations
app-b-compliance/app/Http/Livewire/PlatformAdmin/OrganizationManager.php