A consent surface where the owner writes the rules. A policy engine that enforces them at request time, per field. A signed log both sides can read. Nothing else sits between your agents and your records.
Grants are scoped to a field, a purpose, and a duration — written in language the person granting them can read. Allowing once grants access for this task only.
In scope, in purpose. The value crosses.
Structure needed, content not granted. A substitute crosses.
Out of scope. Nothing crosses. This is normal operation.
Every read an agent attempts is adjudicated against the active grants before any data moves. Three outcomes: passed, masked — value substituted — or blocked.
The engine sits in the request path, not beside it. There is no route to the record that skips the boundary.
Each adjudication writes one line: time, agent, field, decision, signature. The chain is append-only and verifiable — a fact, not a claim.
| Time (UTC) | Agent | Field | Decision | Signature |
|---|---|---|---|---|
| 2026-07-30 09:14:03 | tumor-board-prep | patient/641/staging.tnm | passed | sig:2c8e…91 |
| 2026-07-30 09:14:03 | tumor-board-prep | patient/641/pathology.report | passed | sig:77b0…d3 |
| 2026-07-30 09:14:04 | tumor-board-prep | patient/641/insurance.plan | blocked | policy:min-necessary |
| 2026-07-30 09:14:07 | registry | patient/641/diagnosis.code | masked | sig:a1f4…08 |
| 2026-07-30 09:14:09 | audit-export | log/2026-07/chain | attested | sig:e93d…5c |
OpaqAI deploys next to your existing FHIR infrastructure and mediates agent access to it. Your records stay in your systems.
Field paths map to FHIR resources and elements. If your data speaks FHIR, the boundary already understands it.
Agents are registered by name and hold no credentials to the record store. They ask; the boundary answers.
Operationalize HIPAA standards via field-and-purpose grants. The log is the evidence that the policy held.