MATIH Platform is in active MVP development. Documentation reflects current implementation status.
13. ML Service & MLOps
Governance & Compliance
Compliance & Audit

Compliance and Audit

The Compliance module provides comprehensive audit trails, model documentation, regulatory reporting, and governance workflows for ML models. It generates model cards, tracks all model lifecycle events, and produces compliance reports aligned with GDPR, CCPA, ECOA, and internal data governance policies.


Compliance Architecture

The ComplianceAuditService in src/compliance/compliance_audit_service.py manages audit events and documentation:

Model Lifecycle Events --> Compliance Audit Service --> Audit Store (PostgreSQL)
                                                    --> Model Cards (Artifact Store)
                                                    --> Compliance Reports (Export)

Audit Trail

Every significant model lifecycle event is recorded in the audit trail:

Event TypeTriggerData Captured
model.trainedTraining job completionParameters, metrics, data snapshot
model.registeredModel registrationArtifact URI, metadata, tags
model.stage_transitionStage changeFrom/to stage, approver, reason
model.deployedProduction deploymentEndpoint, traffic config
model.predictionInference request (sampled)Input features, output, latency
model.retiredModel archivalReason, replacement model
model.fairness_checkFairness assessmentMetrics, pass/fail, groups
model.explanationExplanation generatedMethod, feature attributions

Get Audit Trail

GET /api/v1/governance/audit?model_id=model-xyz789

Query Parameters

ParameterTypeRequiredDescription
model_idstringyesModel identifier
event_typestringnoFilter by event type
date_fromstringnoStart date (ISO format)
date_tostringnoEnd date (ISO format)
limitintegernoMax events (default 100)

Response

{
  "events": [
    {
      "event_id": "audit-001",
      "event_type": "model.trained",
      "model_id": "model-xyz789",
      "timestamp": "2025-03-15T10:00:00Z",
      "actor": "user-456",
      "details": {
        "algorithm": "xgboost",
        "dataset_size": 5000,
        "metrics": {"f1_score": 0.912}
      }
    }
  ]
}

Model Cards

Model cards provide standardized documentation following the Google Model Cards framework:

GET /api/v1/governance/model-card?model_id=model-xyz789

Model Card Contents

SectionDescription
OverviewModel name, version, owner, purpose
Intended UsePrimary and out-of-scope use cases
Training DataDataset description, size, features
EvaluationMetrics on test set, sliced performance
FairnessFairness metrics across protected groups
LimitationsKnown limitations and failure modes
Ethical ConsiderationsPotential risks and mitigations
DeploymentServing configuration, SLA targets

Response

{
  "model_name": "churn-predictor",
  "version": "v3",
  "owner": "ml-team",
  "purpose": "Predict customer churn probability",
  "intended_use": {
    "primary": "Customer retention campaign targeting",
    "out_of_scope": "Credit decisioning, employment screening"
  },
  "training_data": {
    "source": "customer_features table",
    "samples": 50000,
    "date_range": "2024-01 to 2024-12"
  },
  "evaluation": {
    "test_set_size": 10000,
    "metrics": {"f1_score": 0.912, "auc_roc": 0.97}
  },
  "fairness": {
    "assessed": true,
    "overall_fair": true,
    "details": "Passes demographic parity across gender and age groups"
  }
}

Regulatory Reporting

The compliance module generates reports for specific regulatory frameworks:

FrameworkReport Contents
GDPR (Article 22)Automated decision-making documentation, right to explanation
CCPAData usage disclosure, opt-out compliance
ECOAFair lending analysis, disparate impact assessment
SOXModel change control, approval workflows
InternalModel risk tier, validation status, monitoring coverage

Configuration

Environment VariableDefaultDescription
COMPLIANCE_AUDIT_ENABLEDtrueEnable audit trail logging
COMPLIANCE_PREDICTION_SAMPLE_RATE0.01Prediction sampling rate for audit
COMPLIANCE_RETENTION_DAYS2555Audit record retention (7 years)
COMPLIANCE_MODEL_CARD_AUTOtrueAuto-generate model cards on registration