Passer au contenu

Threat model

A summary of the EDFlow threat and risk assessment: attacker models, STRIDE threats per component, the top risks and their mitigations, and residual risks.

Cette page n'est pas encore offerte en français; elle est affichée en anglais.

This is a summary. The full threat model is part of the confidential security package.

Objectives

  1. People see only what their role and relationship allow.
  2. No health information leaves the custodian's boundary: never in push, SMS, email, URLs, logs, analytics or sub-processors.
  3. Every access to a patient's information is attributable and reviewable.
  4. A stolen database copy opens no visit, link or account.
  5. Guessing a credential is infeasible within a visit's lifetime.
  6. A compromise is contained in minutes and scoped for notification in hours.
  7. The EHR feed can't be forged, replayed or used to exfiltrate data.
  8. The service stays available for staff under attack and fails safe for patients.

Attackers considered

AttackerGoal
Opportunistic internet attackerEnumerate tokens and codes, credential stuffing, denial of service
Someone who knows the patient (for example an abusive partner)Follow the visit, learn location or care details
Finder of a lost cardOpen the visit
Another person in the waiting roomRead a screen, phish with a fake QR poster
Curious or malicious staff memberSnoop on a neighbour, celebrity or colleague
Compromised staff accountEverything above plus admin actions
Compromised integration engineForge or replay events, push PHI into prohibited fields
Compromised third partyRead message content, inject code
Malicious or careless operatorBulk read, tamper with audit, disable controls

STRIDE summary

ThreatMain mitigations
Spoofing a patient or staff memberHigh-entropy tokens, knowledge factor on second devices, reverse pairing, MFA, SSO, device lock on staff phones
Tampering with events or auditHMAC or OAuth ingest with a replay window, idempotency, append-only audit with a daily hash chain
RepudiationEvery staff action attributed and audited, with the membership and tab
Information disclosureProjections per audience, generic notifications, tokens in URL fragments, log redaction, prohibited fields, site isolation
Denial of servicePer-target rate limits, WAF, size limits, queued engines that absorb outages, offline-safe patient screens
Elevation of privilegeServer-side authorization, separation of duties, two-person approvals for privileged roles and exports, step-up for sensitive actions

Top risks and mitigations

RiskMitigation
Wrong patient linked to a phoneTokens with 128 bits of entropy, knowledge factor, rate limits, "Is this you?", staff revoke and reissue, "This wasn't me"
PHI leaking through adapters or logsRaw payloads never stored; log allow-list; prohibited-field tripwire; CI payload tests
Insider browsingAudit before read, monitoring rules (for example more than 30 patients in an hour, confidential access off the care team), quarterly access review
"Ghost" patients after a lost discharge messageRoster reconciliation and stale-visit closing, with a circuit breaker for bad rosters
Code-delay notices cause alarmOnly medical codes, approved generic copy, no location or count, subject and area excluded
Patients read "results are back" as "about to be seen"Tested copy, usual reassessment range, never a promise
Residency requirementsSelf-hosted in Canada; US providers optional, env-gated and carrying no PHI

Residual risks

  • A patient who shares their screen or phone shares their visit; the app offers a generic lock screen, biometric lock and "Sign out and forget this device".
  • Text messages reveal that a phone number is associated with an ED visit to the SMS provider; texts are off unless the patient opts in.
  • A hospital-network host holding a source key can send false events within its allowed types and sites until the key is revoked; IP allowlists and monitoring limit this.

Dernière mise à jour le

Cette page vous a-t-elle été utile?

Sur cette page