NHID-Clinical is an open reference implementation and proposed control model for receiver-side governance of inbound healthcare AI agents.
It governs the identity disclosure, authorization, and auditability of AI-operated interactions across organizational boundaries β not the AI model itself.
Built from direct payer operations experience β the impersonation latency problem, seen firsthand on live eligibility, claims, and prior-authorization lines.
Not a standard. Not a certification. Not a product. An open, testable reference for the ecosystem.
Website Β· Simulator Β· Specification Β· v2 Identity Β· Discussions
The NIST badge links to a public comment submitted to a NIST RFI docket β not a NIST endorsement, adoption, or certification.
Designed to support the transparency obligations described in EU AI Act Article 50; mapped to NIST AI RMF 1.0.
NHID-Clinical targets one specific failure: an AI voice agent begins operating and requesting sensitive information before the receiving party can verify it is non-human and properly authorized. That window is impersonation latency β and in payerβprovider calls it routinely covers member IDs, NPIs, dates of birth, and claim data. It delivers five concrete, testable controls, a per-call Call Authorization Score (CAS), and an optional cryptographic layer (NHID-Auth v2) for proving delegated authority. It does not address fairness, clinical safety, or model quality β those stay separate by design.
Who it's for: security reviewers Β· healthcare compliance teams Β· AI voice vendors Β· payer / provider pilot teams.
Pick your path β each is runnable today:
π Reviewers & security teams β read the boundaries, then run the tests.
- Skim what it is / is not and the claim boundaries
pip install -r requirements.txt && python -m pytest tests/ -vβ 343 passing- Inspect the five controls in
src/nhid_policy_engine_v1.pyand the Enforcement Profile - Read the Conformance Test Suite β each case asserts an expected policy action
π AI voice vendors β see the controls fire, then find your integration points.
- Run the Governance Simulator
- Send a native call payload to a demo adapter β no key required (see Live API)
- Map your call flow to the controls via the Developer guide
π₯ Payers & providers β review the controls, then scope a shadow pilot.
- Read the controls and the For Payers framing
- Pick one workflow (eligibility, claim status, prior auth)
- Run the Tier 0 Shadow Pilot Kit on your own logs β observe-only, 2β4 weeks
Is β an operational AI-governance framework with two layers:
- a governance / accountability layer β AI-caller disclosure (IDG-01, DBC-01), no-data-before-disclosure sequencing (PDX-01), human escalation (EIT-01), and machine-readable audit (ATR-01), evaluated by a deterministic conformance test suite; and
- a non-human-actor identity and delegated-authorization layer β NHID-Auth v2: NPI-anchored, scoped, revocable delegation with per-call binding (reference design).
Is not β it does not govern the AI model (accuracy, bias, drift, clinical safety, output quality β out of scope by design). It is not a universal AI-identity system, an autonomous-agent framework, an accredited standard, or a certification.
See docs/positioning.md for the full category thesis, docs/terminology.md for controlled vocabulary, and docs/claim-boundaries.md for what may and may not be claimed.
NHID-Clinical sits beside the healthcare and identity stack; it replaces none of it:
- FHIR / SMART on FHIR β audit substrate. NHID-Clinical emits FHIR R4
AuditEvent; FHIR carries the data, NHID-Clinical governs the AI actor exchanging or requesting it. - OAuth 2.x / OIDC β transport/client authorization ("may this client call this API"); NHID-Auth authorizes the specific interaction ("was this call delegated, in this scope"). Two separate checks; neither substitutes for the other.
- IAM platforms β govern actors you provision; NHID-Clinical governs a counterparty's agent you never provisioned, arriving with no login step.
- AI governance frameworks (NIST AI RMF, ISO/IEC 42001) β meta-frameworks NHID-Clinical maps to as evidence targets, not competitors.
NHID-Clinical evaluates declared identity, authorization context, and interaction policy; it does not replace an underlying identity provider or cryptographic identity infrastructure.
Healthcare differentiation β three load-bearing design choices: NPI-anchored delegation (the provider's NPI is the delegation trust root), FHIR-compatible audit evidence, and a risk model validated against payerβprovider operational workflows.
The governance gap is well documented; large-scale production evidence is still limited. The strongest next step for most organizations is a focused shadow pilot on their own traffic β the Tier 0 Shadow Pilot Kit makes that a 2β4 week exercise.
For a one-page overview aimed at hospital, payer, compliance, and procurement leaders, see the Executive Brief.
Standards alignment (mapped, not certified): Explicitly supports EU AI Act Article 50 transparency obligations for AI systems interacting with humans. Mapped to NIST AI RMF 1.0 Map and Measure functions for identity disclosure and risk. Aligns with ISO/IEC 42001 Annex A controls on system transparency and auditability.
Clean vector visualization of the trust verification pathway β conceptual, not a product diagram.
An honest maturity snapshot. NHID-Clinical is a working reference implementation, not a production-scale product.
Available today
- Deterministic policy engine with 343 passing tests
- Live v1.3 conformance API β demo and vendor routes need no key; VAPI and Twilio adapters accept native call payloads
- Tier 0 Shadow Pilot Kit β measure impersonation latency on your own call logs in 2β4 weeks
- Conformance Test Suite and a per-call Call Authorization Score (CAS)
- Documented Enforcement Profile β how each control's
PolicyDecisionmaps to a receiver action (a documented layer over the five controls, not a sixth control) - NHID-Auth v2 cryptographic authorization layer, published as public reference code
In progress
- First shadow-evaluation partners (observe-only, no vendor changes)
- Raster brand assets and expanded interoperability adapters
Not yet
- Production-scale deployments
- A certification, accreditation, or standard
- Any regulatory endorsement
This is a voluntary framework β not an accredited standard, certification, or regulatory requirement.
| Control | Name | Requirement |
|---|---|---|
| IDG-01 | Identity Disclosure Gate | Disclose non-human identity before any PHI exchange |
| PDX-01 | Pre-Data Exchange Gate | No protected data until identity is disclosed |
| DBC-01 | Deceptive Behavior Check | No synthetic human-presence artifacts (e.g. fake breathing/hesitation) or explicit human-status claims |
| EIT-01 | Escalation Implementation Test | Clear human handoff path, honored on request |
Plus ATR-01 (audit trail) β every call must produce a machine-readable trace.
18-case CTS suite Β· same inputs β identical output Β· 343 Python tests passing (+ 66 TypeScript middleware tests)
Try the Governance Simulator β
The controls don't just detect β they emit a receiver action. Each call turn evaluates to a single PolicyDecision, and when several controls fire at once a fixed Enforcement Ladder selects the most-protective action for the receiving system to execute. This is documented behavior of the deterministic engine, not a sixth control β full spec in docs/enforcement-profile.md.
flowchart LR
C["Five controls<br/>IDG-01 Β· PDX-01 Β· DBC-01<br/>EIT-01 Β· ATR-01"] --> D["PolicyDecision<br/>evaluate_all()"]
D --> L["Enforcement Ladder<br/>DENY_DATA β ESCALATE_HUMAN β<br/>DISCLOSE_IDENTITY β LOG_ONLY β CONTINUE_AI"]
L --> A(["Receiver action"])
D --> E["Evidence<br/>ATR-01 Β· FHIR AuditEvent"]
D --> CAS["CAS<br/>downstream score"]
CAS -. low score routes to .-> HR(["Human review"])
classDef box fill:#0F172A,stroke:#14B8A6,stroke-width:2px,color:#F1F5F9
classDef acc fill:#064E3B,stroke:#10B981,stroke-width:2px,color:#D1FAE5
class C,D,L,E,CAS box
class A,HR acc
Precedence: DENY_DATA > ESCALATE_HUMAN > DISCLOSE_IDENTITY > LOG_ONLY > CONTINUE_AI. CAS may route a call to human review, but it never overrides the PolicyDecision.
| Layer | Standard | Role |
|---|---|---|
| 0 | NPI Gap | The problem β no cross-org NPI authorization for AI agents |
| 1 | STIR/SHAKEN (RFC 8224) | Carrier number authentication |
| 2 | NHID-Clinical v1.3 | Behavioral disclosure baseline β 4 controls + ATR-01 |
| 3 | NHID-Auth v2 | Cryptographic authorization β reference implementation live |
| 4 | FHIR AuditEvent R4 (base spec) | Healthcare-native audit logging |
| 5 | OpenTelemetry | Enterprise observability export |
Full technical architecture β
Without a baseline: disclosure after PHI moves, no audit trail. With v1.3: early disclosure, verification checkpoint, human escalation, sealed audit.
How the controls play out on a real call β the same sequence the CTS suite and live adapters evaluate.
flowchart TD
Start(["Call Starts"]) --> Disclosure{"IDG-01<br/>Identity disclosed<br/>before any PHI?"}
Disclosure -->|No| Deny["DENY_DATA<br/>IDG-01 + PDX-01"]
Deny --> Escalate{"EIT-01<br/>Human escalation<br/>requested?"}
Disclosure -->|Yes| PHI["PHI exchange allowed<br/>PDX-01 + DBC-01 checks"]
PHI --> HumanCheck{"EIT-01<br/>Human handoff<br/>requested?"}
HumanCheck -->|Yes| Escalate
HumanCheck -->|No| Complete(["Call Completes"])
Escalate -->|Honored| Handoff["Human handoff<br/>path available"]
Escalate -->|Not honored| FailEsc["EIT-01 Fail"]
Handoff --> Audit
FailEsc --> Audit
Complete --> Audit["ATR-01<br/>Machine-readable<br/>audit trail sealed"]
Audit --> End(["End of Call"])
classDef start fill:#0F172A,stroke:#14B8A6,stroke-width:2px,color:#F1F5F9
classDef decision fill:#1E2937,stroke:#67E8F9,stroke-width:2px,color:#F1F5F9
classDef deny fill:#7F1D1D,stroke:#EF4444,stroke-width:2px,color:#FEE2E2
classDef ok fill:#064E3B,stroke:#10B981,stroke-width:2px,color:#D1FAE5
classDef audit fill:#0F172A,stroke:#14B8A6,stroke-width:2px,color:#A5F3FC
class Start,End start
class Disclosure,Escalate,HumanCheck decision
class Deny,FailEsc deny
class PHI,Handoff,Complete ok
class Audit audit
No signup or API key required for demo and vendor adapter routes.
curl -s -X POST https://gfvq4swdtf.execute-api.us-east-1.amazonaws.com/prod/v1/adapters/vapi/check \
-H "Content-Type: application/json" \
-d @tests/demo_scenarios/vapi_noncompliant.json | python -m json.toolFull endpoint reference
| Endpoint | Auth | Purpose |
|---|---|---|
POST /v1/demo/check |
none | Raw NHID event β conformance result |
POST /v1/adapters/vapi/check |
none | Native VAPI payload β result |
POST /v1/adapters/twilio/check |
none | Native Twilio payload β result |
POST /v1/adapters/vonage/check |
none | Native Vonage payload β result |
POST /v1/adapters/retell/check |
none | Native Retell AI payload β result |
POST /v1/adapters/connect/check |
none | Amazon Connect β result |
POST /v1/webhooks/call-progress |
none | Turn-by-turn in-call evaluation |
GET /v1/public/vendor/{id}/badge |
none | Public CAS badge SVG |
POST /v1/cts/evaluate |
none | Run CTS YAML suite |
POST /v1/conformance/check |
x-api-key |
Production conformance check |
New here? 5-minute quickstart Β· v2 integration guide (Tier 0 β Tier 2)
git clone https://github.com/NHID-Clinical/NHID-Clinical.git
cd NHID-Clinical
pip install -r requirements.txt
python -m pytest tests/ -vExpected: 343 passing in ~1.4s (~18 skip without a running server). Live demos and full docs on nhid-clinical.org.
Repository structure
NHID-Clinical/
βββ schema/ # Event schema (JSON Schema Draft 2020-12)
βββ src/ # Policy engine + NHID-Auth v2 non-human-actor identity/delegation layer
βββ tests/ # CTS (YAML) + pytest harness + demo scenarios
βββ traces/ # 10 canonical failure traces
βββ adapters/ # VAPI, Twilio, Vonage, Retell, Amazon Connect
βββ functions/ # AWS Lambda handler
βββ docs/ # Quickstart, integration guides, knowledge archive
βββ specs/ # PDF artifacts (Overview, Core Spec, Blueprint)
Regulatory alignment (summary)
| Driver | Requirement | NHID-Clinical Control |
|---|---|---|
| CMS-0057-F | FHIR API, audit retention | FHIR AuditEvent + ATR-01 |
| MACPAC 2026 | AI transparency, human review | EIT-01 + ATR-01 |
| State AI laws | Auditable AI decisions | IDG-01 + DBC-01 |
| NIST CAISI RFI | Cross-org agent identity | NHID-Auth v2 |
| EU AI Act Art. 50 | Transparency for AI interacting with humans | IDG-01 + DBC-01 |
| ISO/IEC 42001 | AI management system transparency controls | Full control set + ATR-01 |
| NIST AI RMF 1.0 | Map & Measure functions for identity risk | Full framework + CAS |
v1.3 verifies disclosure behavior. v2 verifies authorization: Ed25519 agent passports, NPI binding, scoped delegation (max 3 hops), revocation, and call-SID nonce binding. Reference code in src/agent_identity.py.
python -m pytest tests/test_identity.py -v
python examples/issue_and_verify.py| Path | What's there |
|---|---|
*.html (root) |
The public website, served by GitHub Pages β index.html plus the section pages (about, specification, for-payers, and so on). |
nhid_*.py, app.py, main.py, llm.py (root) |
Reference implementation: the deterministic policy engine, conformance API, event store, and call handling. |
src/ |
Packaged Python modules used by the engine and tests (e.g. agent identity). |
adapters/ |
Vendor call-payload adapters (VAPI, Twilio). |
middleware/ |
TypeScript middleware and its test suite. |
tests/ |
The Python conformance and invariant tests (343 passing). |
scripts/ |
CI guards β validate_ci.py, check_baseline.py, check_number_drift.py β and tooling. |
schema/ |
Event and audit-trace schemas. |
docs/ |
Specification docs, the Executive Brief, the Tier 0 Shadow Pilot Kit, and the knowledge archive. |
assets/ |
Brand SVGs, diagrams, images, and site CSS. |
We are seeking the first shadow evaluation partners β 90 days, observe-only, no vendor changes required. Start small: the Tier 0 Shadow Pilot Kit produces usable impersonation-latency and CAS data from your own call logs in 2β4 weeks.
For Payers β Β· GitHub Discussions Β· contact@nhid-clinical.org
Brianna Baynard AI Governance & Security Researcher Β· AIGP Β· ISCΒ² CC Β· WGU Cybersecurity
Creator and project lead for NHID-Clinical. Background in healthcare payer operations, identity-verification workflows, and regulated-data environments. NHID-Clinical grew out of direct experience observing operational gaps in healthcare AI voice workflows, and is maintained as an open reference implementation for technical review β feedback and criticism are welcome.
LinkedIn Β· GitHub Β· Project website
