Skip to content

Audit logging

What EDFlow records in its audit log, the record format, append-only storage with a daily hash chain, proactive monitoring rules, per-patient access reports and SIEM export.

Audit log: every access and change with who, what, when and from where, with filters and export.
WebCaptured from build 7c7f41f on September 27, 2026

Coverage

GroupRecorded
Patient and family accessSessions created and ended, rejected tokens, failed sign-ins, rate limits, identity confirmed or mismatched, device approvals, family links created, opened and revoked
Staff authenticationSign-ins and failures, lockouts, MFA enrolment and resets, password changes, SSO rejections, session revocations
Staff access to patient dataBoard views (per session every 15 minutes), each patient opened with its tab, unmasks with reasons, card issuing and pairing approvals, payload reveals, exports
State changesEvery manual action, overrides, result holds and releases, care-team changes, tasks, request actions, call-backs, summary publication, privacy flags, updates pauses
DepartmentCodes, delay notices, volume changes, imaging service status
AdministrationSettings changes with before and after values, invites and roles, approvals, stations, content status, announcements, access reviews, training mode
Integration and APISources and keys, apps, credentials, scopes, write-back, disclosures to each integration
Privacy and platformAudit views and exports, retention runs, legal holds, incidents, emergency revokes, support access, simulator and seed actions
AISafety conversations opened, automatic alerts, governance gates, the kill switch

The record

Time, site, actor type (patient, family, staff, station, system, integration, platform), actor, membership and roles, action, subject, visit, outcome (success, denied, error), reason, details, device class and any support-access id. Never names, tokens, phone numbers, emails, message bodies or free text. Denied authorization attempts inside writes are logged with denied.

Integrity

The audit table is append-only: nothing updates or deletes rows except the retention job after the audit period. Each night the previous day's rows are hashed in order and chained with the prior day's digest; exports include the digests so tampering can be detected. Integration request logs are sealed into the same chain and archived with S3 Object Lock.

Monitoring

Rules raise alerts to the privacy office, for example: more than 30 patients opened by one user in an hour; a confidential visit opened by someone off its care team; more than 3 unmasks in 12 hours; failed sign-ins against one visit; support access started; a privileged role granted; a trust anchor changed; an integration reading far more visits than usual. See Privacy officers.

Access reports and export

  • Per-patient access report: every access to one visit, including each integration that received its data, as CSV or PDF.
  • SIEM: on-request export as CSV or NDJSON, with scheduled delivery to a hospital HTTPS endpoint or bucket in a later release. A site can't take live integration traffic unless the SIEM export or the sealed archive is active.

Audit exports need a second privacy officer's approval and are themselves audited.

Retention

2 years by default (site range 2 to 10), deleted with their digests.

Last updated on

Was this page helpful?

On this page