TwinEthos homeAPI access

Law

Maryland HB 820 (2025 Md. Laws ch. 747; Ins. 15-10B-05.1, 15-10A-06)

Maryland Insurance Administration (Insurance Commissioner) · Maryland (US-MD) · 6 provisions encoded · verified against the official source as of 2026-10-03.

Informational data, not legal advice. Summaries and rules have not been reviewed by a lawyer: always verify official law text for decisions. A suggested guard is intended to address each rule; adding it is not a statement of compliance to that law.

Official text: mgaleg.maryland.gov.

Trust and provenance 5 official sources · last verified 3 Oct 2026 · not reviewed by a lawyer · 6 of 6 provisions audit-grade · release 2026.10.03.4

Where this instrument's data comes from, how current it is, and what has and has not been checked. Each provision below has its own panel.

Official sources
Lanes
Binding law — in force 6
Verification
Sources last verified 3 Oct 2026; each provision states how.
Data release
Data release 2026.10.03.4, data as of 3 Oct 2026, schema 0.3.9.
Legal review
None of the 6 provisions has been reviewed by a lawyer; no TwinEthos rule has been legally reviewed yet. Treat each as research to check against the official text; it is not legal advice. Open questions for counsel on them: 7.
Audit standard
6 of 6 provisions audit-grade. The audit standard is TwinEthos's own quality bar for provenance, dates, applicability, detectors, fixtures, remediation and licences; it is not a legal review.
Detectors
7 detectors, all experimental: written from the rule's text and not yet measured for precision on real code, so treat a hit as a lead to verify. Each provision lists its detectors' known limits.
Changes
  • 2026.10.03.4 (3 Oct 2026): 6 provisions added

Each data release records which provisions changed; the full list is on Changes.

Binding law — in force

AI utilization-review determinations must rest on the enrollee's own clinical history and circumstances, not solely a group dataset (Maryland HB 820)

Md. Code, Ins. 15-10B-05.1(c)(1) · official text · In force: applies since 1 Oct 2025 · Maryland (US-MD)

From 2025-10-01, an entity subject to Ins. 15-10B-05.1 must ensure that the artificial intelligence, algorithm or other software tool bases its determinations on the enrollee's medical or other clinical history, individual clinical circumstances as presented by a requesting provider, or other relevant clinical information in the enrollee's record ((c)(1)), and does not base its determinations solely on a group dataset ((c)(2)). Detect utilization-review model calls built without the member's clinical record or the provider's submission.

Trust and provenance not reviewed by a lawyer · audit-grade · source verified 3 Oct 2026 · release 2026.10.03.4
Lane
Binding law — in force In force: applies since 1 Oct 2025
Official source
Md. Code, Ins. 15-10B-05.1(c)(1) · captured 3 Oct 2026 · anchor hash (SHA-256) 1b212d59cb09… · 8 more anchors in the data release
Verification
Quoted text found word for word in the captured official document (3 Oct 2026). Source last verified 3 Oct 2026: checked against the captured official document.
Data release
Data release 2026.10.03.4, data as of 3 Oct 2026, schema 0.3.9.
Legal review
Not reviewed by a lawyer. TwinEthos derived this rule from the official text it cites: treat it as research to check against that text; it is not legal advice. No TwinEthos rule has been legally reviewed yet. Open questions for counsel on this rule: 1.
Audit standard
Audit-grade: meets all 10 checks of the TwinEthos audit standard that apply to it. The audit standard is TwinEthos's own quality bar for provenance, dates, applicability, detectors, fixtures, remediation and licences; it is not a legal review.
Detectors

1 detector (code pattern), experimental: written from the rule's text and not yet measured for precision on real code, so treat a hit as a lead to verify.

Known limits:

  • Prompt builders imported from another module
  • Feature stores whose columns are not named in the code
  • The clinical record may be assembled in a helper module and passed in under a generic name; trace the prompt or feature builder before reporting.

Who it applies to

  • Duty falls on: insurer, organization
  • Sectors: insurance, healthcare
  • Carriers (insurers, nonprofit health service plans, HMOs, dental plan organizations and other persons providing State-regulated health benefit plans) that use, or contract with or work through an entity that uses, an artificial intelligence, algorithm or other software tool for utilization review, and pharmacy benefits managers and private review agents that contract with a carrier to provide utilization review and use such a tool, for Maryland enrollees. In force 2025-10-01.
  • Whether it applies depends on facts outside the code; a person has to decide.

The guard to add

Build each automated medical-necessity determination from the enrollee's own clinical record and the provider's submission, and refuse to decide on group statistics alone.

In the prompt builder or feature pipeline for each medical-necessity or coverage determination, load the enrollee's clinical history and the requesting provider's clinical documentation for this request (the attached notes, the FHIR Condition, Observation and DocumentReference resources for the member, the provider's letter of medical necessity) and pass the fields the decision needs; group or population data (a diagnosis code's typical length of stay, a cohort's approval rate, a regional benchmark) may be context but never the only input. A guard before the model or rules call raises an error, or routes the case to clinical review, when the individual clinical inputs are empty, and the inputs used are saved with the result so a reviewer or regulator can see what the determination rested on.

Where it goes: 1 application source code, 2 data models, 7 prompt construction, 9 AI output handling.

Example (Python + Anthropic SDK), before:

features = {'cpt': req.cpt, 'icd10': req.icd10, 'cohort_approval_rate': cohort_stats(req.icd10)}
reply = client.messages.create(model=MODEL, max_tokens=400,
    messages=[{'role': 'user', 'content': f'Prior authorization request: {features}'}])

After:

record = member_clinical_record(req.member_id, fields=PA_CLINICAL_FIELDS)   # history, conditions, meds
submission = provider_clinical_submission(req.id)                            # notes, letter of medical necessity
if not record or not submission:
    return review_queue.enqueue(req.id, reason='individual clinical information missing')
reply = client.messages.create(model=MODEL, max_tokens=400, messages=[{'role': 'user', 'content':
    render('pa_review.txt', request=req, clinical_history=record, provider_submission=submission)}])
determinations.save(req.id, inputs={'clinical_history': record.ids, 'submission': submission.ids})

Control: AI coverage or medical-necessity determination not based on the individual's own clinical information. The same guard addresses 3 items with binding law in 3 jurisdictions. Engineering guidance, not legal advice.

Related incidents

No guardrail sits on this exact control; these incidents are cited by guardrails on related controls.

Rule id md-hb820.individual-clinical-data-basis · review status: primary source derived

Binding law — in force

An AI, algorithm or other software tool may not deny, delay or modify care or replace the physician's role in adverse decisions (Maryland HB 820)

Md. Code, Ins. 15-10B-05.1(d) · official text · In force: applies since 1 Oct 2025 · Maryland (US-MD)

From 2025-10-01, an artificial intelligence, algorithm or other software tool may not deny, delay or modify health care services (Ins. 15-10B-05.1(d)), and the entity must ensure that it does not replace the role of a health care provider in the determination process under 15-10B-07 ((c)(4)), under which all adverse decisions are made by a licensed physician, or a panel of health care service reviewers with at least one physician, board certified or eligible in the same specialty and knowledgeable about the service (dentists for dental services; 15-10B-07(a)), not compensated in a way that deters appropriate care ((b)); and that the tool does not directly or indirectly cause harm to an enrollee ((c)(11)). Detect automated output that sets a denial, delay or modification without a physician's decision.

Trust and provenance not reviewed by a lawyer · audit-grade · source verified 3 Oct 2026 · release 2026.10.03.4
Lane
Binding law — in force In force: applies since 1 Oct 2025
Official source
Md. Code, Ins. 15-10B-05.1(d) · captured 3 Oct 2026 · anchor hash (SHA-256) 37643df93f7a… · 12 more anchors in the data release
Verification
Quoted text found word for word in the captured official document (3 Oct 2026). Source last verified 3 Oct 2026: checked against the captured official document.
Data release
Data release 2026.10.03.4, data as of 3 Oct 2026, schema 0.3.9.
Legal review
Not reviewed by a lawyer. TwinEthos derived this rule from the official text it cites: treat it as research to check against that text; it is not legal advice. No TwinEthos rule has been legally reviewed yet. Open questions for counsel on this rule: 2.
Audit standard
Audit-grade: meets all 10 checks of the TwinEthos audit standard that apply to it. The audit standard is TwinEthos's own quality bar for provenance, dates, applicability, detectors, fixtures, remediation and licences; it is not a legal review.
Detectors

1 detector (code pattern), experimental: written from the rule's text and not yet measured for precision on real code, so treat a hit as a lead to verify.

Known limits:

  • Review routing in a separate workflow service or BPM engine
  • Denials applied by a downstream claims system from an exported score
  • The clinical review may live in another module (a workflow engine or a separate review service); confirm the adverse status cannot be reached without it before reporting. Clinician tokens anywhere in the file suppress t…

Who it applies to

  • Duty falls on: insurer, organization
  • Sectors: insurance, healthcare
  • Carriers (insurers, nonprofit health service plans, HMOs, dental plan organizations and other persons providing State-regulated health benefit plans) that use, or contract with or work through an entity that uses, an artificial intelligence, algorithm or other software tool for utilization review, and pharmacy benefits managers and private review agents that contract with a carrier to provide utilization review and use such a tool, for Maryland enrollees. In force 2025-10-01.
  • Whether it applies depends on facts outside the code; a person has to decide.

The guard to add

Route every adverse outcome an AI or algorithm proposes in utilization review to a qualified clinical reviewer, and issue a denial only from that reviewer's recorded decision.

At the point where a model, rules engine or scoring tool returns its result for a prior-authorization, concurrent or retrospective review, the code may auto-approve (where the law allows) or route the case, but any result that would deny, delay, modify or downgrade the request is written as a pending clinical review (status 'pending_clinical_review', a review_queue entry with the tool's output attached as a recommendation), never as the determination. Only a review action by an authenticated reviewer whose role is physician, clinical peer or qualified reviewer, in the same or a similar specialty where the law requires, can set an adverse status; that action records reviewer_id, licence and specialty, the clinical documents opened, the decision and its clinical rationale, and the timestamp, and the adverse-determination notice is generated from it (with the reviewer's signature or attestation where the law requires). Where a law forbids the automated system from making an adverse determination even in part (Texas), the tool's output may only approve, route or support administrative and fraud-detection work; it is not shown to the reviewer as a proposed denial.

Where it goes: 1 application source code, 2 data models, 9 AI output handling, 14 user-facing text.

What this provision adds:

  • Adverse decisions are made by a licensed physician, or a panel with at least one physician, board certified or eligible in the same specialty as the treatment under review (a licensed dentist for dental services).

Example (Python + OpenAI SDK (prior-authorization service)), before:

result = client.chat.completions.create(model=MODEL, messages=build_pa_prompt(request)).choices[0].message.content
if json.loads(result)['decision'] == 'deny':
    prior_auth.update(request.id, status='denied')
    send_denial_letter(request)

After:

result = json.loads(client.chat.completions.create(
    model=MODEL, messages=build_pa_prompt(request, record=member_clinical_record(request))).choices[0].message.content)
if result['decision'] == 'approve' and AUTO_APPROVE_ALLOWED:
    prior_auth.update(request.id, status='approved', ai_assisted=True)
else:                                   # any non-approval goes to a clinician
    review_queue.enqueue(request.id, queue='pending_clinical_review',
                         specialty=request.specialty, ai_recommendation=result)

@app.post('/reviews/{case_id}/decision')
def record_clinical_decision(case_id: str, body: Decision, reviewer=Depends(licensed_clinical_reviewer)):
    decision = clinical_decisions.create(case_id=case_id, reviewer_id=reviewer.id, licence=reviewer.licence,
                                         specialty=reviewer.specialty, documents_reviewed=body.documents,
                                         outcome=body.outcome, rationale=body.rationale)
    if body.outcome in ('denied', 'downgraded'):
        send_adverse_determination(case_id, decision=decision, signed_by=reviewer)

Control: AI or algorithm denies, delays or downgrades care in utilization review without a licensed clinical reviewer deciding. The same guard addresses 9 items with binding law in 8 jurisdictions. Engineering guidance, not legal advice.

Related incidents

No guardrail sits on this exact control; these incidents are cited by guardrails on related controls.

Rule id md-hb820.no-ai-denial-provider-decides · review status: primary source derived

Binding law — in force

Patient data used by AI in utilization review may not be used beyond its intended and stated purpose (Maryland HB 820)

Md. Code, Ins. 15-10B-05.1(c)(10) · official text · In force: applies since 1 Oct 2025 · Maryland (US-MD)

From 2025-10-01, the entity must ensure that patient data is not used beyond its intended and stated purpose, consistent with HIPAA, as applicable (Ins. 15-10B-05.1(c)(10)). Detect utilization-review patient data flowing to model training or fine-tuning, marketing lists or product analytics.

Trust and provenance not reviewed by a lawyer · audit-grade · source verified 3 Oct 2026 · release 2026.10.03.4
Lane
Binding law — in force In force: applies since 1 Oct 2025
Official source
Md. Code, Ins. 15-10B-05.1(c)(10) · captured 3 Oct 2026 · anchor hash (SHA-256) 9222d915d21a… · 7 more anchors in the data release
Verification
Quoted text found word for word in the captured official document (3 Oct 2026). Source last verified 3 Oct 2026: checked against the captured official document.
Data release
Data release 2026.10.03.4, data as of 3 Oct 2026, schema 0.3.9.
Legal review
Not reviewed by a lawyer. TwinEthos derived this rule from the official text it cites: treat it as research to check against that text; it is not legal advice. No TwinEthos rule has been legally reviewed yet. Open questions for counsel on this rule: 1.
Audit standard
Audit-grade: meets all 10 checks of the TwinEthos audit standard that apply to it. The audit standard is TwinEthos's own quality bar for provenance, dates, applicability, detectors, fixtures, remediation and licences; it is not a legal review.
Detectors

1 detector (code pattern), experimental: written from the rule's text and not yet measured for precision on real code, so treat a hit as a lead to verify.

Known limits:

  • Exports run from notebooks or warehouse jobs outside the repository
  • A training export may be lawful where the stated purpose and HIPAA permit it (for example quality improvement under a business associate agreement); check the documented purpose before reporting.

Who it applies to

  • Duty falls on: insurer, organization
  • Sectors: insurance, healthcare
  • Carriers (insurers, nonprofit health service plans, HMOs, dental plan organizations and other persons providing State-regulated health benefit plans) that use, or contract with or work through an entity that uses, an artificial intelligence, algorithm or other software tool for utilization review, and pharmacy benefits managers and private review agents that contract with a carrier to provide utilization review and use such a tool, for Maryland enrollees. In force 2025-10-01.
  • Whether it applies depends on facts outside the code; a person has to decide.

The guard to add

Send identifiable health data only to AI endpoints registered with a signed BAA or processing agreement and retention and training off; otherwise de-identify first.

A single client factory for model, embedding and transcription calls that handle health information: it looks the endpoint up in a vendor register and refuses to return a client unless the register shows the required contract (business associate agreement, or a processing agreement barring further disclosure) and the endpoint is the covered deployment with data retention and training use turned off. Call sites that cannot meet that de-identify or redact the record before building the prompt, or check a recorded patient authorization for that use. Keep the vendor register in the repository so reviewers can match each AI endpoint to its legal basis, and never route health data into marketing or other non-care generation.

Where it goes: 6 API calls and integrations, 3 config and feature flags, 7 prompt construction, 12 repository artifacts.

Example (Python + OpenAI SDK (Azure OpenAI)), before:

client = OpenAI()
resp = client.chat.completions.create(model='gpt-4o', messages=[
    {'role': 'user', 'content': f'Summarize: {patient.clinical_note}'}])

After:

VENDORS = load_yaml('vendors/ai_vendors.yaml')   # baa_signed, zero_data_retention per endpoint

def phi_client(name: str) -> tuple[AzureOpenAI, str]:
    v = VENDORS[name]
    if not (v['baa_signed'] and v['zero_data_retention']):
        raise PermissionError(f'{name} is not cleared for PHI')
    client = AzureOpenAI(azure_endpoint=v['endpoint'], api_key=os.environ['AZURE_OPENAI_KEY'],
                         api_version=v['api_version'])
    return client, v['deployment']

client, deployment = phi_client('azure-openai-hipaa')
resp = client.chat.completions.create(model=deployment, messages=[
    {'role': 'user', 'content': f'Summarize: {patient.clinical_note}'}])

Control: Health information sent to an external AI vendor without the contractual or legal basis the law requires. The same guard addresses 8 items with binding law in 7 jurisdictions. Engineering guidance, not legal advice.

Rule id md-hb820.patient-data-purpose-limit · review status: primary source derived

Binding law — in force

AI in utilization review must not unfairly discriminate, must be fairly applied, and must be reviewed and revised at least quarterly (Maryland HB 820)

Md. Code, Ins. 15-10B-05.1(c)(5) · official text · In force: applies since 1 Oct 2025 · Maryland (US-MD)

From 2025-10-01, the entity must ensure that the use of the artificial intelligence, algorithm or other software tool does not result in unfair discrimination (Ins. 15-10B-05.1(c)(5)), that it is fairly and equitably applied, including under applicable HHS regulations and guidance ((c)(6)), and that its performance, use and outcomes are reviewed and revised, if necessary and at least on a quarterly basis, to maximize accuracy and reliability ((c)(9)). Detect the absence of a quarterly accuracy, outcome and disparity review.

Trust and provenance not reviewed by a lawyer · audit-grade · source verified 3 Oct 2026 · release 2026.10.03.4
Lane
Binding law — in force In force: applies since 1 Oct 2025
Official source
Md. Code, Ins. 15-10B-05.1(c)(5) · captured 3 Oct 2026 · anchor hash (SHA-256) 69c679f9a78e… · 9 more anchors in the data release
Verification
Quoted text found word for word in the captured official document (3 Oct 2026). Source last verified 3 Oct 2026: checked against the captured official document.
Data release
Data release 2026.10.03.4, data as of 3 Oct 2026, schema 0.3.9.
Legal review
Not reviewed by a lawyer. TwinEthos derived this rule from the official text it cites: treat it as research to check against that text; it is not legal advice. No TwinEthos rule has been legally reviewed yet. Open questions for counsel on this rule: 1.
Audit standard
Audit-grade: meets all 10 checks of the TwinEthos audit standard that apply to it. The audit standard is TwinEthos's own quality bar for provenance, dates, applicability, detectors, fixtures, remediation and licences; it is not a legal review.
Detectors

1 detector (missing artifact), experimental: written from the rule's text and not yet measured for precision on real code, so treat a hit as a lead to verify.

Known limits:

  • Reviews kept in a governance system outside the repository

Who it applies to

  • Duty falls on: insurer, organization
  • Sectors: insurance, healthcare
  • Carriers (insurers, nonprofit health service plans, HMOs, dental plan organizations and other persons providing State-regulated health benefit plans) that use, or contract with or work through an entity that uses, an artificial intelligence, algorithm or other software tool for utilization review, and pharmacy benefits managers and private review agents that contract with a carrier to provide utilization review and use such a tool, for Maryland enrollees. In force 2025-10-01.
  • Whether it applies depends on facts outside the code; a person has to decide.

The guard to add

Compute per-group accuracy and bias metrics in the training pipeline of every consequential-decision model, keep the results per version, and rerun them on a schedule.

A validation stage that runs whenever a decision model is trained, fine-tuned, or retrained (the same module or pipeline step as fit(), Trainer, xgb.train, or fine_tuning.jobs.create) and again on a recurring schedule against recent decisions: accuracy and error rates per group, selection rates and disparity metrics (fairlearn MetricFrame, demographic_parity_difference, AIF360 disparate impact), and drift. Results go to a versioned validation report alongside a datasheet or data card for the training data, and a threshold gate blocks promotion of a model version whose metrics regress until a named owner reviews and records a decision. The validation cadence and owner are written in the model's validation record.

Where it goes: 1 application source code, 11 CI/CD pipeline, 12 repository artifacts, 13 tests and evals.

What this provision adds:

  • Review and, if necessary, revise the tool's performance, use and outcomes at least every quarter.

Example (scikit-learn + fairlearn), before:

clf = LogisticRegression(max_iter=1000).fit(X_train, y_train)
joblib.dump(clf, 'models/credit_v4.joblib')

After:

from fairlearn.metrics import MetricFrame, selection_rate, demographic_parity_difference
from sklearn.metrics import accuracy_score

clf = LogisticRegression(max_iter=1000).fit(X_train, y_train)
y_pred = clf.predict(X_test)
mf = MetricFrame(metrics={'accuracy': accuracy_score, 'selection_rate': selection_rate},
                 y_true=y_test, y_pred=y_pred, sensitive_features=A_test)
dpd = demographic_parity_difference(y_test, y_pred, sensitive_features=A_test)
write_validation_report('credit_v4', mf.by_group, dpd)
if dpd > MAX_DPD:
    raise SystemExit('bias gate failed: owner review required before release')
joblib.dump(clf, 'models/credit_v4.joblib')

Control: AI decision system without regular accuracy/bias validation. The same guard addresses 8 items with binding law in 5 jurisdictions. Engineering guidance, not legal advice.

Standards that recommend the same control

Related incidents

No guardrail sits on this exact control; these incidents are cited by guardrails on related controls.

Rule id md-hb820.quarterly-accuracy-and-fairness-review · review status: primary source derived

Binding law — in force

Carriers' quarterly reports must state whether an AI, algorithm or other software tool was used in making each adverse decision (Maryland HB 820)

Md. Code, Ins. 15-10A-06(a)(1) · official text · In force: applies since 1 Oct 2025 · Maryland (US-MD)

From 2025-10-01, each carrier's quarterly report to the Commissioner (on the Commissioner's form, aggregated by zip code as required) must describe the number of adverse decisions it issued under 15-10A-02(f), whether each involved a prior authorization or step therapy protocol, the type of service, and whether an artificial intelligence, algorithm or other software tool was used in making the adverse decision (Ins. 15-10A-06(a)(1)(iii)6, as added by Chapter 747). Detect adverse decisions recorded from a model or scoring call with no field recording AI use, and no quarterly report job.

Trust and provenance not reviewed by a lawyer · audit-grade · source verified 3 Oct 2026 · release 2026.10.03.4
Lane
Binding law — in force In force: applies since 1 Oct 2025
Official source
Md. Code, Ins. 15-10A-06(a)(1) · captured 3 Oct 2026 · anchor hash (SHA-256) 39e35992d673… · 3 more anchors in the data release
Verification
Quoted text found word for word in the captured official document (3 Oct 2026). Source last verified 3 Oct 2026: checked against the captured official document.
Data release
Data release 2026.10.03.4, data as of 3 Oct 2026, schema 0.3.9.
Legal review
Not reviewed by a lawyer. TwinEthos derived this rule from the official text it cites: treat it as research to check against that text; it is not legal advice. No TwinEthos rule has been legally reviewed yet. Open questions for counsel on this rule: 1.
Audit standard
Audit-grade: meets all 10 checks of the TwinEthos audit standard that apply to it. The audit standard is TwinEthos's own quality bar for provenance, dates, applicability, detectors, fixtures, remediation and licences; it is not a legal review.
Detectors

2 detectors (code pattern, missing artifact), experimental: written from the rule's text and not yet measured for precision on real code, so treat a hit as a lead to verify.

Known limits:

  • Decision records written by a downstream claims system
  • The flag may be added by a shared persistence layer; check the decision table's schema before reporting.
  • Reports produced from a data warehouse outside the repository

Who it applies to

  • Duty falls on: insurer
  • Sectors: insurance, healthcare
  • Each carrier subject to subtitle 10A of the Insurance Article (internal grievance process) that issues adverse decisions for Maryland members; the quarterly report states, for adverse decisions issued under 15-10A-02(f), whether an artificial intelligence, algorithm or other software tool was used. In force 2025-10-01.
  • Whether it applies depends on facts outside the code; a person has to decide.

The guard to add

Write a structured event record for every inference and decision of the high-risk system (when, model version, input reference, output, operator) to a log store with explicit retention.

An audit event emitted automatically by the service at the decision boundary, where model output becomes a status change, score, or response, rather than left to callers: decision_id, timestamp, model and resolved model_version, an input reference (a pointer rather than raw personal data where possible), the output, the operator or user identity, and any human verification. Events go to a central store (CloudWatch Logs, Log Analytics, Cloud Logging, Loki) whose retention is set explicitly in IaC, not left to a console default, and monitoring queries over those events flag risk situations and drift.

Where it goes: 1 application source code, 4 infrastructure-as-code, 10 logs and telemetry.

What this provision adds:

  • Record on every adverse decision whether an artificial intelligence, algorithm or other software tool was used, so the quarterly report can count them.

Example (Python + OpenAI SDK + structlog), before:

def decide(app):
    resp = client.chat.completions.create(model=MODEL, messages=eligibility_prompt(app))
    applications.set_status(app.id, parse_decision(resp))

After:

log = structlog.get_logger()   # TimeStamper processor adds the timestamp

def decide(app):
    decision_id = str(uuid.uuid4())
    resp = client.chat.completions.create(model=MODEL, messages=eligibility_prompt(app))
    status = parse_decision(resp)
    log.info('ai_decision', decision_id=decision_id, model=resp.model,
             input_ref=f'applications/{app.id}', output=status, operator=current_operator())
    applications.set_status(app.id, status, decision_id=decision_id)

Control: High-risk AI system without automatic event logging (traceability). The same guard addresses 4 items with binding law in 4 jurisdictions. Engineering guidance, not legal advice.

Related incidents

No guardrail sits on this exact control; these incidents are cited by guardrails on related controls.

Rule id md-hb820.quarterly-report-ai-use-in-adverse-decisions · review status: primary source derived

Binding law — in force

The utilization plan must describe the AI tool's use and oversight, and the tool must be open to inspection (Maryland HB 820)

Md. Code, Ins. 15-10B-05.1(c)(8) · official text · In force: applies since 1 Oct 2025 · Maryland (US-MD)

From 2025-10-01, the entity must ensure that written policies and procedures, including how the artificial intelligence, algorithm or other software tool will be used and what oversight will be provided, are included in the utilization plan submitted under 15-10B-05 (Ins. 15-10B-05.1(c)(8)), that the criteria and guidelines for using the tool comply with the title ((c)(3)), and that the tool is open to inspection for audit or compliance reviews by the Commissioner ((c)(7)). Detect the absence of an AI-use and oversight policy in the utilization plan and an inspection record.

Trust and provenance not reviewed by a lawyer · audit-grade · source verified 3 Oct 2026 · release 2026.10.03.4
Lane
Binding law — in force In force: applies since 1 Oct 2025
Official source
Md. Code, Ins. 15-10B-05.1(c)(8) · captured 3 Oct 2026 · anchor hash (SHA-256) 633478654ca5… · 9 more anchors in the data release
Verification
Quoted text found word for word in the captured official document (3 Oct 2026). Source last verified 3 Oct 2026: checked against the captured official document.
Data release
Data release 2026.10.03.4, data as of 3 Oct 2026, schema 0.3.9.
Legal review
Not reviewed by a lawyer. TwinEthos derived this rule from the official text it cites: treat it as research to check against that text; it is not legal advice. No TwinEthos rule has been legally reviewed yet. Open questions for counsel on this rule: 1.
Audit standard
Audit-grade: meets all 10 checks of the TwinEthos audit standard that apply to it. The audit standard is TwinEthos's own quality bar for provenance, dates, applicability, detectors, fixtures, remediation and licences; it is not a legal review.
Detectors

1 detector (missing artifact), experimental: written from the rule's text and not yet measured for precision on real code, so treat a hit as a lead to verify.

Known limits:

  • Policies held in a compliance system outside the repository

Who it applies to

  • Duty falls on: insurer, organization
  • Sectors: insurance, healthcare
  • Carriers (insurers, nonprofit health service plans, HMOs, dental plan organizations and other persons providing State-regulated health benefit plans) that use, or contract with or work through an entity that uses, an artificial intelligence, algorithm or other software tool for utilization review, and pharmacy benefits managers and private review agents that contract with a carrier to provide utilization review and use such a tool, for Maryland enrollees. In force 2025-10-01.
  • Whether it applies depends on facts outside the code; a person has to decide.

The guard to add

Notify consumers when AI makes or supports their underwriting, rating, or claims decision, and list that model in the insurer's written AIS Program.

In the code path that calls a model for underwriting, rating, premium quoting, or claims decisions, send or render a consumer notice that AI systems are used (in the quote flow, claim acknowledgement, or decision letter) and record that it was delivered. The model is an entry in the insurer's written AIS Program, covering governance, risk-management controls, internal audit, lifecycle management, third-party systems, and an accountable leader, with an owner; keep the inventory entry or a pointer to it in the repository so each decision path is traceable to its program record.

Where it goes: 9 AI output handling, 14 user-facing text, 12 repository artifacts.

Example (Python + OpenAI SDK), before:

resp = client.chat.completions.create(model=MODEL, messages=claim_msgs)
claim_decision = parse_decision(resp.choices[0].message.content)
claims.update(claim_id, status=claim_decision)

After:

AI_USE_NOTICE = ('An AI system helped evaluate your claim. '
                 'You can ask us how it was used and request review by a claims adjuster.')
resp = client.chat.completions.create(model=MODEL, messages=claim_msgs)
claim_decision = parse_decision(resp.choices[0].message.content)
claims.update(claim_id, status=claim_decision, ais_program_ref='AIS-012')
send_ai_notice(claimant, text=AI_USE_NOTICE)

Control: Insurer AI decision system without a written AIS Program / consumer notice. The same guard addresses 5 items with binding law in 4 jurisdictions. Engineering guidance, not legal advice.

Standards that recommend the same control

Rule id md-hb820.utilization-plan-ai-policies-and-inspection · review status: primary source derived

Informational data, not legal advice. Summaries are TwinEthos's own words and rules have not been reviewed by a lawyer: check the official text before relying on any of it. A guard addresses an item; adding it is not a statement that your code meets any law.