Security in MediNet 2.0.1Implemented controls and deployment responsibilities

Federated training runs at the hospital Node. Local access controls and privacy-budget checks protect that boundary, while transport, storage and operational security also depend on deployment configuration.

Reviewed security scope

Evidence from the pinned source

This 2.0.1 guide uses the Hub snapshot f09bb753 and the companion Node snapshot 5e52ac5, merged on 7 July 2026. The Node repository has no independently named 2.0.1 tag; these instructions pin the reviewed commits. See the version comparison for scope and sources.

“Implemented” means the control exists in the reviewed code; it does not certify a deployed system or assert that every security test has passed. Historical README summaries and planned-feature lists can lag behind implementation.

shield

Local data

Training uses hospital-hosted datasets and exchanges model updates and metrics.

verified_user

Node authorization

The hospital grants dataset access and controls allowed operations.

policy

Privacy budgets

The Node validates proposed jobs and records privacy spend.

monitor_heart

Auditability

Review user, dataset, API and training activity in the Node.

Implementation status

Source controls, configured protections and remaining gaps

Control
Scope and limitation
Status
Source
Node roles and permissions
ADMIN manages the center; MEMBER uses permitted inference features; RESEARCHER trains through the API; AUDITOR reviews audit information. Platform permissions depend on the assigned role and scope.
Implemented
API credentials and access grants
Hashed API keys, expiration, permitted IPs and explicit dataset permissions are checked by the Node. Expired or unauthorized credentials are rejected.
Implemented
Web sessions and initial setup
Password validation, failed-login controls, inactivity timeout and CSRF checks are implemented. Initial setup is blocked once users or completed configuration exist.
Implemented
Deep-learning differential privacy
Node-side Opacus training applies clipping and Gaussian noise, derives a local noise floor and rejects weakened training parameters. The Node draws its noise seed independently of the Hub.
Implemented
Privacy budgets and reset review
Per-researcher, per-dataset admission checks include in-flight estimated costs. Actual round costs are reconciled once on completion or failure. ADMIN reviews reset requests.
Implemented
Rate and session limits
API middleware limits request rates; the start-client flow limits concurrent researcher training sessions. These controls do not replace network access controls.
Implemented
Audit records
Authentication, API access, dataset actions and training activity have logging and audit views. Protect stored logs and review retention in your deployment.
Implemented
Flower TLS
The Hub entrypoint generates server certificates and supplies a CA for Node connections. Plaintext is allowed by development flags; turn it off for deployment.
Deployment-dependent
HTTPS and storage encryption
Configure HTTPS for browser/API traffic and encryption for databases, uploaded datasets and backups at the hosting/storage layer. Encrypted Hub credentials do not encrypt all patient-data storage.
Deployment-dependent
Flower mutual TLS
Server TLS does not authenticate each connecting hospital with a client certificate. mTLS is still identified as a remaining security item; restrict port 8080 to approved hospital networks.
Not established in this snapshot
Regulatory certification
The reviewed snapshots do not establish GDPR/HIPAA certification, medical-device approval or a formal privacy/security certification.
Not established in this snapshot

Understand the privacy boundary

Model updates and metrics also need protection

Production and experiment datasets

A genuine experimental-subset job can bypass epsilon-budget gating and recording only when the Node validates the experiment permission and subset. This is a budget-accounting exception, not authorization to expose a production dataset or a privacy guarantee for experimental data.

Experiment validation and budget enforcement

Classical machine learning

The companion Node implements FedSVM with random Fourier features and DP-SGD weight sharing, plus a DP Random Forest algorithm. Older documentation describing exported SVM support vectors is superseded by this code. Check algorithm-specific bounds and parameters rather than transferring a deep-learning privacy statement to every model.

FedSVM implementation · DP Random Forest

Budget accounting has limits

The Node checks estimated costs before admission and records the measured costs from completed rounds. Estimates and actual costs can differ; the recorded spend can exceed the configured budget and prevent the next job. A budget reset changes accounting state and does not undo earlier information disclosure.

Privacy-policy and researcher-budget models

Federated learning does not by itself provide cryptographic secure aggregation, remove re-identification risk or establish lawful use of a dataset. The reviewed code is not evidence of an end-to-end encrypted or certified clinical system.

Configure a secure deployment

Review this before using sensitive data

Disable debug flags in both Compose files; configure explicit allowed hosts and Node FLOWER_ALLOW_INSECURE=false. Provide HTTPS at the web/API boundary, and configure TRUSTED_PROXIES when a trusted reverse proxy supplies client-IP headers.

Protect the Hub credential-encryption keys, Node configuration, databases, dataset files and backups. Persisted secrets must survive application updates. Restrict Flower access, review audit logs and test restoration procedures. Automatic secret rotation and a clinical-deployment certification are not established by these snapshots.

See the installation guide for the exact Docker defaults and roadmap for documented future work.