Checked and Proven, in plain words
Checked: after a write, Deedglass reads the record back through the server’s API and compares the fields. Proven: it also reads the database’s own change log, so it sees exactly what the transaction committed, including anything else it changed. Claimed is the tool’s own report, with no check.6
Approvals: who can approve, and what they see
Only a person can approve: in the Console, through their own one-use emailed link, or with a signed Slack click; one or two approvers per rule, one refusal is final, and an agent can never approve itself.3 An approval nobody decides expires after the time the rule sets (30 minutes by default, 1 minute to 7 days), and nothing runs.3 By default the person an agent acts for may decline but not approve its request; an owner can allow it, for example so a doctor approves the AI’s draft of their own order. Without PHI mode the approval page shows the request; with PHI mode on it shows field names and digests, so the approver reviews the values where the draft was made.23 Sign-in is by emailed link; there is no SSO or SCIM yet.16 A rule can name several people, and any one of them can approve; that is how a rota works today.17 Clinician approver groups and SSO are coming, with no date promised.2
FHIR connector (beta), with SMART sign-in
Puts a FHIR R4 server’s REST API behind Deedglass as one tool per interaction (read, vread, search, history, create, update, patch, delete) on the resource types you list; a call naming any other type is refused before anything is sent.4 It signs in with SMART Backend Services, tested so far against a local stand-in authorization server.4
Read-back checks (Checked)
Each write is read back at the version the server reported and the fields the agent sent are compared one by one, after dropping what the server adds on its own. A conditional create answered with an existing resource is Doesn’t match.4
Proven checks on HAPI FHIR and Medplum on Postgres
On HAPI FHIR JPA 8.x and Medplum 5.x running on Postgres, a write can be Proven: Deedglass reads the FHIR server’s own change log and checks that the transaction holding the version the server reported is what the agent sent, and nothing else.4 A write to the same resource by another client while the call is open is reported as out_of_band.4 Content is kept only as keyed digests of each field, so a difference names the field, never its value.4
The healthcare-fhir rules pack (free)
Denies deletes of clinical records (they are corrected with a new version), holds orders and medication changes, allergies, the problem list and final notes for a clinician’s approval, needs two different people for claims and other billing records, keeps coverage read-only and has every other write read back. No rule judges whether a clinical change is right.2 Break-glass use is an agent labelled for it, and its actions are recorded like any other.
PHI mode
Once an action is sealed and its checks are done, Deedglass keeps ids and digests of its request and result, not their content, and approval requests show argument names and digests from the start.23
AuditEvent and Provenance export
Records export as FHIR R4 AuditEvent, shaped to the IHE Basic Audit Log Patterns profiles, and Provenance, shaped to the HL7 AI Transparency on FHIR ballot’s AI Provenance profile, with ids and digests instead of clinical content.21
Health-tech apps on Postgres, any FHIR server through REST, MCP servers
Apps that keep data in their own Postgres get Proven checks and undo after a person countersigns.6 Any FHIR R4 server can also sit behind the REST connector with field read-backs.5 Existing MCP servers go behind your rules by tool name.
Self-hosted: one binary next to your own Postgres
It sends us nothing by default, so if you run it in India, your records and action history stay on your servers in India.9 Approvals (one or two per rule), one switch that stops every agent, and records anyone can check offline with your public key.9