# mubashir251-tech/advance-data-science-secure-platform architecture

> Architecture diagram of the GitHub repository mubashir251-tech/advance-data-science-secure-platform, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mubashir251-tech/advance-data-science-secure-platform
- Repository: https://github.com/mubashir251-tech/advance-data-science-secure-platform

## Overview

This repository is a runnable secure-data-science lab, organized around a loan-model lifecycle and six demonstration areas. Its principal workflow schedules training, fairness review, and a compliance policy gate; separate demos cover privacy-preserving learning, adversarial defenses, explainability, and auditability. The FastAPI app is a standalone demonstration API: its prediction endpoint uses a hard-coded rule, not the trained model. The README describes DevSecOps and platform services, but their implementation is not present in the supplied tree, so they are not mapped as repository components.

Main entry points: [`pipelines/dags/secure_training_dag.py`](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/pipelines/dags/secure_training_dag.py) (Training DAG), [`pipelines/01_train_with_mlflow.py`](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/pipelines/01_train_with_mlflow.py) (Model training), [`compliance/11_policy_check.py`](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/compliance/11_policy_check.py) (Policy check), [`governance/02_bias_audit.py`](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/governance/02_bias_audit.py) (Bias audit)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_mlops["MLOps lifecycle"]
  node_scheduler["Training DAG"]
  node_trainer["Model training"]
end

subgraph group_governance["Governance"]
  node_bias["Bias audit<br/>[02_bias_audit.py]"]
  node_explain["Explainability"]
end

subgraph group_privacy["Privacy learning"]
  node_anonymize["Anonymization<br/>[04_anonymize.py]"]
  node_differential["Differential privacy"]
  node_dp_training["DP-SGD training"]
  node_federated["Federated learning"]
end

subgraph group_adversarial["Model defenses"]
  node_evasion["Evasion attacks"]
  node_poisoning["Poison detection"]
  node_robust_training["Robust training"]
end

subgraph group_compliance["Compliance"]
  node_policy["Policy check<br/>[11_policy_check.py]"]
  node_audit[("Audit trail<br/>[12_audit_trail.py]")]
  node_rmf["Standards mapping<br/>[13_rmf_mapping.py]"]
end

node_operator(("Lab operator"))
node_dataset["Loan dataset"]
node_registry[("MLflow registry")]
node_opa["OPA service"]
node_api["FastAPI service<br/>[app.py]"]

node_operator -->|"triggers"| node_scheduler
node_scheduler -->|"runs"| node_trainer
node_scheduler -->|"runs"| node_bias
node_scheduler -->|"runs"| node_policy
node_dataset -->|"reads"| node_trainer
node_trainer -->|"logs model"| node_registry
node_dataset -->|"reads"| node_bias
node_dataset -->|"reads"| node_explain
node_dataset -->|"reads"| node_anonymize
node_dataset -->|"reads"| node_differential
node_dataset -->|"reads"| node_dp_training
node_dataset -->|"reads"| node_federated
node_dataset -->|"reads"| node_evasion
node_dataset -->|"reads"| node_poisoning
node_dataset -->|"reads"| node_robust_training
node_policy -->|"checks policy"| node_opa
node_operator -->|"runs"| node_audit
node_operator -->|"runs"| node_rmf
node_operator -->|"requests"| node_api

click node_scheduler "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/pipelines/dags/secure_training_dag.py"
click node_trainer "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/pipelines/01_train_with_mlflow.py"
click node_bias "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/governance/02_bias_audit.py"
click node_explain "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/governance/03_explainability.py"
click node_anonymize "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/privacy/04_anonymize.py"
click node_differential "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/privacy/05_differential_privacy.py"
click node_dp_training "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/privacy/06_dp_sgd_training.py"
click node_federated "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/privacy/07_federated_demo.py"
click node_evasion "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/adversarial/08_evasion_attack.py"
click node_poisoning "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/adversarial/09_poisoning_detect.py"
click node_robust_training "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/adversarial/10_robust_training.py"
click node_policy "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/compliance/11_policy_check.py"
click node_audit "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/compliance/12_audit_trail.py"
click node_rmf "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/compliance/13_rmf_mapping.py"
click node_api "https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/fastapi/app.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_scheduler,node_trainer toneBlue
class node_bias,node_explain,node_registry toneAmber
class node_anonymize,node_differential,node_dp_training,node_federated,node_api toneMint
class node_evasion,node_poisoning,node_robust_training toneRose
class node_policy,node_audit,node_rmf,node_operator,node_dataset,node_opa toneIndigo
```

## Components

### MLOps lifecycle

- [Training DAG](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/pipelines/dags/secure_training_dag.py): `pipelines/dags/secure_training_dag.py`
- [Model training](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/pipelines/01_train_with_mlflow.py): `pipelines/01_train_with_mlflow.py`

### Governance

- [Bias audit](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/governance/02_bias_audit.py): `governance/02_bias_audit.py`
- [Explainability](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/governance/03_explainability.py): `governance/03_explainability.py`

### Privacy learning

- [Anonymization](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/privacy/04_anonymize.py): `privacy/04_anonymize.py`
- [Differential privacy](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/privacy/05_differential_privacy.py): `privacy/05_differential_privacy.py`
- [DP-SGD training](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/privacy/06_dp_sgd_training.py): `privacy/06_dp_sgd_training.py`
- [Federated learning](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/privacy/07_federated_demo.py): `privacy/07_federated_demo.py`

### Model defenses

- [Evasion attacks](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/adversarial/08_evasion_attack.py): `adversarial/08_evasion_attack.py`
- [Poison detection](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/adversarial/09_poisoning_detect.py): `adversarial/09_poisoning_detect.py`
- [Robust training](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/adversarial/10_robust_training.py): `adversarial/10_robust_training.py`

### Compliance

- [Policy check](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/compliance/11_policy_check.py): `compliance/11_policy_check.py`
- [Audit trail](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/compliance/12_audit_trail.py): `compliance/12_audit_trail.py`
- [Standards mapping](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/compliance/13_rmf_mapping.py): `compliance/13_rmf_mapping.py`

### Other components

- **Lab operator**
- **Loan dataset**
- **MLflow registry**
- **OPA service**
- [FastAPI service](https://github.com/mubashir251-tech/advance-data-science-secure-platform/blob/main/fastapi/app.py): `fastapi/app.py`

## Connections

- Lab operator → Training DAG: triggers
- Training DAG → Model training: runs
- Training DAG → Bias audit: runs
- Training DAG → Policy check: runs
- Loan dataset → Model training: reads
- Model training → MLflow registry: logs model
- Loan dataset → Bias audit: reads
- Loan dataset → Explainability: reads
- Loan dataset → Anonymization: reads
- Loan dataset → Differential privacy: reads
- Loan dataset → DP-SGD training: reads
- Loan dataset → Federated learning: reads
- Loan dataset → Evasion attacks: reads
- Loan dataset → Poison detection: reads
- Loan dataset → Robust training: reads
- Policy check → OPA service: checks policy
- Lab operator → Audit trail: runs
- Lab operator → Standards mapping: runs
- Lab operator → FastAPI service: requests
