From 545e2c4025010f461367849fdb0ceb3bc6a4a621 Mon Sep 17 00:00:00 2001 From: SirsiMaster <98624707+cyltoncollymore@users.noreply.github.com> Date: Sun, 14 Jun 2026 13:45:14 -0400 Subject: [PATCH 01/37] feat(corpus): source verified IL/MD/MN estate-planning statutory text (CR-10 item 3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Source the first obvious estate-planning forms for the launch states from OFFICIAL .gov legislature/revisor publishers ONLY, verbatim (Rule 9 — no fabrication, no paraphrase, no LLM in the text path). Each source captured via deterministic HTML-to-text extraction and sliced between explicit statute markers; per-chunk citations carried by the ingestion pipeline. Sourced (7 sources, 64 chunks, dry-run PASS): - IL 755 ILCS 5/4-3 — will signing & attestation (ilga.gov) - IL 755 ILCS 45/3-3 — short form POA for property (ilga.gov) - IL 755 ILCS 45/4-10 — short form POA for health care (ilga.gov) - MD Health-General § 5-603 — advance directive form (mgaleg.maryland.gov) - MN § 507.071 — transfer-on-death deed + form (revisor.mn.gov) - MN § 145C.05 — health care directive provisions (revisor.mn.gov) - MN § 145C.16 — health care directive suggested form (revisor.mn.gov) Gaps recorded (NOT invented): IL/MN have no single fill-in statutory will form; MD Est.&Trusts POA forms + US estate-tax/HIPAA excerpts deferred to next batch. manifest.md: Source Policy table updated with sourced-forms section, per-source citations, dry-run result, and the Rule 9 gap log. build_manifest.py + extract.py committed for reproducible re-capture. Refs: ADR-044 (Legal RAG Corpus), CR-10 (RAG ingestion / item 3 corpus sourcing) Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/legal-corpus/build_manifest.py | 161 +++++++++++++++++++++++++++ docs/legal-corpus/extract.py | 17 +++ docs/legal-corpus/launch-states.json | 81 ++++++++++++++ docs/legal-corpus/manifest.md | 38 ++++++- 4 files changed, 294 insertions(+), 3 deletions(-) create mode 100644 docs/legal-corpus/build_manifest.py create mode 100644 docs/legal-corpus/extract.py create mode 100644 docs/legal-corpus/launch-states.json diff --git a/docs/legal-corpus/build_manifest.py b/docs/legal-corpus/build_manifest.py new file mode 100644 index 0000000..8723e6d --- /dev/null +++ b/docs/legal-corpus/build_manifest.py @@ -0,0 +1,161 @@ +#!/usr/bin/env python3 +"""Deterministically assemble the CR-10 legal-corpus manifest from raw official +.gov HTML captures. NO LLM is in the text path (Rule 9): each `text` field is the +verbatim statute body, sliced between explicit markers from the official page. +""" +import re, html, json, sys + +def extract(path): + h = open(path, encoding='utf-8', errors='replace').read() + h = re.sub(r'(?is)', '', h) + h = re.sub(r'(?is)', '', h) + h = re.sub(r'(?i)', '\n', h) + h = re.sub(r'(?i)

', '\n\n', h) + h = re.sub(r'(?i)', '\n', h) + h = re.sub(r'(?i)', '\n', h) + t = re.sub(r'(?s)<[^>]+>', ' ', h) + t = html.unescape(t).replace('\xa0', ' ') + t = '\n'.join(re.sub(r'[ \t]+', ' ', ln).strip() for ln in t.split('\n')) + t = re.sub(r'\n{3,}', '\n\n', t).strip() + return t + +def slice_body(path, start_pred, end_pred=None, include_end=False): + """Return text from the first line satisfying start_pred to the line + satisfying end_pred (exclusive unless include_end).""" + lines = extract(path).split('\n') + si = next(i for i, l in enumerate(lines) if start_pred(l)) + if end_pred is None: + body = lines[si:] + else: + ei = next(i for i in range(si, len(lines)) if end_pred(lines[i])) + body = lines[si:ei + 1] if include_end else lines[si:ei] + out = '\n'.join(body) + out = re.sub(r'\n{3,}', '\n\n', out).strip() + return out + +VERIFIED = "2026-06-14T00:00:00Z" + +specs = [] + +# ---- Illinois (ilga.gov documents pages are pure statute, no chrome) ---- +def il_full(path): + return extract(path) + +specs.append(dict( + file='il-5-4-3.html', + id='il-755-ilcs-5-4-3', + jurisdiction='IL', + title='Illinois Probate Act — Will Signing and Attestation', + statuteReference='755 ILCS 5/4-3', + sourceUrl='https://www.ilga.gov/documents/legislation/ilcs/documents/075500050K4-3.htm', + publisher='Illinois General Assembly', + licenseNote='U.S. state statute — public domain (Illinois Compiled Statutes)', + text=il_full('il-5-4-3.html'), +)) +specs.append(dict( + file='il-45-3-3.html', + id='il-755-ilcs-45-3-3', + jurisdiction='IL', + title='Illinois Power of Attorney Act — Statutory Short Form Power of Attorney for Property', + statuteReference='755 ILCS 45/3-3', + sourceUrl='https://www.ilga.gov/documents/legislation/ilcs/documents/075500450K3-3.htm', + publisher='Illinois General Assembly', + licenseNote='U.S. state statute — public domain (Illinois Compiled Statutes)', + text=il_full('il-45-3-3.html'), +)) +specs.append(dict( + file='il-45-4-10.html', + id='il-755-ilcs-45-4-10', + jurisdiction='IL', + title='Illinois Power of Attorney Act — Statutory Short Form Power of Attorney for Health Care', + statuteReference='755 ILCS 45/4-10', + sourceUrl='https://www.ilga.gov/documents/legislation/ilcs/documents/075500450K4-10.htm', + publisher='Illinois General Assembly', + licenseNote='U.S. state statute — public domain (Illinois Compiled Statutes)', + text=il_full('il-45-4-10.html'), +)) + +# ---- Maryland (mgaleg page wraps statute in site chrome) ---- +md_body = slice_body( + 'md-5-603.html', + start_pred=lambda l: l.strip().startswith('§5'), + end_pred=lambda l: l.strip() == 'Previous Next', +) +specs.append(dict( + id='md-hg-5-603', + jurisdiction='MD', + title='Maryland Health-General — Advance Directive Statutory Form', + statuteReference='Md. Code, Health-General § 5-603', + sourceUrl='https://mgaleg.maryland.gov/mgawebsite/Laws/StatuteText?article=ghg§ion=5-603&enactments=false', + publisher='Maryland General Assembly (Department of Legislative Services)', + licenseNote='U.S. state statute — public domain (Annotated Code of Maryland)', + text=md_body, +)) + +# ---- Minnesota (revisor.mn.gov; body = heading .. History: inclusive) ---- +mn_507 = slice_body( + 'mn-507-071.html', + start_pred=lambda l: l.strip().startswith('507.071 TRANSFER ON DEATH DEEDS'), + end_pred=lambda l: l.strip().startswith('Official Publication of the State of Minnesota'), +) +specs.append(dict( + id='mn-507-071', + jurisdiction='MN', + title='Minnesota Statutes — Transfer on Death Deeds', + statuteReference='Minn. Stat. § 507.071', + sourceUrl='https://www.revisor.mn.gov/statutes/cite/507.071', + publisher='Minnesota Office of the Revisor of Statutes', + licenseNote='U.S. state statute — public domain (Minnesota Statutes)', + text=mn_507, +)) +mn_145c16 = slice_body( + 'mn-145c-16.html', + start_pred=lambda l: l.strip().startswith('145C.16 SUGGESTED FORM'), + end_pred=lambda l: l.strip().startswith('Official Publication of the State of Minnesota'), +) +specs.append(dict( + id='mn-145c-16', + jurisdiction='MN', + title='Minnesota Statutes — Health Care Directive Suggested Form', + statuteReference='Minn. Stat. § 145C.16', + sourceUrl='https://www.revisor.mn.gov/statutes/cite/145C.16', + publisher='Minnesota Office of the Revisor of Statutes', + licenseNote='U.S. state statute — public domain (Minnesota Statutes)', + text=mn_145c16, +)) +mn_145c05 = slice_body( + 'mn-145c-05.html', + start_pred=lambda l: l.strip().startswith('145C.05 SUGGESTED FORM'), + end_pred=lambda l: l.strip().startswith('Official Publication of the State of Minnesota'), +) +specs.append(dict( + id='mn-145c-05', + jurisdiction='MN', + title='Minnesota Statutes — Health Care Directive; Provisions That May Be Included', + statuteReference='Minn. Stat. § 145C.05', + sourceUrl='https://www.revisor.mn.gov/statutes/cite/145C.05', + publisher='Minnesota Office of the Revisor of Statutes', + licenseNote='U.S. state statute — public domain (Minnesota Statutes)', + text=mn_145c05, +)) + +sources = [] +for s in specs: + s.pop('file', None) + txt = s['text'] + assert txt and len(txt) > 200, f"{s['id']} text too short: {len(txt)}" + s['verifiedAt'] = VERIFIED + # order keys per schema + sources.append({ + 'id': s['id'], 'jurisdiction': s['jurisdiction'], 'title': s['title'], + 'statuteReference': s['statuteReference'], 'sourceUrl': s['sourceUrl'], + 'publisher': s['publisher'], 'licenseNote': s['licenseNote'], + 'verifiedAt': s['verifiedAt'], 'text': txt, + }) + +manifest = {'sources': sources} +out = json.dumps(manifest, indent=2, ensure_ascii=False) +open(sys.argv[1], 'w', encoding='utf-8').write(out + '\n') +for s in sources: + print(f"{s['id']:24s} {s['jurisdiction']:3s} {len(s['text']):6d} chars {s['statuteReference']}") +print(f"\nWROTE {sys.argv[1]} ({len(out)} bytes, {len(sources)} sources)") diff --git a/docs/legal-corpus/extract.py b/docs/legal-corpus/extract.py new file mode 100644 index 0000000..e76e6e7 --- /dev/null +++ b/docs/legal-corpus/extract.py @@ -0,0 +1,17 @@ +import re,html,sys +def extract(path): + h=open(path,encoding='utf-8',errors='replace').read() + h=re.sub(r'(?is)','',h) + h=re.sub(r'(?is)','',h) + h=re.sub(r'(?i)','\n',h) + h=re.sub(r'(?i)

','\n\n',h) + h=re.sub(r'(?i)','\n',h) + h=re.sub(r'(?i)','\n',h) + t=re.sub(r'(?s)<[^>]+>',' ',h) + t=html.unescape(t) + t='\n'.join(re.sub(r'[ \t]+',' ',line).strip() for line in t.split('\n')) + t=re.sub(r'\n{3,}','\n\n',t).strip() + return t +if __name__=='__main__': + t=extract(sys.argv[1]) + print("LEN",len(t)); print("====="); print(t[:int(sys.argv[2]) if len(sys.argv)>2 else 1200]) diff --git a/docs/legal-corpus/launch-states.json b/docs/legal-corpus/launch-states.json new file mode 100644 index 0000000..a368e7d --- /dev/null +++ b/docs/legal-corpus/launch-states.json @@ -0,0 +1,81 @@ +{ + "sources": [ + { + "id": "il-755-ilcs-5-4-3", + "jurisdiction": "IL", + "title": "Illinois Probate Act — Will Signing and Attestation", + "statuteReference": "755 ILCS 5/4-3", + "sourceUrl": "https://www.ilga.gov/documents/legislation/ilcs/documents/075500050K4-3.htm", + "publisher": "Illinois General Assembly", + "licenseNote": "U.S. state statute — public domain (Illinois Compiled Statutes)", + "verifiedAt": "2026-06-14T00:00:00Z", + "text": "755 ILCS 5/4-3\n\n(755 ILCS 5/4-3) (from Ch. 110 1/2, par. 4-3)\n\nSec. 4-3.\nSigning and attestation.\n\n(a) Every will shall be in writing, signed by the testator or by some\nperson in his presence and by his direction and attested in the presence of\nthe testator by 2 or more credible witnesses.\n\n(b) A will that qualifies as an international will under the Uniform\nInternational Wills Act is considered to meet all the requirements of\nsubsection (a).\n\n(Source: P.A. 86-1291.)" + }, + { + "id": "il-755-ilcs-45-3-3", + "jurisdiction": "IL", + "title": "Illinois Power of Attorney Act — Statutory Short Form Power of Attorney for Property", + "statuteReference": "755 ILCS 45/3-3", + "sourceUrl": "https://www.ilga.gov/documents/legislation/ilcs/documents/075500450K3-3.htm", + "publisher": "Illinois General Assembly", + "licenseNote": "U.S. state statute — public domain (Illinois Compiled Statutes)", + "verifiedAt": "2026-06-14T00:00:00Z", + "text": "755 ILCS 45/3-3\n\n(755 ILCS 45/3-3) (from Ch. 110 1/2, par. 803-3)\n\nSec. 3-3. Statutory short form power of attorney for property.\n(a) The\nform prescribed in this Section may be known as \"statutory property power\" and may be used\nto grant an agent powers with respect to property and financial matters.\nThe \"statutory property power\" consists of the following: (1) Notice to the Individual Signing the Illinois Statutory Short Form Power of Attorney for Property; (2) Illinois Statutory Short Form Power of Attorney for Property; and (3) Notice to Agent. When a power of attorney in substantially the form prescribed in this Section is used,\nincluding all 3 items above, with item (1), the Notice to Individual Signing the Illinois Statutory Short Form Power of Attorney for Property, on a separate sheet (coversheet) in 14-point type and\nthe notarized form of acknowledgment at the end, it shall have the meaning\nand effect prescribed in this Act.\n(b) A power of attorney shall also be deemed to be in substantially the same format as the statutory form if the explanatory language throughout the form (the language following the designation \"NOTE:\") is distinguished in some way from the legal paragraphs in the form, such as the use of boldface or other difference in typeface and font or point size, even if the \"Notice\" paragraphs at the beginning are not on a separate sheet of paper or are not in 14-point type, or if the principal's initials do not appear in the acknowledgement at the end of the \"Notice\" paragraphs.\nThe validity of a power of attorney as\nmeeting the requirements of a statutory property power shall not be\naffected by the fact that one or more of the categories of optional powers\nlisted in the form are struck out or the form includes specific\nlimitations on or additions to the agent's powers, as permitted by the\nform. Nothing in this Article shall invalidate or bar use by the\nprincipal of any other or different form of power of attorney for property.\nNonstatutory property powers (i) must be executed by the principal, (ii) must\ndesignate the agent and the agent's powers, (iii) must be signed by at least one witness to the principal's signature, and (iv) must indicate that the principal has acknowledged his or her signature before a notary public. However, nonstatutory property powers need not\nconform in any other respect to the statutory property power.\n\n(c) The Notice to the Individual Signing the Illinois Statutory Short Form Power of Attorney for Property shall be substantially as follows:\n\"NOTICE TO THE INDIVIDUAL SIGNING THE ILLINOIS STATUTORY SHORT FORM POWER OF ATTORNEY FOR PROPERTY.\nPLEASE READ THIS NOTICE CAREFULLY. The form that you will be signing is a legal document. It is governed by the Illinois Power of Attorney Act. If there is anything about this form that you do not understand, you should ask a lawyer to explain it to you.\nThe purpose of this Power of Attorney is to give your designated \"agent\" broad powers to handle your financial affairs, which may include the power to pledge, sell, or dispose of any of your real or personal property, even without your consent or any advance notice to you. When using the Statutory Short Form, you may name successor agents, but you may not name co-agents.\nThis form does not impose a duty upon your agent to handle your financial affairs, so it is important that you select an agent who will agree to do this for you. It is also important to select an agent whom you trust, since you are giving that agent control over your financial assets and property. Any agent who does act for you has a duty to act in good faith for your benefit and to use due care, competence, and diligence. He or she must also act in accordance with the law and with the directions in this form. Your agent must keep a record of all receipts, disbursements, and significant actions taken as your agent.\nUnless you specifically limit the period of time that this Power of Attorney will be in effect, your agent may exercise the powers given to him or her throughout your lifetime, both before and after you become incapacitated. A court, however, can take away the powers of your agent if it finds that the agent is not acting properly. You may also revoke this Power of Attorney if you wish.\nThis Power\nof Attorney does not authorize your agent to appear in court for you as an attorney-at-law or otherwise to engage in the practice of law unless he or she is a licensed attorney who is authorized to practice law in Illinois.\nThe powers you give your agent are explained more fully in Section 3-4 of the Illinois Power of Attorney Act. This form is a part of that law. The \"NOTE\" paragraphs throughout this form are instructions.\nYou are not required to sign this Power of Attorney, but it will not take effect without your signature. You should not sign this Power of Attorney if you do not understand everything in it, and what your agent will be able to do if you do sign it.\n\nPlease place your initials on the following line indicating that you have read this Notice: .....................\nPrincipal's initials\"\n\n(d) The Illinois Statutory Short Form Power of Attorney for Property shall be substantially as follows:\n\"ILLINOIS STATUTORY SHORT FORM POWER OF ATTORNEY FOR PROPERTY\n\n1. I, ..............., (insert name and address of principal)\nhereby revoke all prior powers of attorney for property executed by me and appoint:\n\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n(insert name and address of agent)\n\n(NOTE: You may not name co-agents using this form.)\nas my attorney-in-fact (my \"agent\") to act for me and in my name (in any\nway I could act in person) with respect to the following powers, as defined\nin Section 3-4 of the \"Statutory Short Form Power of Attorney for Property Law\"\n(including all amendments), but subject to any limitations on or additions\nto the specified powers inserted in paragraph 2 or 3 below:\n\n(NOTE: You must strike out any one or more of the following categories of\npowers you do not want your agent to have. Failure to strike the title\nof any category will cause the powers described in that category to be\ngranted to the agent. To strike out a category you must draw a line\nthrough the title of that category.)\n\n(a) Real estate transactions.\n\n(b) Financial institution transactions.\n\n(c) Stock and bond transactions.\n\n(d) Tangible personal property transactions.\n\n(e) Safe deposit box transactions.\n\n(f) Insurance and annuity transactions.\n\n(g) Retirement plan transactions.\n\n(h) Social Security, employment and military service benefits.\n\n(i) Tax matters.\n\n(j) Claims and litigation.\n\n(k) Commodity and option transactions.\n\n(l) Business operations.\n\n(m) Borrowing transactions.\n\n(n) Estate transactions.\n\n(o) All other property transactions.\n\n(NOTE: Limitations on and additions to the agent's powers may be included in this power of attorney if they are specifically described below.)\n\n2. The powers granted above shall not include the following powers or\nshall be modified or limited in the following particulars:\n(NOTE: Here you may\ninclude any specific limitations you deem appropriate, such as a\nprohibition or conditions on the sale of particular stock or real estate or\nspecial rules on borrowing by the agent.)\n\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n3. In addition to the powers granted above, I grant my agent the\nfollowing powers:\n(NOTE: Here you may add any other delegable powers including,\nwithout limitation, power to make gifts, exercise powers of appointment,\nname or change beneficiaries or joint tenants or revoke or amend any trust\nspecifically referred to below.)\n\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n(NOTE: Your agent will have authority to employ other persons as necessary to enable the agent to properly exercise the powers granted in this form, but your agent will have to make all discretionary decisions. If you want to give your agent the right to delegate discretionary decision-making powers to others, you should keep paragraph 4, otherwise it should be struck out.)\n\n4. My agent shall have the right by written instrument to delegate any\nor all of the foregoing powers involving discretionary decision-making to\nany person or persons whom my agent may select, but such delegation may be\namended or revoked by any agent (including any successor) named by me who\nis acting under this power of attorney at the time of reference.\n\n(NOTE: Your agent will be entitled to reimbursement for all reasonable expenses incurred in acting under this power of attorney. Strike out paragraph 5 if you do not want your agent to also be entitled to reasonable compensation for services as agent.)\n\n5. My agent shall be entitled to reasonable compensation for services\nrendered as agent under this power of attorney.\n\n(NOTE: This power of attorney may be amended or revoked by you at any time and in any manner. Absent amendment or revocation, the authority granted in this power of attorney will become effective at the time this power is signed and will continue until your death, unless a limitation on the beginning date or duration is made by initialing and completing one or both of paragraphs 6 and 7:)\n\n6. ( ) This power of attorney shall become effective on\n\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n(NOTE: Insert a future date or event during your lifetime, such as a court\ndetermination of your disability or a written determination by your physician that you are incapacitated, when you want this power to first take effect.)\n\n7. ( ) This power of attorney shall terminate on\n\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n(NOTE: Insert a future date or event, such as a court determination that you are not under a legal disability or a written determination by your physician that you are not incapacitated, if you want this power to terminate prior to your death.)\n\n(NOTE: If you wish to name one or more successor agents, insert the name and address of each successor agent in paragraph 8.)\n\n8. If any agent named by me shall die, become incompetent, resign\nor refuse to accept the office of agent, I name the following\n(each to act alone and successively,\nin the order named) as successor(s) to such agent:\n\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\nFor purposes of this paragraph 8, a person shall be considered to be\nincompetent if and while the person is a minor or an adjudicated\nincompetent or a person with a disability or the person is unable to give prompt and\nintelligent consideration to business matters, as certified by a licensed physician.\n\n(NOTE: If you wish to, you may name your agent as guardian of your estate if a court decides that one should be appointed. To do this, retain paragraph 9, and the court will appoint your agent if the court finds that this appointment will serve your best interests and welfare. Strike out paragraph 9 if you do not want your agent to act as guardian.)\n\n9. If a guardian of my estate (my property) is to be appointed, I\nnominate the agent acting under this power of attorney as such guardian,\nto serve without bond or security.\n\n10. I am fully informed as to all the contents of this form and\nunderstand the full import of this grant of powers to my agent.\n\n(NOTE: This form does not authorize your agent to appear in court for you as an attorney-at-law or otherwise to engage in the practice of law unless he or she is a licensed attorney who is authorized to practice law in Illinois.)\n11. The Notice to Agent is incorporated by reference and included as part of this form.\nDated: ................\nSigned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n(principal)\n\n(NOTE: This power of attorney will not be effective unless it is signed by at least one witness and your signature is notarized, using the form below. The notary may not also sign as a witness.)\n\nThe undersigned witness certifies that ..............., known to me to be\nthe same person whose name is subscribed as principal to the foregoing power of\nattorney, appeared before me and the notary public and acknowledged signing and\ndelivering the instrument as the free and voluntary act of the principal, for\nthe\nuses and purposes therein set forth. I believe him or her to be of sound mind\nand memory. The undersigned witness also certifies that the witness is not: (a) the attending physician or mental health service provider or a relative of the physician or provider; (b) an owner, operator, or relative of an owner or operator of a health care facility in which the principal is a patient or resident; (c) a parent, sibling, descendant, or any spouse of such parent, sibling, or descendant of either the principal or any agent or successor agent under the foregoing power of attorney, whether such relationship is by blood, marriage, or adoption; or (d) an agent or successor agent under the foregoing power of attorney.\n\nDated: ................\n..............................\n\nWitness\n\n(NOTE: Illinois requires only one witness, but other jurisdictions may require more than one witness. If you wish to have a second witness, have him or her certify and sign here:)\n\n(Second witness) The undersigned witness certifies that ................, known to me to be the same person whose name is subscribed as principal to the foregoing power of attorney, appeared before me and the notary public and acknowledged signing and delivering the instrument as the free and voluntary act of the principal, for the uses and purposes therein set forth. I believe him or her to be of sound mind and memory. The undersigned witness also certifies that the witness is not: (a) the attending physician or mental health service provider or a relative of the physician or provider; (b) an owner, operator, or relative of an owner or operator of a health care facility in which the principal is a patient or resident; (c) a parent, sibling, descendant, or any spouse of such parent, sibling, or descendant of either the principal or any agent or successor agent under the foregoing power of attorney, whether such relationship is by blood, marriage, or adoption; or (d) an agent or successor agent under the foregoing power of attorney.\nDated: ....................... ..............................\nWitness\n\nState of ............)\n) SS.\nCounty of ...........)\n\nThe undersigned, a notary public in and for the above county and state,\ncertifies that ......................., known to me to be the same person\nwhose name is subscribed as principal to the foregoing power of attorney,\nappeared before me and the witness(es) ............. (and ..............) in person and acknowledged\nsigning and delivering the\ninstrument as the free and voluntary act of the principal, for the uses and\npurposes therein set forth (, and certified to the correctness of the\nsignature(s) of the agent(s)).\n\nDated: ................\n..............................\n\nNotary Public\n\nMy commission expires .................\n\n(NOTE: You may, but are not required to, request your agent and successor agents to provide specimen signatures below. If you include specimen signatures in this power of attorney, you must complete the certification opposite the signatures of the agents.)\n\nSpecimen signatures of I certify that the signatures\nagent (and successors) of my agent (and successors)\nare genuine.\n.......................... .............................\n(agent) (principal)\n.......................... .............................\n(successor agent) (principal)\n.......................... .............................\n(successor agent) (principal)\n\n(NOTE: The name, address, and phone number of the person preparing this form or who assisted the principal in completing this form should be inserted below.)\n\nName: .......................\nAddress: ....................\n..............................\n..............................\nPhone: .................... \"\n\n(e) Notice to Agent. The following form may be known as \"Notice to Agent\" and shall be supplied to an agent appointed under a power of attorney for property.\n\"NOTICE TO AGENT When you accept the authority granted under this power of attorney a special legal relationship, known as agency, is created between you and the principal. Agency imposes upon you duties that continue until you resign or the power of attorney is terminated or revoked.\nAs agent you must:\n(1) do what you know the principal reasonably expects\n\nyou to do with the principal's property;\n\n(2) act in good faith for the best interest of the\n\nprincipal, using due care, competence, and diligence;\n\n(3) keep a complete and detailed record of all\n\nreceipts, disbursements, and significant actions conducted for the principal;\n\n(4) attempt to preserve the principal's estate plan,\n\nto the extent actually known by the agent, if preserving the plan is consistent with the principal's best interest; and\n\n(5) cooperate with a person who has authority to make\n\nhealth care decisions for the principal to carry out the principal's reasonable expectations to the extent actually in the principal's best interest.\n\nAs agent you must not do any of the following:\n(1) act so as to create a conflict of interest that\n\nis inconsistent with the other principles in this Notice to Agent;\n\n(2) do any act beyond the authority granted in this\n\npower of attorney;\n\n(3) commingle the principal's funds with your funds;\n(4) borrow funds or other property from the\n\nprincipal, unless otherwise authorized;\n\n(5) continue acting on behalf of the principal if you\n\nlearn of any event that terminates this power of attorney or your authority under this power of attorney, such as the death of the principal, your legal separation from the principal, or the dissolution of your marriage to the principal.\n\nIf you have special skills or expertise, you must use those special skills and expertise when acting for the principal. You must disclose your identity as an agent whenever you act for the principal by writing or printing the name of the principal and signing your own name \"as Agent\" in the following manner:\n\"(Principal's Name) by (Your Name) as Agent\"\nThe meaning of the powers granted to you is contained in Section 3-4 of the Illinois Power of Attorney Act, which is incorporated by reference into the body of the power of attorney for property document.\nIf you violate your duties as agent or act outside the authority granted to you, you may be liable for any damages, including attorney's fees and costs, caused by your violation.\nIf there is anything about this document or your duties that you do not understand, you should seek legal advice from an attorney.\"\n\n(f) The requirement of the signature of a witness in addition to the principal and the notary, imposed by Public Act 91-790, applies only to instruments executed on or after June 9, 2000 (the effective date of that Public Act).\n(NOTE: This amendatory Act of the 96th General Assembly deletes provisions that referred to the one required witness as an \"additional witness\", and it also provides for the signature of an optional \"second witness\".)\n\n(Source: P.A. 99-143, eff. 7-27-15.)" + }, + { + "id": "il-755-ilcs-45-4-10", + "jurisdiction": "IL", + "title": "Illinois Power of Attorney Act — Statutory Short Form Power of Attorney for Health Care", + "statuteReference": "755 ILCS 45/4-10", + "sourceUrl": "https://www.ilga.gov/documents/legislation/ilcs/documents/075500450K4-10.htm", + "publisher": "Illinois General Assembly", + "licenseNote": "U.S. state statute — public domain (Illinois Compiled Statutes)", + "verifiedAt": "2026-06-14T00:00:00Z", + "text": "755 ILCS 45/4-10\n\n(755 ILCS 45/4-10) (from Ch. 110 1/2, par. 804-10)\n\nSec. 4-10. Statutory short form power of attorney for health care.\n\n(a) The form prescribed in this Section (sometimes also referred to in this Act as the\n\"statutory health care power\") may be used to grant an agent powers with\nrespect to the principal's own health care; but the statutory health care\npower is not intended to be exclusive nor to cover delegation of a parent's\npower to control the health care of a minor child, and no provision of this\nArticle shall be construed to invalidate or bar use by the principal of any\nother or\ndifferent form of power of attorney for health care. Nonstatutory health\ncare powers must be\nexecuted by the principal, designate the agent and the agent's powers, and\ncomply with the limitations in Section 4-5 of this Article, but they need not be witnessed or\nconform in any other respect to the statutory health care power.\nNo specific format is required for the statutory health care power of attorney other than the notice must precede the form. The statutory health care power may be included in or\ncombined with any\nother form of power of attorney governing property or other matters.\n\nThe signature and execution requirements set forth in this Article are satisfied by: (i) written signatures or initials; or (ii) electronic signatures or computer-generated signature codes. Electronic documents under this Act may be created, signed, or revoked electronically using a generic, technology-neutral system in which each user is assigned a unique identifier that is securely maintained and in a manner that meets the regulatory requirements for a digital or electronic signature. Compliance with the standards defined in the Uniform Electronic Transactions Act or the implementing rules of the Hospital Licensing Act for medical record entry authentication for author validation of the documentation, content accuracy, and completeness meets this standard.\n(b) The Illinois Statutory Short Form Power of Attorney for Health Care shall be substantially as follows:\nNOTICE TO THE INDIVIDUAL SIGNING THE POWER OF ATTORNEY FOR HEALTH CARE No one can predict when a serious illness or accident might occur. When it does, you may need someone else to speak or make health care decisions for you. If you plan now, you can increase the chances that the medical treatment you get will be the treatment you want.\nIn Illinois, you can choose someone to be your \"health care agent\". Your agent is the person you trust to make health care decisions for you if you are unable or do not want to make them yourself. These decisions should be based on your personal values and wishes.\nIt is important to put your choice of agent in writing. The written form is often called an \"advance directive\". You may use this form or another form, as long as it meets the legal requirements of Illinois. There are many written and online resources to guide you and your loved ones in having a conversation about these issues. You may find it helpful to look at these resources while thinking about and discussing your advance directive.\nWHAT ARE THE THINGS I WANT MY HEALTH CARE AGENT TO KNOW? The selection of your agent should be considered carefully, as your agent will have the ultimate decision-making authority once this document goes into effect, in most instances after you are no longer able to make your own decisions. While the goal is for your agent to make decisions in keeping with your preferences and in the majority of circumstances that is what happens, please know that the law does allow your agent to make decisions to direct or refuse health care interventions or withdraw treatment. Your agent will need to think about conversations you have had, your personality, and how you handled important health care issues in the past. Therefore, it is important to talk with your agent and your family about such things as:\n(i) What is most important to you in your life?\n(ii) How important is it to you to avoid pain and\n\nsuffering?\n\n(iii) If you had to choose, is it more important to\n\nyou to live as long as possible, or to avoid prolonged suffering or disability?\n\n(iv) Would you rather be at home or in a hospital for\n\nthe last days or weeks of your life?\n\n(v) Do you have religious, spiritual, or cultural\n\nbeliefs that you want your agent and others to consider?\n\n(vi) Do you wish to make a significant contribution\n\nto medical science after your death through organ or whole body donation?\n\n(vii) Do you have an existing advance directive, such\n\nas a living will, that contains your specific wishes about health care that is only delaying your death? If you have another advance directive, make sure to discuss with your agent the directive and the treatment decisions contained within that outline your preferences. Make sure that your agent agrees to honor the wishes expressed in your advance directive.\n\nWHAT KIND OF DECISIONS CAN MY AGENT MAKE? If there is ever a period of time when your physician determines that you cannot make your own health care decisions, or if you do not want to make your own decisions, some of the decisions your agent could make are to:\n(i) talk with physicians and other health care\n\nproviders about your condition.\n\n(ii) see medical records and approve who else can see\n\nthem.\n\n(iii) give permission for medical tests, medicines,\n\nsurgery, or other treatments.\n\n(iv) choose where you receive care and which\n\nphysicians and others provide it.\n\n(v) decide to accept, withdraw, or decline treatments\n\ndesigned to keep you alive if you are near death or not likely to recover. You may choose to include guidelines and/or restrictions to your agent's authority.\n\n(vi) agree or decline to donate your organs or your\n\nwhole body if you have not already made this decision yourself. This could include donation for transplant, research, and/or education. You should let your agent know whether you are registered as a donor in the First Person Consent registry maintained by the Illinois Secretary of State or whether you have agreed to donate your whole body for medical research and/or education.\n\n(vii) decide what to do with your remains after you\n\nhave died, if you have not already made plans.\n\n(viii) talk with your other loved ones to help come\n\nto a decision (but your designated agent will have the final say over your other loved ones).\n\nYour agent is not automatically responsible for your health care expenses.\nWHOM SHOULD I CHOOSE TO BE MY HEALTH CARE AGENT? You can pick a family member, but you do not have to. Your agent will have the responsibility to make medical treatment decisions, even if other people close to you might urge a different decision. The selection of your agent should be done carefully, as he or she will have ultimate decision-making authority for your treatment decisions once you are no longer able to voice your preferences. Choose a family member, friend, or other person who:\n(i) is at least 18 years old;\n(ii) knows you well;\n(iii) you trust to do what is best for you and is\n\nwilling to carry out your wishes, even if he or she may not agree with your wishes;\n\n(iv) would be comfortable talking with and\n\nquestioning your physicians and other health care providers;\n\n(v) would not be too upset to carry out your wishes\n\nif you became very sick; and\n\n(vi) can be there for you when you need it and is\n\nwilling to accept this important role.\n\nWHAT IF MY AGENT IS NOT AVAILABLE OR IS UNWILLING TO MAKE DECISIONS FOR ME? If the person who is your first choice is unable to carry out this role, then the second agent you chose will make the decisions; if your second agent is not available, then the third agent you chose will make the decisions. The second and third agents are called your successor agents and they function as back-up agents to your first choice agent and may act only one at a time and in the order you list them.\nWHAT WILL HAPPEN IF I DO NOT CHOOSE A HEALTH CARE AGENT? If you become unable to make your own health care decisions and have not named an agent in writing, your physician and other health care providers will ask a family member, friend, or guardian to make decisions for you. In Illinois, a law directs which of these individuals will be consulted. In that law, each of these individuals is called a \"surrogate\".\nThere are reasons why you may want to name an agent rather than rely on a surrogate:\n(i) The person or people listed by this law may not\n\nbe who you would want to make decisions for you.\n\n(ii) Some family members or friends might not be able\n\nor willing to make decisions as you would want them to.\n\n(iii) Family members and friends may disagree with\n\none another about the best decisions.\n\n(iv) Under some circumstances, a surrogate may not be\n\nable to make the same kinds of decisions that an agent can make.\n\nWHAT IF THERE IS NO ONE AVAILABLE WHOM I TRUST TO BE MY AGENT? In this situation, it is especially important to talk to your physician and other health care providers and create written guidance about what you want or do not want, in case you are ever critically ill and cannot express your own wishes. You can complete a living will. You can also write your wishes down and/or discuss them with your physician or other health care provider and ask him or her to write it down in your chart. You might also want to use written or online resources to guide you through this process.\nWHAT DO I DO WITH THIS FORM ONCE I COMPLETE IT? Follow these instructions after you have completed the form:\n(i) Sign the form in front of a witness. See the\n\nform for a list of who can and cannot witness it.\n\n(ii) Ask the witness to sign it, too.\n(iii) There is no need to have the form notarized.\n(iv) Give a copy to your agent and to each of your\n\nsuccessor agents.\n\n(v) Give another copy to your physician.\n(vi) Take a copy with you when you go to the hospital.\n(vii) Show it to your family and friends and others\n\nwho care for you.\n\nWHAT IF I CHANGE MY MIND? You may change your mind at any time. If you do, tell someone who is at least 18 years old that you have changed your mind, and/or destroy your document and any copies. If you wish, fill out a new form and make sure everyone you gave the old form to has a copy of the new one, including, but not limited to, your agents and your physicians. If you are concerned you may revoke your power of attorney at a time when you may need it the most, you may initial the box at the end of the form to indicate that you would like a 30-day waiting period after you voice your intent to revoke your power of attorney. This means if your agent is making decisions for you during that time, your agent can continue to make decisions on your behalf. This election is purely optional, and you do not have to choose it. If you do not choose this option, you can change your mind and revoke the power of attorney at any time.\nWHAT IF I DO NOT WANT TO USE THIS FORM? In the event you do not want to use the Illinois statutory form provided here, any document you complete must be executed by you, designate an agent who is over 18 years of age and not prohibited from serving as your agent, and state the agent's powers, but it need not be witnessed or conform in any other respect to the statutory health care power.\nIf you have questions about the use of any form, you may want to consult your physician, other health care provider, and/or an attorney.\nMY POWER OF ATTORNEY FOR HEALTH CARE\nTHIS POWER OF ATTORNEY REVOKES ALL PREVIOUS POWERS OF ATTORNEY FOR HEALTH CARE. (You must sign this form and a witness must also sign it before it is valid)\n\nMy name (Print your full name): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\nMy address: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\nI WANT THE FOLLOWING PERSON TO BE MY HEALTH CARE AGENT\n(an agent is your personal representative under state and federal law):\n(Agent name) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n(Agent address) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n(Agent phone number) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n(Please check box if applicable) .... If a guardian of my person is to be appointed, I nominate the agent acting under this power of attorney as guardian.\n\nSUCCESSOR HEALTH CARE AGENT(S) (optional):\nIf the agent I selected is unable or does not want to make health care decisions for me, then I request the person(s) I name below to be my successor health care agent(s). Only one person at a time can serve as my agent (add another page if you want to add more successor agent names):\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n(Successor agent #1 name, address and phone number)\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n(Successor agent #2 name, address and phone number)\n\nMY AGENT CAN MAKE HEALTH CARE DECISIONS FOR ME, INCLUDING:\n(i) Deciding to accept, withdraw, or decline\n\ntreatment for any physical or mental condition of mine, including life-and-death decisions.\n\n(ii) Agreeing to admit me to or discharge me from any\n\nhospital, home, or other institution, including a mental health facility.\n\n(iii) Having complete access to my medical and mental\n\nhealth records, and sharing them with others as needed, including after I die.\n\n(iv) Carrying out the plans I have already made, or,\n\nif I have not done so, making decisions about my body or remains, including organ, tissue or whole body donation, autopsy, cremation, and burial.\n\nThe above grant of power is intended to be as broad as possible so that my agent will have the authority to make any decision I could make to obtain or terminate any type of health care, including withdrawal of nutrition and hydration and other life-sustaining measures.\n\nI AUTHORIZE MY AGENT TO (please check any one box):\n.... Make decisions for me only when I cannot make them\n\nfor myself. The physician(s) taking care of me will determine when I lack this ability.\n\n(If no box is checked, then the box above shall be\n\nimplemented.) OR\n\n.... Make decisions for me only when I cannot make them\n\nfor myself. The physician(s) taking care of me will determine when I lack this ability. Starting now, for the purpose of assisting me with my health care plans and decisions, my agent shall have complete access to my medical and mental health records, the authority to share them with others as needed, and the complete ability to communicate with my personal physician(s) and other health care providers, including the ability to require an opinion of my physician as to whether I lack the ability to make decisions for myself. OR\n\n.... Make decisions for me starting now and continuing\n\nafter I am no longer able to make them for myself. While I am still able to make my own decisions, I can still do so if I want to.\n\nThe subject of life-sustaining treatment is of particular importance. Life-sustaining treatments may include tube feedings or fluids through a tube, breathing machines, and CPR. In general, in making decisions concerning life-sustaining treatment, your agent is instructed to consider the relief of suffering, the quality as well as the possible extension of your life, and your previously expressed wishes. Your agent will weigh the burdens versus benefits of proposed treatments in making decisions on your behalf.\nAdditional statements concerning the withholding or removal of life-sustaining treatment are described below. These can serve as a guide for your agent when making decisions for you. Ask your physician or health care provider if you have any questions about these statements.\n\nSELECT ONLY ONE STATEMENT BELOW THAT BEST EXPRESSES YOUR WISHES (optional):\n.... The quality of my life is more important than the\n\nlength of my life. If I am unconscious and my attending physician believes, in accordance with reasonable medical standards, that I will not wake up or recover my ability to think, communicate with my family and friends, and experience my surroundings, I do not want treatments to prolong my life or delay my death, but I do want treatment or care to make me comfortable and to relieve me of pain.\n\n.... Staying alive is more important to me, no matter how\n\nsick I am, how much I am suffering, the cost of the procedures, or how unlikely my chances for recovery are. I want my life to be prolonged to the greatest extent possible in accordance with reasonable medical standards.\n\nSPECIFIC LIMITATIONS TO MY AGENT'S DECISION-MAKING AUTHORITY:\nThe above grant of power is intended to be as broad as possible so that your agent will have the authority to make any decision you could make to obtain or terminate any type of health care. If you wish to limit the scope of your agent's powers or prescribe special rules or limit the power to authorize autopsy or dispose of remains, you may do so specifically in this form.\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\nMy signature: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\nToday's date: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\nDELAYED REVOCATION .... I elect to delay revocation of this power of attorney for 30 days after I communicate my intent to revoke it.\n.... I elect for the revocation of this power of attorney to take effect immediately if I communicate my intent to revoke it.\n\nHAVE YOUR WITNESS AGREE TO WHAT IS WRITTEN BELOW, AND THEN COMPLETE THE SIGNATURE PORTION:\nI am at least 18 years old. (check one of the options below):\n.... I saw the principal sign this document, or\n.... the principal told me that the signature or mark on\n\nthe principal signature line is his or hers.\n\nI am not the agent or successor agent(s) named in this document. I am not related to the principal, the agent, or the successor agent(s) by blood, marriage, or adoption. I am not the principal's physician, advanced practice registered nurse, dentist, podiatric physician, optometrist, psychologist, or a relative of one of those individuals. I am not an owner or operator (or the relative of an owner or operator) of the health care facility where the principal is a patient or resident.\nWitness printed name: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\nWitness address: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\nWitness signature: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\nToday's date: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n(c) The statutory short form power of attorney for health care (the\n\"statutory health care power\") authorizes the agent to make any and all\nhealth care decisions on behalf of the principal which the principal could\nmake if present and under no disability, subject to any limitations on the\ngranted powers that appear on the face of the form, to be exercised in such\nmanner as the agent deems consistent with the intent and desires of the\nprincipal. The agent will be under no duty to exercise granted powers or\nto assume control of or responsibility for the principal's health care;\nbut when granted powers are exercised, the agent will be required to use\ndue care to act for the benefit of the principal in accordance with the\nterms of the statutory health care power and will be liable\nfor negligent exercise. The agent may act in person or through others\nreasonably employed by the agent for that purpose\nbut may not delegate authority to make health care decisions. The agent\nmay sign and deliver all instruments, negotiate and enter into all\nagreements, and do all other acts reasonably necessary to implement the\nexercise of the powers granted to the agent. Without limiting the\ngenerality of the foregoing, the statutory health care power shall include\nthe following powers, subject to any limitations appearing on the face of the form:\n\n(1) The agent is authorized to give consent to and\n\nauthorize or refuse, or to withhold or withdraw consent to, any and all types of medical care, treatment, or procedures relating to the physical or mental health of the principal, including any medication program, surgical procedures, life-sustaining treatment, or provision of food and fluids for the principal.\n\n(2) The agent is authorized to admit the principal to\n\nor discharge the principal from any and all types of hospitals, institutions, homes, residential or nursing facilities, treatment centers, and other health care institutions providing personal care or treatment for any type of physical or mental condition. The agent shall have the same right to visit the principal in the hospital or other institution as is granted to a spouse or adult child of the principal, any rule of the institution to the contrary notwithstanding.\n\n(3) The agent is authorized to contract for any and\n\nall types of health care services and facilities in the name of and on behalf of the principal and to bind the principal to pay for all such services and facilities, and to have and exercise those powers over the principal's property as are authorized under the statutory property power, to the extent the agent deems necessary to pay health care costs; and the agent shall not be personally liable for any services or care contracted for on behalf of the principal.\n\n(4) At the principal's expense and subject to\n\nreasonable rules of the health care provider to prevent disruption of the principal's health care, the agent shall have the same right the principal has to examine and copy and consent to disclosure of all the principal's medical records that the agent deems relevant to the exercise of the agent's powers, whether the records relate to mental health or any other medical condition and whether they are in the possession of or maintained by any physician, psychiatrist, psychologist, therapist, hospital, nursing home, or other health care provider. The authority under this paragraph (4) applies to any information governed by the Health Insurance Portability and Accountability Act of 1996 (\"HIPAA\") and regulations thereunder. The agent serves as the principal's personal representative, as that term is defined under HIPAA and regulations thereunder.\n\n(5) The agent is authorized: to direct that an\n\nautopsy be made pursuant to Section 2 of the Autopsy Act; to make a disposition of any part or all of the principal's body pursuant to the Illinois Anatomical Gift Act, as now or hereafter amended; and to direct the disposition of the principal's remains.\n\n(6) At any time during which there is no executor or\n\nadministrator appointed for the principal's estate, the agent is authorized to continue to pursue an application or appeal for government benefits if those benefits were applied for during the life of the principal.\n\n(d) A physician may determine that the principal is unable to make health care decisions for himself or herself only if the principal lacks decisional capacity, as that term is defined in Section 10 of the Health Care Surrogate Act.\n(e) If the principal names the agent as a guardian on the statutory short form, and if a court decides that the appointment of a guardian will serve the principal's best interests and welfare, the court shall appoint the agent to serve without bond or security.\n(f) If the agent presents the statutory short form electronically, an attending physician, emergency medical services personnel as defined by Section 3.5 of the Emergency Medical Services (EMS) Systems Act, or health care provider shall not refuse to give effect to a health care agency if the agent presents an electronic device displaying an electronic copy of an executed form as proof of the health care agency. Any person or entity that provides a statutory short form to the public shall post for a period of 2 years information on its website regarding the changes made by this amendatory Act of the 102nd General Assembly.\n(Source: P.A. 101-81, eff. 7-12-19; 101-163, eff. 1-1-20; 102-38, eff. 6-25-21; 102-181, eff. 7-30-21; 102-794, eff. 1-1-23; 102-813, eff. 5-13-22 .)" + }, + { + "id": "md-hg-5-603", + "jurisdiction": "MD", + "title": "Maryland Health-General — Advance Directive Statutory Form", + "statuteReference": "Md. Code, Health-General § 5-603", + "sourceUrl": "https://mgaleg.maryland.gov/mgawebsite/Laws/StatuteText?article=ghg§ion=5-603&enactments=false", + "publisher": "Maryland General Assembly (Department of Legislative Services)", + "licenseNote": "U.S. state statute — public domain (Annotated Code of Maryland)", + "verifiedAt": "2026-06-14T00:00:00Z", + "text": "§5–603.\n\nMaryland Advance Directive:\n\nPlanning for Future Health Care Decisions\n\nBy: Date of Birth: _________________________\n(Print Name) (Month/Day/Year)\n\nUsing this advance directive form to do health care planning is completely optional. Other forms are also valid in Maryland. No matter what form you use, talk to your family and others close to you about your wishes.\n\nThis form has two parts to state your wishes, and a third part for needed signatures. Part I of this form lets you answer this question: If you cannot (or do not want to) make your own health care decisions, who do you want to make them for you? The person you pick is called your health care agent. Make sure you talk to your health care agent (and any back–up agents) about this important role. Part II lets you write your preferences about efforts to extend your life in three situations: terminal condition, persistent vegetative state, and end–stage condition. In addition to your health care planning decisions, you can choose to become an organ donor after your death by filling out the form for that too.\n\nYou can fill out Parts I and II of this form, or only Part I, or only Part II. Use the form to reflect your wishes, then sign in front of two witnesses (Part III). If your wishes change, make a new advance directive.\n\nMake sure you give a copy of the completed form to your health care agent, your doctor, and others who might need it. Keep a copy at home in a place where someone can get it if needed. Review what you have written periodically.\n\nPART I: SELECTION OF HEALTH CARE AGENT\n\nA. Selection of Primary Agent\n\nI select the following individual as my agent to make health care decisions for me:\n\nName:\nAddress:\n\nTelephone Numbers:\n(home and cell)\n\nB. Selection of Back–up Agents\n(Optional; form valid if left blank)\n\n1. If my primary agent cannot be contacted in time or for any reason is unavailable or unable or unwilling to act as my agent, then I select the following person to act in this capacity:\n\nName: _________________________________________________________________________\nAddress: _______________________________________________________________________\n________________________________________________________________________________\nTelephone Numbers:_____________________________________________________________\n(home and cell)\n\n2. If my primary agent and my first back–up agent cannot be contacted in time or for any reason are unavailable or unable or unwilling to act as my agent, then I select the following person to act in this capacity:\n\nName: _________________________________________________________________________\nAddress: _______________________________________________________________________\n________________________________________________________________________________\nTelephone Numbers:_____________________________________________________________\n(home and cell)\n\nC. Powers and Rights of Health Care Agent\n\nI want my agent to have full power to make health care decisions for me, including the power to:\n\n1. Consent or not consent to medical procedures and treatments which my doctors offer, including things that are intended to keep me alive, like ventilators and feeding tubes;\n\n2. Decide who my doctor and other health care providers should be; and\n\n3. Decide where I should be treated, including whether I should be in a hospital, nursing home, other medical care facility, or hospice program.\n\nI also want my agent to:\n\n1. Ride with me in an ambulance if ever I need to be rushed to the hospital; and\n\n2. Be able to visit me if I am in a hospital or any other health care facility.\n\nThis advance directive does not make my agent responsible for any of the costs of my care.\n\nThis power is subject to the following conditions or limitations:\n(Optional; form valid if left blank)\n________________________________________________________________________________\n________________________________________________________________________________\n________________________________________________________________________________\n________________________________________________________________________________\n________________________________________________________________________________\n\nD. How My Agent Is to Decide Specific Issues\n\nI trust my agent’s judgment. My agent should look first to see if there is anything in Part II of this advance directive that helps decide the issue. Then, my agent should think about the conversations we have had, my religious or other beliefs and values, my personality, and how I handled medical and other important issues in the past. If what I would decide is still unclear, then my agent is to make decisions for me that my agent believes are in my best interest. In doing so, my agent should consider the benefits, burdens, and risks of the choices presented by my doctors.\n\nE. People My Agent Should Consult\n(Optional; form valid if left blank)\n\nIn making important decisions on my behalf, I encourage my agent to consult with the following people. By filling this in, I do not intend to limit the number of people with whom my agent might want to consult or my agent’s power to make these decisions.\n\nName(s) Telephone Number(s)\n_____________________________________ ________________________________________\n_____________________________________ ________________________________________\n_____________________________________ ________________________________________\n_____________________________________ ________________________________________\n_____________________________________ ________________________________________\n_____________________________________ ________________________________________\n\nF. In Case of Pregnancy\n(Optional, for women of child–bearing years only; form valid if\nleft blank)\n\nIf I am pregnant, my agent shall follow these specific instructions:\n________________________________________________________________________________\n________________________________________________________________________________\n________________________________________________________________________________\n\nG. Access to My Health Information – Federal Privacy Law (HIPAA)\nAuthorization\n\n1. If, prior to the time the person selected as my agent has power to act under this document, my doctor wants to discuss with that person my capacity to make my own health care decisions, I authorize my doctor to disclose protected health information which relates to that issue.\n\n2. Once my agent has full power to act under this document, my agent may request, receive, and review any information, oral or written, regarding my physical or mental health, including, but not limited to, medical and hospital records and other protected health information, and consent to disclosure of this information.\n\n3. For all purposes related to this document, my agent is my personal representative under the Health Insurance Portability and Accountability Act (HIPAA). My agent may sign, as my personal representative, any release forms or other HIPAA–related materials.\n\nH. Effectiveness of This Part\n(Read both of these statements carefully. Then, initial one only.)\n\nMy agent’s power is in effect:\n\n1. Immediately after I sign this document, subject to my right to make any decision about my health care if I want and am able to.\n\n_____\n\n((or))\n\n2. Whenever I am not able to make informed decisions about my health care, either because the doctor in charge of my care (attending physician) decides that I have lost this ability temporarily, or my attending physician and a consulting doctor agree that I have lost this ability permanently.\n\n_____\n\nIf the only thing you want to do is select a health care agent, skip Part II. Go to Part III to sign and have the advance directive witnessed. If you also want to write your treatment preferences, use Part II. Also consider becoming an organ donor, using the separate form for that.\n\nPART II: TREATMENT PREFERENCES (“LIVING WILL”)\n\nA. Statement of Goals and Values\n(Optional; form valid if left blank)\n\nI want to say something about my goals and values, and especially what’s most important to me during the last part of my life:\n________________________________________________________________________________\n________________________________________________________________________________\n________________________________________________________________________________\n________________________________________________________________________________\n________________________________________________________________________________\n________________________________________________________________________________\n\nB. Preference in Case of Terminal Condition\n(If you want to state your preference, initial one only. If you do not want to state a preference here, cross through the whole section.)\n\nIf my doctors certify that my death from a terminal condition is imminent, even if life–sustaining procedures are used:\n\n1. Keep me comfortable and allow natural death to occur. I do not want any medical interventions used to try to extend my life. I do not want to receive nutrition and fluids by tube or other medical means.\n\n_____\n\n((or))\n\n2. Keep me comfortable and allow natural death to occur. I do not want medical interventions used to try to extend my life. If I am unable to take enough nourishment by mouth, however, I want to receive nutrition and fluids by tube or other medical means.\n\n_____\n\n((or))\n\n3. Try to extend my life for as long as possible, using all available interventions that in reasonable medical judgment would prevent or delay my death. If I am unable to take enough nourishment by mouth, I want to receive nutrition and fluids by tube or other medical means.\n\n_____\n\nC. Preference in Case of Persistent Vegetative State\n(If you want to state your preference, initial one only. If you do not want to state a preference here, cross through the whole section.)\n\nIf my doctors certify that I am in a persistent vegetative state, that is, if I am not conscious and am not aware of myself or my environment or able to interact with others, and there is no reasonable expectation that I will ever regain consciousness:\n\n1. Keep me comfortable and allow natural death to occur. I do not want any medical interventions used to try to extend my life. I do not want to receive nutrition and fluids by tube or other medical means.\n\n_____\n\n((or))\n\n2. Keep me comfortable and allow natural death to occur. I do not want medical interventions used to try to extend my life. If I am unable to take enough nourishment by mouth, however, I want to receive nutrition and fluids by tube or other medical means.\n\n_____\n\n((or))\n\n3. Try to extend my life for as long as possible, using all available interventions that in reasonable medical judgment would prevent or delay my death. If I am unable to take enough nourishment by mouth, I want to receive nutrition and fluids by tube or other medical means.\n\n_____\n\nD. Preference in Case of End–Stage Condition\n(If you want to state your preference, initial one only. If you do not want to state a preference here, cross through the whole section.)\n\nIf my doctors certify that I am in an end–stage condition, that is, an incurable condition that will continue in its course until death and that has already resulted in loss of capacity and complete physical dependency:\n\n1. Keep me comfortable and allow natural death to occur. I do not want any medical interventions used to try to extend my life. I do not want to receive nutrition and fluids by tube or other medical means.\n\n_____\n\n((or))\n\n2. Keep me comfortable and allow natural death to occur. I do not want medical interventions used to try to extend my life. If I am unable to take enough nourishment by mouth, however, I want to receive nutrition and fluids by tube or other medical means.\n\n_____\n\n((or))\n\n3. Try to extend my life for as long as possible, using all available interventions that in reasonable medical judgment would prevent or delay my death. If I am unable to take enough nourishment by mouth, I want to receive nutrition and fluids by tube or other medical means.\n\n_____\n\nE. Pain Relief\n\nNo matter what my condition, give me the medicine or other treatment I need to relieve pain.\n\n_____\n\nF. In Case of Pregnancy\n(Optional, for women of child–bearing years only; form valid if left blank)\n\nIf I am pregnant, my decision concerning life–sustaining procedures shall be modified as follows:\n________________________________________________________________________________\n________________________________________________________________________________\n________________________________________________________________________________\n________________________________________________________________________________\n\nG. Effect of Stated Preferences\n(Read both of these statements carefully. Then, initial one only.)\n\n1. I realize I cannot foresee everything that might happen after I can no longer decide for myself. My stated preferences are meant to guide whoever is making decisions on my behalf and my health care providers, but I authorize them to be flexible in applying these statements if they feel that doing so would be in my best interest.\n\n_____\n\n((or))\n\n2. I realize I cannot foresee everything that might happen after I can no longer decide for myself. Still, I want whoever is making decisions on my behalf and my health care providers to follow my stated preferences exactly as written, even if they think that some alternative is better.\n\n_____\n\nPART III: SIGNATURE AND WITNESSES\n\nBy signing below as the Declarant, I indicate that I am emotionally and mentally competent to make this advance directive and that I understand its purpose and effect. I also understand that this document replaces any similar advance directive I may have completed before this date.\n\n____________________________________________ _________________________________\n(Signature of Declarant) (Date)\n\nThe Declarant signed or acknowledged signing this document in my presence and, based upon personal observation, appears to be emotionally and mentally competent to make this advance directive.\n\n____________________________________________ _________________________________\n(Signature of Witness) (Date)\n____________________________________________\nTelephone Number(s)\n_____________________________________________ ________________________________\n(Signature of Witness) (Date)\n_____________________________________________\nTelephone Number(s)\n\n(Note: Anyone selected as a health care agent in Part I may not be a witness. Also, at least one of the witnesses must be someone who will not knowingly inherit anything from the Declarant or otherwise knowingly gain a financial benefit from the Declarant’s death. Maryland law does not require this document to be notarized.)\n\nAFTER MY DEATH\n\n(This form is optional. Fill out only what reflects your wishes.)\n\nBy:________________________________________ Date of Birth:_______________________\n(Print Name) (Month/Day/Year)\n\nPART I: ORGAN DONATION\n\n(Initial the ones that you want.)\n\nUpon my death I wish to donate:\n\nAny needed organs, tissues, or eyes. _____\n\nOnly the following organs, tissues, or eyes: _____\n\n________________________________________________________________________________\n\n________________________________________________________________________________\n\n________________________________________________________________________________\n\n________________________________________________________________________________\n\nI authorize the use of my organs, tissues, or eyes:\n\nFor transplantation _____\n\nFor therapy _____\n\nFor research _____\n\nFor medical education _____\n\nFor any purpose authorized by law _____\n\nI understand that no vital organ, tissue, or eye may be removed for transplantation until after I have been pronounced dead under legal standards. This document is not intended to change anything about my health care while I am still alive. After death, I authorize any appropriate support measures to maintain the viability for transplantation of my organs, tissues, and eyes until organ, tissue, and eye recovery has been completed. I understand that my estate will not be charged for any costs related to this donation.\n\nPART II: DONATION OF BODY\n\nAfter any organ donation indicated in Part I, I wish my body to be donated for use in a medical study program.\n\n_____\n\nPART III: DISPOSITION OF BODY AND FUNERAL ARRANGEMENTS\n\nI want the following person to make decisions about the disposition of my body and my funeral arrangements:\n\n(Either initial the first or fill in the second.)\n\nThe health care agent who I named in my advance directive. _____\n\n((or))\n\nThis person:\n\nName: _________________________________________________________________________\n\nAddress: _______________________________________________________________________\n\n________________________________________________________________________________\n\n________________________________________________________________________________\n\nTelephone Numbers:_____________________________________________________________\n\n(home and cell)\n\nIf I have written my wishes below, they should be followed. If not, the person I have named should decide based on conversations we have had, my religious or other beliefs and values, my personality, and how I reacted to other peoples’ funeral arrangements. My wishes about the disposition of my body and my funeral arrangements are:\n\n________________________________________________________________________________\n\n________________________________________________________________________________\n\n________________________________________________________________________________\n\n________________________________________________________________________________\n\n________________________________________________________________________________\n\nPART IV: SIGNATURE AND WITNESSES\n\nBy signing below, I indicate that I am emotionally and mentally competent to make this donation and that I understand the purpose and effect of this document.\n\n_________________________________ ________________________________\n(Signature of Donor) (Date)\n\nThe Donor signed or acknowledged signing this donation document in my presence and, based upon personal observation, appears to be emotionally and mentally competent to make this donation.\n\n_________________________________ ________________________________\n(Signature of Witness) (Date)\n\n_________________________________\nTelephone Number(s)\n\n_________________________________ ________________________________\n(Signature of Witness) (Date)\n\n_________________________________\nTelephone Number(s)" + }, + { + "id": "mn-507-071", + "jurisdiction": "MN", + "title": "Minnesota Statutes — Transfer on Death Deeds", + "statuteReference": "Minn. Stat. § 507.071", + "sourceUrl": "https://www.revisor.mn.gov/statutes/cite/507.071", + "publisher": "Minnesota Office of the Revisor of Statutes", + "licenseNote": "U.S. state statute — public domain (Minnesota Statutes)", + "verifiedAt": "2026-06-14T00:00:00Z", + "text": "507.071 TRANSFER ON DEATH DEEDS.\n\n§\nSubdivision 1. Definitions.\nFor the purposes of this section the following terms have the meanings given:\n\n(a) \"Beneficiary\" or \"grantee beneficiary\" means a person or entity named as a grantee beneficiary in a transfer on death deed, including a successor grantee beneficiary.\n\n(b) \"County agency\" means the county department or office designated to recover medical assistance benefits from the estates of decedents.\n\n(c) \"Grantor owner\" means an owner, whether individually, as a joint tenant, or as a tenant in common, named as a grantor in a transfer on death deed upon whose death the conveyance or transfer of the described real property is conditioned. Grantor owner does not include a spouse who joins in a transfer on death deed solely for the purpose of conveying or releasing statutory or other marital interests in the real property to be conveyed or transferred by the transfer on death deed.\n\n(d) \"Owner\" means a person having an ownership or other interest in all or part of the real property to be conveyed or transferred by a transfer on death deed either at the time the deed is executed or at the time the transfer becomes effective. Owner does not include a spouse who joins in a transfer on death deed solely for the purpose of conveying or releasing statutory or other marital interests in the real property to be conveyed or transferred by the transfer on death deed.\n\n(e) \"Property\" and \"interest in real property\" mean any interest in real property located in this state which is transferable on the death of the owner and includes, without limitation, an interest in real property defined in chapter 500, a mortgage, a deed of trust, a security interest in, or a security pledge of, an interest in real property, including the rights to payments of the indebtedness secured by the security instrument, a judgment, a tax lien, both the seller's and purchaser's interest in a contract for deed, land contract, purchase agreement, or earnest money contract for the sale and purchase of real property, including the rights to payments under such contracts, or any other lien on, or interest in, real property.\n\n(f) \"Recorded\" means recorded in the office of the county recorder or registrar of titles, as appropriate for the real property described in the instrument to be recorded.\n\n(g) \"State agency\" means the Department of Human Services or any successor agency or Direct Care and Treatment or any successor agency.\n\n(h) \"Transfer on death deed\" means a deed authorized under this section.\n\n§\nSubd. 2. Effect of transfer on death deed.\nA deed that conveys or assigns an interest in real property, to a grantee beneficiary and that expressly states that the deed is only effective on the death of one or more of the grantor owners, transfers the interest to the grantee beneficiary upon the death of the grantor owner upon whose death the conveyance or transfer is stated to be effective, but subject to the survivorship provisions and requirements of section 524.2-702 . Until a transfer on death deed becomes effective, it has no effect on title to the real property described in the deed, but it does create an insurable interest in the real property in favor of the designated grantee beneficiary or beneficiaries for purposes of insuring the real property against loss or damage that occurs on or after the transfer on death deed becomes effective. A transfer on death deed must comply with all provisions of Minnesota law applicable to deeds of real property including, but not limited to, the provisions of sections 507.02 , 507.24 , 507.34 , 508.48 , and 508A.48 . If a spouse who is neither a grantor owner nor an owner joins in the execution of, or consents in writing to, the transfer on death deed, such joinder or consent shall be conclusive proof that upon the transfer becoming effective, the spouse no longer has or can claim any statutory interest or other marital interest in the interest in real property transferred by the transfer on death deed. However, such transfer shall remain an interest as identified in section 256B.15 for purposes of complying with and satisfying any claim or lien as authorized by subdivision 3.\n\n§\nSubd. 3. Rights of creditors and rights of state and county under sections 246.53 , 256B.15 , 256D.16 , 261.04 , and 514.981 .\nThe interest transferred to a beneficiary under a transfer on death deed after the death of a grantor owner is transferred subject to all effective conveyances, assignments, contracts, mortgages, deeds of trust, liens, security pledges, judgments, tax liens, and any other matters or encumbrances to which the interest was subject on the date of death of the grantor owner, upon whose death the transfer becomes effective including, but not limited to, any claim by a surviving spouse who did not join in the execution of, or consent in writing to, the transfer on death deed, and any claim or lien by the state or county agency authorized by sections 246.53 , 256B.15 , 256D.16 , 261.04 , and 514.981 , if other assets of the deceased grantor's estate are insufficient to pay the amount of any such claim. A beneficiary to whom the interest is transferred after the death of a grantor owner shall be liable to account to the state or county agency with a claim or lien authorized by section 246.53 , 256B.15 , 256D.16 , 261.04 , or 514.981 , to the extent necessary to discharge any such claim remaining unpaid after application of the assets of the deceased grantor owner's estate, but such liability shall be limited to the value of the interest transferred to the beneficiary. To establish compliance with this subdivision and subdivision 23, the beneficiary must record a clearance certificate issued in accordance with subdivision 23 in each county in which the real property described in the transfer on death deed is located.\n\n§\nSubd. 4. Multiple grantee beneficiaries.\nA transfer on death deed may designate multiple grantee beneficiaries to take title as joint tenants, as tenants in common or in any other form of ownership or tenancy that is valid under the laws of this state. If a grantee joint tenant dies before the grantor owner upon whose death the transfer occurs and no successor beneficiary for the deceased grantee is designated in the transfer on death deed, the surviving joint tenants are the successors and no interest lapses.\n\n§\nSubd. 5. Successor grantee beneficiaries.\nA transfer on death deed may designate one or more successor grantee beneficiaries or a class of successor grantee beneficiaries, or both. If the transfer on death deed designates successor grantee beneficiaries or a class of successor grantee beneficiaries, the deed shall state the condition under which the interest of the successor grantee beneficiaries would vest.\n\n§\nSubd. 6. Multiple joint tenant grantors.\nIf an interest in real property is owned as joint tenants, a transfer on death deed executed by all of the owners and, if required by section 507.02 , their respective spouses, if any, that conveys an interest in real property to one or more grantee beneficiaries transfers the interest to the grantee beneficiary or beneficiaries effective only after the death of the last surviving grantor owner. If the last surviving joint tenant owner did not execute the transfer on death deed, the deed is ineffective to transfer any interest and the deed is void. An estate in joint tenancy is not severed or affected by the subsequent execution of a transfer on death deed and the right of a surviving joint tenant owner who did not execute the transfer on death deed shall prevail over a grantee beneficiary named in a transfer on death deed unless the deed specifically states that it severs the joint tenancy ownership.\n\n§\nSubd. 7. Execution by attorney-in-fact.\nA transfer on death deed may be executed by a duly appointed attorney-in-fact pursuant to a power of attorney which grants the attorney-in-fact the authority to execute deeds.\n\n§\nSubd. 8. Recording requirements and authorization.\nA transfer on death deed is valid if the deed is recorded in a county in which at least a part of the real property described in the deed is located and is recorded before the death of the grantor owner upon whose death the conveyance or transfer is effective. Notwithstanding the definition of recorded under subdivision 1, if the real property is registered property, a transfer on death deed that was recorded incorrectly or incompletely is valid if the deed was recorded before the death of the grantor owner in the office of the county recorder or the registrar of titles in a county in which at least part of the real property is located, and is memorialized on the certificate of title after death. A transfer on death deed is not effective for purposes of section 507.34 , 508.47 , or 508A.47 until the deed is properly recorded in the county in which the real property is located. When a transfer on death deed is presented for recording, no certification by the county auditor as to transfer of ownership and current and delinquent taxes shall be required or made and the transfer on death deed shall not be required to be accompanied by a certificate of real estate value. A transfer on death deed that otherwise satisfies all statutory requirements for recording may be recorded and shall be accepted for recording in the county in which the property described in the deed is located. If any part of the property described in the transfer on death deed is registered property, the registrar of titles shall accept the transfer on death deed for recording only if at least one of the grantors who executes the transfer on death deed appears of record to have an ownership interest or other interest in the real property described in the deed. No certification or approval of a transfer on death deed shall be required of the examiner of titles prior to recording of the deed in the office of the registrar of titles.\n\n§\nSubd. 9. Deed to trustee or other entity.\nA transfer on death deed may transfer an interest in real property to the trustee of an inter vivos trust even if the trust is revocable, to the trustee of a testamentary trust or to any other entity legally qualified to hold title to real property under the laws of this state.\n\n§\nSubd. 10. Revocation or modification of transfer on death deed.\n(a) A transfer on death deed may be revoked at any time by the grantor owner or, if there is more than one grantor owner, by any of the grantor owners. A revocation revokes the transfer on death deed in its entirety. To be effective, the revocation must be recorded in a county in which at least a part of the real property is located before the death of the grantor owner or owners who execute the revocation. Notwithstanding the definition of recorded under subdivision 1, if the real property is registered property, a revocation that was recorded incorrectly or incompletely is effective if it was recorded before the death of the grantor owner in the office of the county recorder or the registrar of titles in a county in which at least part of the real property is located, and is memorialized on the certificate of title after death. The revocation is not effective for purposes of section 507.34 , 508.47 , or 508A.47 until the revocation is properly recorded in a county in which the real property is located.\n\n(b) If a grantor owner conveys to a third party, subsequent to the recording of the transfer on death deed, by means other than a transfer on death deed, all or a part of such grantor owner's interest in the property described in the transfer on death deed, no transfer of the conveyed interest shall occur on such grantor owner's death and the transfer on death deed shall be ineffective as to the conveyed or transferred interests, but the transfer on death deed remains effective with respect to the conveyance or transfer on death of any other interests described in the transfer on death deed owned by the grantor owner at the time of the grantor owner's death.\n\n(c) A transfer on death deed is a \"governing instrument\" within the meaning of section 524.2-804 and, except as may otherwise be specifically provided for in the transfer on death deed, is subject to the same provisions as to revocation, revival, and nonrevocation set forth in section 524.2-804 .\n\n§\nSubd. 11. Antilapse; deceased beneficiary; words of survivorship.\n(a) Except when a successor grantee beneficiary is designated in the transfer on death deed for the grantee beneficiary who did not survive the grantor owner, if a grantee beneficiary who is a grandparent or lineal descendant of a grandparent of the grantor owner fails to survive the grantor owner, the issue of the deceased grantee beneficiary who survive the grantor owner take in place of the deceased grantee beneficiary. If they are all of the same degree of kinship to the deceased grantee beneficiary, they take equally. If they are of unequal degree, those of more remote degree take by right of representation.\n\n(b) For the purposes of this subdivision, words of survivorship such as, in a conveyance to an individual, \"if he or she survives me,\" or, in a class gift, to \"my surviving children,\" are a sufficient indication of intent to condition the conveyance or transfer upon the beneficiary surviving the grantor owner.\n\n(c) When issue of a deceased grantee beneficiary or members of a class take in place of the named grantee beneficiary pursuant to subdivision 5 or paragraph (a) or (b) or when a beneficiary dies and has no issue under paragraph (a), an affidavit of survivorship stating the names and shares of the beneficiaries or stating that a deceased beneficiary had no issue is not conclusive and a court order made in accordance with Minnesota probate law determining the beneficiaries and shares must also be recorded.\n\n§\nSubd. 12. Lapse.\nIf all beneficiaries and all successor beneficiaries, if any, designated in a transfer on death deed, and also all successor beneficiaries who would take under the antilapse provisions of subdivision 11, fail to survive the grantor owner or the last survivor of the grantor owners if there are multiple grantor owners, if the beneficiary is a trust which has been revoked prior to the grantor owner's death, or if the beneficiary is an entity no longer in existence at the grantor owner's death, no transfer shall occur and the transfer on death deed is void.\n\n§\nSubd. 13. Multiple transfer on death deeds.\nIf a grantor owner executes and records more than one transfer on death deed conveying the same interest in real property or a greater interest in the real property, or conveying part of the property in the earlier transfer on death deed, the transfer on death deed that has the latest acknowledgment date and that is recorded before the death of the grantor owner upon whose death the conveyance or transfer is conditioned is the effective transfer on death deed and all other transfer on death deeds, if any, executed by the grantor owner or the grantor owners are ineffective to transfer any interest and are void, except that if the later transfer on death deed included only part of the land of the earlier deed, the earlier deed is effective for the lands not included in the subsequent deed, absent language to the contrary in the subsequent deed.\n\n§\nSubd. 14. Nonademption; unpaid proceeds of sale, condemnation, or insurance; sale by conservator or guardian.\nIf at the time of the death of the grantor owner upon whose death the conveyance or transfer is stated to be effective, the grantor owner did not own a part or all of the real property described in the transfer on death deed, no conveyance or transfer to the beneficiary of the nonowned part of the real property shall occur upon the death of the grantor owner and the transfer on death deed is void as to the nonowned part of the real property, but the beneficiary shall have the same rights to unpaid proceeds of sale, condemnation or insurance, and, if sold by a conservator or guardian of the grantor owner during the grantor owner's lifetime, the same rights to a general pecuniary devise, as that of a specific devisee as set forth in section 524.2-606 .\n\n§\nSubd. 15. Nonexoneration.\nExcept as otherwise provided in subdivision 3, a conveyance or transfer under a transfer on death deed passes the described property subject to any mortgage or security interest existing at the date of death of the grantor owner, without right of exoneration, regardless of any statutory obligations to pay the grantor owner's debts upon death and regardless of a general directive in the grantor owner's will to pay debts.\n\n§\nSubd. 16. Disclaimer by beneficiary.\nA grantee beneficiary's interest under a transfer on death deed may be disclaimed as provided in sections 524.2-1101 to 524.2-1116 , or as otherwise provided by law.\n\n§\nSubd. 17. Effect on other conveyances.\nThis section does not prohibit other methods of conveying property that are permitted by law and that have the effect of postponing ownership or enjoyment of an interest in real property until the death of the owner. This section does not invalidate any deed that is not a transfer on death deed and that is otherwise effective to convey title to the interests and estates described in the deed that is not recorded until after the death of the owner.\n\n§\nSubd. 18. Notice, consent, and delivery not required.\nThe signature, consent or agreement of, or notice to, a grantee beneficiary under a transfer on death deed, or delivery of the transfer on death deed to the grantee beneficiary, is not required for any purpose during the lifetime of the grantor owner.\n\n§\nSubd. 19. Nonrevocation by will.\nA transfer on death deed that is executed, acknowledged, and recorded in accordance with this section is not revoked by the provisions of a will.\n\n§\nSubd. 20. Proof of survivorship and clearance from public assistance claims and liens; recording.\nAn affidavit of identity and survivorship with a certified copy of a record of death as an attachment may be combined with a clearance certificate under this section and the combined documents may be recorded separately or as one document in each county in which the real estate described in the clearance certificate is located. The affidavit must include the name and mailing address of the person to whom future property tax statements should be sent. The affidavit, record of death, and clearance certificate, whether combined or separate, shall be prima facie evidence of the facts stated in each, and the registrar of titles may rely on the statements to transfer title to the property described in the clearance certificate, except in cases where a court order is required pursuant to the provisions of subdivision 11, paragraph (c).\n\n§\nSubd. 21. After-acquired property.\nExcept as provided in this subdivision, a transfer on death deed is not effective to transfer any interest in real property acquired by a grantor owner subsequent to the date of signing of a transfer on death deed. A grantor owner may provide by specific language in a transfer on death deed that the transfer on death deed will apply to any interest in the described property acquired by the grantor owner after the signing or recording of the deed.\n\n§\nSubd. 22. Anticipatory alienation prohibited.\nThe interest of a grantee beneficiary under a transfer on death deed which has not yet become effective is not subject to alienation; assignment; encumbrance; appointment or anticipation by the beneficiary; garnishment; attachment; execution or bankruptcy proceedings; claims for alimony, support, or maintenance; payment of other obligations by any person against the beneficiary; or any other transfer, voluntary or involuntary, by or from any beneficiary.\n\n§\nSubd. 23. Clearance for public assistance claims and liens.\nAny person claiming an interest in real property conveyed or transferred by a transfer on death deed, or the person's attorney or other agent, may apply to the county agency in the county in which the real property is located for a clearance certificate for the real property described in the transfer on death deed. The application for a clearance certificate and the clearance certificate must contain the legal description of each parcel of property covered by the clearance certificate. The county agency shall provide a sufficient number of clearance certificates to allow a clearance certificate to be recorded in each county in which the real property described in the transfer on death deed is located. The real property described in the clearance certificate is bound by any conditions or other requirements imposed by the county agency as specified in the clearance certificate. If the real property is registered property, a new certificate of title must not be issued until the clearance certificate is recorded. If the clearance certificate shows the continuation of a medical assistance claim or lien after issuance of the clearance certificate, the real property remains subject to the claim or lien. If the real property is registered property, the clearance certificate must be carried forward as a memorial in any new certificate of title. The application shall contain the same information and shall be submitted, processed, and resolved in the same manner and on the same terms and conditions as provided in section 525.313 for a clearance certificate in a decree of descent proceeding, except that a copy of a notice of hearing does not have to accompany the application. The application may contain a statement that the applicant, after reasonably diligent inquiry, is not aware of the existence of a predeceased spouse or the existence of a claim which could be recovered under section 246.53 , 256B.15 , 256D.16 , 261.04 , or 514.981 . If the county agency determines that a claim or lien exists under section 246.53 , 256B.15 , 256D.16 , 261.04 , or 514.981 , the provisions of section 525.313 shall apply to collection, compromise, and settlement of the claim or lien. A person claiming an interest in real property transferred or conveyed by a transfer on death deed may petition or move the district court, as appropriate, in the county in which the real property is located or in the county in which a probate proceeding affecting the estate of the grantor of the transfer on death deed is pending, for an order allowing sale of the real property free and clear of any public assistance claim or lien but subject to disposition of the sale proceeds as provided in section 525.313 . On a showing of good cause and subject to such notice as the court may require, the court without hearing may issue an order allowing the sale free and clear of any public assistance claim or lien on such terms and conditions as the court deems advisable to protect the interests of the state or county agency.\n\n§\nSubd. 24. Form of transfer on death deed.\nA transfer on death deed may be substantially in the following form:\n\nTransfer on Death Deed\n\nI (we) ................................... (grantor owner or owners and spouses, if any, with marital status designated), grantor(s), hereby convey(s) and quitclaim(s) to .................................. (grantee beneficiary, whether one or more) effective (check only one of the following)\n\n.... on the death of the grantor owner, if only one grantor is named above, or on the death of the last of the grantor owners to die, if more than one grantor owner is named above, or\n\n.... on the death of (name of grantor owner)\n\n........................................... (must be one of the grantor owners named above), the following described real property:\n\n(Legal description)\n\nIf checked, the following optional statement applies:\n\n....When effective, this instrument conveys any and all interests in the described real property acquired by the grantor owner(s) before, on, or after the date of this instrument.\n\n.\n\n(Signature of grantor(s))\n\n(acknowledgment)\n\n§\nSubd. 25. Form of instrument of revocation.\nAn instrument of revocation may be substantially in the following form:\n\nRevocation of Transfer on Death Deed\n\nThe undersigned hereby revokes the transfer on death deed recorded on .........., ...., as Document No. .......... (or in Book .......... of ........., Page .....) in the office of the (County Recorder) (Registrar of Titles) of ............ County, Minnesota, affecting real property legally described as follows:\n\n(legal description)\n\nDated:\n\n.\n\nSignature\n\n(acknowledgment)\n\n§\nSubd. 26. Jurisdiction.\nIn counties where the district court has a probate division, the application of subdivision 11 or other issues of interpretation or validity of the transfer on death deed, and actions to enforce a medical assistance lien or claim against real property described in a transfer on death deed and any matter raised in connection with enforcement shall be determined in the probate division. In other counties, the district court shall have jurisdiction to determine any matter affecting real property purporting to be transferred by a transfer on death deed. Notwithstanding any other law to the contrary, the provisions of section 256B.15 shall apply to any proceeding to enforce a medical assistance lien or claim under chapter 524 or 525.\n\nHistory:\n2008 c 341 art 2 s 5 ; 2009 c 30 art 1 s 1 ,2; 2010 c 382 s 77 ; 2014 c 266 s 4 -9; 2024 c 91 s 1 ; 2025 c 38 art 3 s 74" + }, + { + "id": "mn-145c-16", + "jurisdiction": "MN", + "title": "Minnesota Statutes — Health Care Directive Suggested Form", + "statuteReference": "Minn. Stat. § 145C.16", + "sourceUrl": "https://www.revisor.mn.gov/statutes/cite/145C.16", + "publisher": "Minnesota Office of the Revisor of Statutes", + "licenseNote": "U.S. state statute — public domain (Minnesota Statutes)", + "verifiedAt": "2026-06-14T00:00:00Z", + "text": "145C.16 SUGGESTED FORM.\nThe following is a suggested form of a health care directive and is not a required form.\n\nHEALTH CARE DIRECTIVE\n\nI, ..........................., understand this document allows me to do ONE OR BOTH of the following:\n\nPART I: Name another person (called the health care agent) to make health care decisions for me if I am unable to decide or speak for myself. My health care agent must make health care decisions for me based on the instructions I provide in this document (Part II), if any, the wishes I have made known to him or her, or must act in my best interest if I have not made my health care wishes known.\n\nAND/OR\n\nPART II: Give health care instructions to guide others making health care decisions for me. If I have named a health care agent, these instructions are to be used by the agent. These instructions may also be used by my health care providers, others assisting with my health care and my family, in the event I cannot make decisions for myself.\n\nPART I: APPOINTMENT OF HEALTH CARE AGENT\n\nTHIS IS WHO I WANT TO MAKE HEALTH CARE DECISIONS\n\nFOR ME IF I AM UNABLE TO DECIDE OR SPEAK FOR MYSELF\n\n(I know I can change my agent or alternate agent at any time and I know I do not have to appoint an agent or an alternate agent)\n\nNOTE: If you appoint an agent, you should discuss this health care directive with your agent and give your agent a copy. If you do not wish to appoint an agent, you may leave Part I blank and go to Part II.\n\nWhen I am unable to decide or speak for myself, I trust and appoint .......................... to make health care decisions for me. This person is called my health care agent.\n\nRelationship of my health care agent to me:\n.\n\nTelephone number of my health care agent:\n.\n\nAddress of my health care agent:\n.\n\n(OPTIONAL) APPOINTMENT OF ALTERNATE HEALTH CARE AGENT: If my health care agent is not reasonably available, I trust and appoint .................... to be my health care agent instead.\n\nRelationship of my alternate health care agent to me:\n.\n\nTelephone number of my alternate health care agent:\n.\n\nAddress of my alternate health care agent:\n.\n\nTHIS IS WHAT I WANT MY HEALTH CARE AGENT TO BE ABLE TO\n\nDO IF I AM UNABLE TO DECIDE OR SPEAK FOR MYSELF\n\n(I know I can change these choices)\n\nMy health care agent is automatically given the powers listed below in (A) through (D). My health care agent must follow my health care instructions in this document or any other instructions I have given to my agent. If I have not given health care instructions, then my agent must act in my best interest.\n\nWhenever I am unable to decide or speak for myself, my health care agent has the power to:\n\n(A) Make any health care decision for me. This includes the power to give, refuse, or withdraw consent to any care, treatment, service, or procedures. This includes deciding whether to stop or not start health care that is keeping me or might keep me alive, and deciding about intrusive mental health treatment.\n\n(B) Choose my health care providers.\n\n(C) Choose where I live and receive care and support when those choices relate to my health care needs.\n\n(D) Review my medical records and have the same rights that I would have to give my medical records to other people.\n\nIf I DO NOT want my health care agent to have a power listed above in (A) through (D) OR if I want to LIMIT any power in (A) through (D), I MUST say that here:\n\n.\n\n.\n\n.\n\nMy health care agent is NOT automatically given the powers listed below in (1) and (2). If I WANT my agent to have any of the powers in (1) and (2), I must INITIAL the line in front of the power; then my agent WILL HAVE that power.\n\n.\n\n(1)\n\nTo decide whether to donate any parts of my body, including organs, tissues, and eyes, when I die.\n\n.\n\n(2)\n\nTo decide what will happen with my body when I die (burial, cremation).\n\nIf I want to say anything more about my health care agent's powers or limits on the powers, I can say it here:\n\n.\n\n.\n\n.\n\nPART II: HEALTH CARE INSTRUCTIONS\n\nNOTE: Complete this Part II if you wish to give health care instructions. If you appointed an agent in Part I, completing this Part II is optional but would be very helpful to your agent. However, if you chose not to appoint an agent in Part I, you MUST complete some or all of this Part II if you wish to make a valid health care directive.\n\nThese are instructions for my health care when I am unable to decide or speak for myself. These instructions must be followed (so long as they address my needs).\n\nTHESE ARE MY BELIEFS AND VALUES ABOUT MY HEALTH CARE\n\n(I know I can change these choices or leave any of them blank)\n\nI want you to know these things about me to help you make decisions about my health care:\n\nMy goals for my health care:\n.\n\n.\n\n.\n\nMy fears about my health care:\n.\n\n.\n\n.\n\nMy spiritual or religious beliefs and traditions:\n.\n\n.\n\n.\n\nMy beliefs about when life would be no longer worth living:\n.\n\n.\n\n.\n\nMy thoughts about how my medical condition might affect my family:\n.\n\n.\n\n.\n\nTHIS IS WHAT I WANT AND DO NOT WANT FOR MY HEALTH CARE\n\n(I know I can change these choices or leave any of them blank)\n\nMany medical treatments may be used to try to improve my medical condition or to prolong my life. Examples include artificial breathing by a machine connected to a tube in the lungs, artificial feeding or fluids through tubes, attempts to start a stopped heart, surgeries, dialysis, antibiotics, and blood transfusions. Most medical treatments can be tried for a while and then stopped if they do not help.\n\nI have these views about my health care in these situations:\n\n(Note: You can discuss general feelings, specific treatments, or leave any of them blank)\n\nIf I had a reasonable chance of recovery, and were temporarily unable to decide or speak for myself, I would want:\n.\n\n.\n\n.\n\nIf I were dying and unable to decide or speak for myself, I would want:\n.\n\n.\n\n.\n\nIf I were permanently unconscious and unable to decide or speak for myself, I would want:\n.\n\n.\n\n.\n\nIf I were completely dependent on others for my care and unable to decide or speak for myself, I would want:\n.\n\n.\n\n.\n\nIn all circumstances, my doctors, advanced practice registered nurses, or physician assistants will try to keep me comfortable and reduce my pain. This is how I feel about pain relief if it would affect my alertness or if it could shorten my life:\n.\n\n.\n\n.\n\nThere are other things that I want or do not want for my health care, if possible:\n\nWho I would like to be my doctor, advanced practice registered nurse, or physician assistant:\n.\n\n.\n\n.\n\nWhere I would like to live to receive health care:\n.\n\n.\n\n.\n\nWhere I would like to die and other wishes I have about dying:\n.\n\n.\n\n.\n\nMy wishes about donating parts of my body when I die:\n.\n\n.\n\n.\n\nMy wishes about what happens to my body when I die (cremation, burial):\n.\n\n.\n\n.\n\nAny other things:\n.\n\n.\n\n.\n\nPART III: MAKING THE DOCUMENT LEGAL\n\nThis document must be signed by me. It also must either be verified by a notary public (Option 1) OR witnessed by two witnesses (Option 2). It must be dated when it is verified or witnessed.\n\nI am thinking clearly, I agree with everything that is written in this document, and I have made this document willingly.\n\n.\n\nMy Signature\n\nDate signed:\n\n.\n\nDate of birth:\n\n.\n\nAddress:\n\n.\n\n.\n\nIf I cannot sign my name, I can ask someone to sign this document for me.\n\n.\n\nSignature of the person who I asked to sign this document for me.\n\n.\n\nPrinted name of the person who I asked to sign this document for me.\n\nOption 1: Notary Public\n\nIn my presence on .................... (date), ....................... (name) acknowledged his/her signature on this document or acknowledged that he/she authorized the person signing this document to sign on his/her behalf. I am not named as a health care agent or alternate health care agent in this document.\n\n.\n\n(Signature of Notary)\n(Notary Stamp)\n\nOption 2: Two Witnesses\n\nTwo witnesses must sign. Only one of the two witnesses can be a health care provider or an employee of a health care provider giving direct care to me on the day I sign this document.\n\nWitness One:\n\n(i) In my presence on ............... (date), ............... (name) acknowledged his/her signature on this document or acknowledged that he/she authorized the person signing this document to sign on his/her behalf.\n\n(ii) I am at least 18 years of age.\n\n(iii) I am not named as a health care agent or an alternate health care agent in this document.\n\n(iv) If I am a health care provider or an employee of a health care provider giving direct care to the person listed above in (A), I must initial this box: [ ]\n\nI certify that the information in (i) through (iv) is true and correct.\n\n.\n\n(Signature of Witness One)\n\nAddress:\n\n.\n\n.\n\nWitness Two:\n\n(i) In my presence on .............. (date), ................. (name) acknowledged his/her signature on this document or acknowledged that he/she authorized the person signing this document to sign on his/her behalf.\n\n(ii) I am at least 18 years of age.\n\n(iii) I am not named as a health care agent or an alternate health care agent in this document.\n\n(iv) If I am a health care provider or an employee of a health care provider giving direct care to the person listed above in (A), I must initial this box: [ ]\n\nI certify that the information in (i) through (iv) is true and correct.\n\n.\n\n(Signature of Witness Two)\n\nAddress:\n\n.\n\n.\n\nREMINDER: Keep this document with your personal papers in a safe place (not in a safe deposit box). Give signed copies to your doctors, advanced practice registered nurses, physician assistants, family, close friends, health care agent, and alternate health care agent. Make sure your doctor, advanced practice registered nurse, or physician assistant is willing to follow your wishes. This document should be part of your medical record at your physician's, advanced practice registered nurse's, or physician assistant's office and at the hospital, home care agency, hospice, or nursing facility where you receive your care.\n\nHistory:\n1998 c 399 s 24 ; 1999 c 14 s 1 ; 2020 c 115 art 4 s 72 ; 2022 c 58 s 83" + }, + { + "id": "mn-145c-05", + "jurisdiction": "MN", + "title": "Minnesota Statutes — Health Care Directive; Provisions That May Be Included", + "statuteReference": "Minn. Stat. § 145C.05", + "sourceUrl": "https://www.revisor.mn.gov/statutes/cite/145C.05", + "publisher": "Minnesota Office of the Revisor of Statutes", + "licenseNote": "U.S. state statute — public domain (Minnesota Statutes)", + "verifiedAt": "2026-06-14T00:00:00Z", + "text": "145C.05 SUGGESTED FORM; PROVISIONS THAT MAY BE INCLUDED.\n\n§\nSubdivision 1. Content.\nA health care directive executed pursuant to this chapter may, but need not, be in the form contained in section 145C.16 .\n\n§\nSubd. 2. Provisions that may be included.\n(a) A health care directive may include provisions consistent with this chapter, including, but not limited to:\n\n(1) the designation of one or more alternate health care agents to act if the named health care agent is not reasonably available to serve;\n\n(2) directions to joint health care agents regarding the process or standards by which the health care agents are to reach a health care decision for the principal, and a statement whether joint health care agents may act independently of one another;\n\n(3) limitations, if any, on the right of the health care agent or any alternate health care agents to receive, review, obtain copies of, and consent to the disclosure of the principal's medical records or to visit the principal when the principal is a patient in a health care facility;\n\n(4) limitations, if any, on the nomination of the health care agent as guardian for purposes of sections 524.5-202 , 524.5-211 , 524.5-302 , and 524.5-303 ;\n\n(5) a document of gift for the purpose of making an anatomical gift, as set forth in chapter 525A, or an amendment to, revocation of, or refusal to make an anatomical gift;\n\n(6) a declaration regarding intrusive mental health treatment under section 253B.03, subdivision 6d , or a statement that the health care agent is authorized to give consent for the principal under section 253B.04, subdivision 1a ;\n\n(7) a funeral directive as provided in section 149A.80, subdivision 2 ;\n\n(8) limitations, if any, to the effect of dissolution or annulment of marriage or termination of domestic partnership on the appointment of a health care agent under section 145C.09, subdivision 2 ;\n\n(9) specific reasons why a principal wants a health care provider or an employee of a health care provider attending the principal to be eligible to act as the principal's health care agent;\n\n(10) health care instructions by a woman of child bearing age regarding how she would like her pregnancy, if any, to affect health care decisions made on her behalf;\n\n(11) health care instructions regarding artificially administered nutrition or hydration; and\n\n(12) health care instructions to prohibit administering, dispensing, or prescribing an opioid, except that these instructions must not be construed to limit the administering, dispensing, or prescribing an opioid to treat substance abuse, opioid dependence, or an overdose, unless otherwise prohibited in the health care directive.\n\n(b) A health care directive may include a statement of the circumstances under which the directive becomes effective other than upon the judgment of the principal's attending physician, advanced practice registered nurse, or physician assistant in the following situations:\n\n(1) a principal who in good faith generally selects and depends upon spiritual means or prayer for the treatment or care of disease or remedial care and does not have an attending physician, advanced practice registered nurse, or physician assistant, may include a statement appointing an individual who may determine the principal's decision-making capacity; and\n\n(2) a principal who in good faith does not generally select a physician, advanced practice registered nurse, or physician assistant or a health care facility for the principal's health care needs may include a statement appointing an individual who may determine the principal's decision-making capacity, provided that if the need to determine the principal's capacity arises when the principal is receiving care under the direction of an attending physician, advanced practice registered nurse, or physician assistant in a health care facility, the determination must be made by an attending physician, advanced practice registered nurse, or physician assistant after consultation with the appointed individual.\n\nIf a person appointed under clause (1) or (2) is not reasonably available and the principal is receiving care under the direction of an attending physician, advanced practice registered nurse, or physician assistant in a health care facility, an attending physician, advanced practice registered nurse, or physician assistant shall determine the principal's decision-making capacity.\n\n(c) A health care directive may authorize a health care agent to make health care decisions for a principal even though the principal retains decision-making capacity.\n\nHistory:\n1993 c 312 s 6 ; 1995 c 211 s 2 ; 1998 c 399 s 15 ,16; 2004 c 146 art 3 s 3 ; 2007 c 120 art 2 s 4 ; 2007 c 147 art 9 s 22 ; 2019 c 63 art 2 s 1 ; 2020 c 115 art 4 s 69 ; 2022 c 58 s 80" + } + ] +} diff --git a/docs/legal-corpus/manifest.md b/docs/legal-corpus/manifest.md index 0d27a5a..4c13124 100644 --- a/docs/legal-corpus/manifest.md +++ b/docs/legal-corpus/manifest.md @@ -22,10 +22,42 @@ GA corpus sources must be official statute, regulation, or court-rule publishers | Jurisdiction | Source family | Status | |---|---|---| -| IL | 755 ILCS 5, 755 ILCS 35, 755 ILCS 45, 760 ILCS 3, Cook County probate rules | pending ingest | +| IL | 755 ILCS 5, 755 ILCS 35, 755 ILCS 45, 760 ILCS 3, Cook County probate rules | first set sourced (5/4-3, 45/3-3, 45/4-10) — see below | | US | 26 USC 2001-2058, HIPAA Privacy Rule, ABA Model Rules excerpts | pending ingest | -| MD | Health-General 5-601 through 5-618 | pending ingest | -| MN | Chapter 145C and relevant guardianship/conservatorship references | pending ingest | +| MD | Health-General 5-601 through 5-618 | first set sourced (HG § 5-603) — see below | +| MN | Chapter 145C and relevant guardianship/conservatorship references | first set sourced (507.071, 145C.05, 145C.16) — see below | + +### Sourced forms — launch states (manifest: `launch-states.json`) + +First obvious estate-planning forms for IL/MD/MN, sourced **verbatim** from official +state legislature / revisor publishers only (Rule 9). Captured via deterministic +HTML-to-text extraction (no LLM in the text path); each source URL is recorded per +chunk by the ingestion pipeline. Retrieved/verified **2026-06-14**. + +| id | Juris | Citation | Form | Official source | Chunks | +|---|---|---|---|---|---| +| `il-755-ilcs-5-4-3` | IL | 755 ILCS 5/4-3 | Probate Act — will signing & attestation | [ilga.gov](https://www.ilga.gov/documents/legislation/ilcs/documents/075500050K4-3.htm) | 1 | +| `il-755-ilcs-45-3-3` | IL | 755 ILCS 45/3-3 | POA Act — statutory short form POA for **property** | [ilga.gov](https://www.ilga.gov/documents/legislation/ilcs/documents/075500450K3-3.htm) | 13 | +| `il-755-ilcs-45-4-10` | IL | 755 ILCS 45/4-10 | POA Act — statutory short form POA for **health care** | [ilga.gov](https://www.ilga.gov/documents/legislation/ilcs/documents/075500450K4-10.htm) | 15 | +| `md-hg-5-603` | MD | Md. Code, Health-General § 5-603 | Advance directive statutory form | [mgaleg.maryland.gov](https://mgaleg.maryland.gov/mgawebsite/Laws/StatuteText?article=ghg§ion=5-603&enactments=false) | 10 | +| `mn-507-071` | MN | Minn. Stat. § 507.071 | Transfer-on-death deed (TODD) + form | [revisor.mn.gov](https://www.revisor.mn.gov/statutes/cite/507.071) | 16 | +| `mn-145c-05` | MN | Minn. Stat. § 145C.05 | Health care directive — provisions that may be included | [revisor.mn.gov](https://www.revisor.mn.gov/statutes/cite/145C.05) | 3 | +| `mn-145c-16` | MN | Minn. Stat. § 145C.16 | Health care directive — suggested form | [revisor.mn.gov](https://www.revisor.mn.gov/statutes/cite/145C.16) | 6 | + +Dry-run (`go run ./cmd/corpus-ingest -manifest ../docs/legal-corpus/launch-states.json -dry-run`): +**7 sources, 64 chunks — PASS** (all sources validated; nothing embedded or written). + +**Gaps / not yet sourced (Rule 9 — recorded, not invented):** +- IL has **no fill-in-the-blank statutory will form** in 755 ILCS 5 (unlike CA Prob. Code). + Will validity is governed by execution requirements (755 ILCS 5/4-3, sourced). A + full self-proving-will template would come from court/forms sources, not a statute — + deferred pending owner/legal direction. +- MN statutory **will** is likewise not a single fill-in form; MN intestacy/will rules + live in 524.2-xxx (Uniform Probate Code). Only the TODD + health-care-directive forms + are sourced in this first set. +- MD POA / estates-&-trusts statutory forms (Est. & Trusts Title 17) and MD additional + advance-directive variants are not yet sourced — next batch. +- US federal estate tax (26 USC 2001) and HIPAA excerpts remain pending ingest. ## Ingestion (`api/cmd/corpus-ingest`) From 4a4500aafc91232fd01ce5302b25fb042be29fa1 Mon Sep 17 00:00:00 2001 From: SirsiMaster <98624707+cyltoncollymore@users.noreply.github.com> Date: Sun, 14 Jun 2026 13:50:20 -0400 Subject: [PATCH 02/37] fix(googlephotos): canonical NotFound dedupe + loud bucket-fallback guard Two integration-correctness fixes in the Google Photos import handler: - Dedupe: hasHash() compared err to iterator.Done, which a single-doc Doc().Get() miss never returns (that sentinel is only for iterator.Next()). The dead branch was masked by a brittle strings.Contains("NotFound") fallback. Replace both with the canonical status.Code(err)==codes.NotFound check used elsewhere in the repo (payments/handlers.go), and drop the string-match fallback. Removes the unused google.golang.org/api/iterator import; adds grpc/codes + grpc/status. - Bucket orphaning: NewHandler silently substituted the literal "finalwishes-vault" when handed an empty bucket. Under a non-default prod bucket that silent fallback writes imported heirlooms to a bucket the signed-URL download path never reads, orphaning the photos. Keep the literal for dev but emit a high-visibility log.Warn on fallback so a prod env-var misconfiguration is visible instead of invisibly orphaning imports. Document the default's sync contract with the rest of the vault pipeline. (The matching VAULT_STORAGE_BUCKET->VAULT_BUCKET env-name unification in cmd/api/main.go is owned by the probate-bucket worktree to keep globs disjoint.) Refs: api-googlephotos-bucket-dedupe (P1) Changelog: Fixed Google Photos imports orphaning into a mismatched bucket under non-default prod config, and hardened the duplicate-photo check to use the canonical gRPC NotFound status instead of a dead iterator.Done sentinel. Co-Authored-By: Claude Opus 4.8 (1M context) --- api/internal/googlephotos/handler.go | 31 ++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/api/internal/googlephotos/handler.go b/api/internal/googlephotos/handler.go index 5448682..6193d84 100644 --- a/api/internal/googlephotos/handler.go +++ b/api/internal/googlephotos/handler.go @@ -14,7 +14,8 @@ import ( "cloud.google.com/go/storage" "github.com/go-chi/chi/v5" "github.com/rs/zerolog/log" - "google.golang.org/api/iterator" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" "github.com/sirsi-technologies/finalwishes-api/internal/auth" ) @@ -28,9 +29,26 @@ type Handler struct { bucket string } +// defaultVaultBucket is the dev/default vault bucket name. It MUST stay in sync +// with the default used by the rest of the vault/storage pipeline (vault, +// docintell, certmail) so that imported Google Photos heirlooms land in the +// exact same bucket the signed-URL download path later reads from. If a deploy +// configures a non-default prod bucket, the caller (cmd/api) must pass it +// explicitly — falling back to this literal under a non-default prod config +// would orphan imported photos in a bucket nothing else reads. +const defaultVaultBucket = "finalwishes-vault" + func NewHandler(fs *firestore.Client, sc *storage.Client, picker *PickerClient, bucket string) *Handler { if bucket == "" { - bucket = "finalwishes-vault" + // A blank bucket means the vault-bucket env var resolved to empty at + // startup. Surface it loudly: a silent literal substitution here is the + // exact mechanism by which imports get written to a bucket the download + // path never reads. The literal keeps dev working, but the warning makes + // a prod misconfiguration visible instead of invisibly orphaning photos. + log.Warn(). + Str("fallback_bucket", defaultVaultBucket). + Msg("Google Photos handler received empty vault bucket; falling back to default — verify the vault-bucket env var matches the rest of the vault pipeline in prod") + bucket = defaultVaultBucket } return &Handler{fs: fs, sc: sc, picker: picker, bucket: bucket} } @@ -216,10 +234,11 @@ func (h *Handler) hasHash(ctx context.Context, estateID, sha string) (bool, erro if err == nil { return true, nil } - if iterator.Done == err { - return false, nil - } - if strings.Contains(err.Error(), "NotFound") || strings.Contains(err.Error(), "not found") { + // A Firestore single-doc Get on a missing document returns a gRPC NotFound + // status — this is the canonical "no duplicate" signal (the iterator.Done + // sentinel only ever comes from iterator.Next(), never Doc().Get()). Match + // the repo convention used in payments/handlers.go (status.Code(err)==...). + if status.Code(err) == codes.NotFound { return false, nil } // Any other error (transient, permission, config) is NOT "no duplicate" — From ac93155508fd640afc531e5318815f53019962de Mon Sep 17 00:00:00 2001 From: SirsiMaster <98624707+cyltoncollymore@users.noreply.github.com> Date: Sun, 14 Jun 2026 13:50:21 -0400 Subject: [PATCH 03/37] fix(web): remove email.ts 'system' createdBy trap (fail-closed mail rule) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit email.ts helpers defaulted createdBy to 'system', which the fail-closed mail create rule (createdBy == request.auth.uid) rejects — a latent trap that would silently fail the instant any helper was wired up. - sendEmail: createdBy now required; throws eagerly on a falsy uid instead of writing a doc Firestore will reject. - sendInvitation/Welcome/NotificationEmail: userId param is now required. - sendPasswordResetNotification: runs unauthenticated and cannot satisfy the rule client-side; now throws and documents the server-only (Go API / Admin SDK) path instead of queuing a doomed doc. - useEmailService: resolves the signed-in uid (throws if unauthenticated) and drops the unauthenticated password-reset from its surface. No firestore.rules change — the rule is correctly fail-closed. Refs: web-email-helpers-trap (P2 RC-blocker audit) Changelog: Fixed latent dead-code mismatch where email.ts helpers defaulted createdBy to 'system' and would be silently denied by the fail-closed mail create rule. Co-Authored-By: Claude Opus 4.8 (1M context) --- web/src/lib/email.ts | 92 +++++++++++++++++++++++++++++--------------- 1 file changed, 61 insertions(+), 31 deletions(-) diff --git a/web/src/lib/email.ts b/web/src/lib/email.ts index 88df9f0..e15ee7d 100644 --- a/web/src/lib/email.ts +++ b/web/src/lib/email.ts @@ -13,6 +13,17 @@ * * @see https://extensions.dev/extensions/firebase/firestore-send-email * @see docs/ADR-037, SECURITY_COMPLIANCE.md §12 + * + * SECURITY — fail-closed write attribution: + * The `mail` create rule (firestore.rules) requires + * `request.resource.data.createdBy == request.auth.uid`. Every send MUST + * therefore carry the *authenticated* caller's uid — there is no `'system'` + * actor on the client. `userId` is required on all helpers; passing a falsy + * value throws immediately instead of writing a doc the rule will reject + * (which previously failed silently the moment a helper was wired up). + * Unauthenticated sends (e.g. password-reset, where no user is signed in) + * cannot satisfy the rule client-side and must route through the Go API / + * Admin SDK — see `sendPasswordResetNotification` below. */ import { addDoc, collection, serverTimestamp } from 'firebase/firestore'; @@ -67,13 +78,24 @@ interface NotificationEmailData { * Sends an email by writing to the Firestore `mail` collection. * The Firebase Trigger Email extension handles actual delivery. * + * @param createdBy - The authenticated caller's uid. REQUIRED: the `mail` + * create rule pins `createdBy` to `request.auth.uid`, so a falsy value + * would be silently rejected by Firestore. We throw eagerly instead. * @returns The document ID of the mail record (for tracking) */ -async function sendEmail(options: EmailOptions, createdBy?: string): Promise { +async function sendEmail(options: EmailOptions, createdBy: string): Promise { + if (!createdBy) { + throw new Error( + 'sendEmail requires the authenticated user uid (createdBy). ' + + 'The mail create rule pins createdBy to request.auth.uid; ' + + 'unauthenticated sends must route through the Go API / Admin SDK.', + ); + } + const mailDoc: Record = { to: Array.isArray(options.to) ? options.to : [options.to], createdAt: serverTimestamp(), - createdBy: createdBy || 'system', + createdBy, }; // Use template or direct content @@ -97,7 +119,7 @@ async function sendEmail(options: EmailOptions, createdBy?: string): Promise { +export async function sendInvitationEmail(data: InvitationEmailData, userId: string): Promise { const roleLabel = { executor: 'Executor', heir: 'Beneficiary', @@ -125,7 +147,7 @@ export async function sendInvitationEmail(data: InvitationEmailData, userId?: st /** * Send a welcome email after registration. */ -export async function sendWelcomeEmail(data: WelcomeEmailData, userId?: string): Promise { +export async function sendWelcomeEmail(data: WelcomeEmailData, userId: string): Promise { return sendEmail({ to: data.recipientEmail, subject: 'Welcome to FinalWishes — Your Estate Operating System', @@ -143,7 +165,7 @@ export async function sendWelcomeEmail(data: WelcomeEmailData, userId?: string): /** * Send an estate notification email (deadline, update, etc.) */ -export async function sendNotificationEmail(data: NotificationEmailData, userId?: string): Promise { +export async function sendNotificationEmail(data: NotificationEmailData, userId: string): Promise { return sendEmail({ to: data.recipientEmail, subject: `[${data.estateName}] ${data.notificationType} — FinalWishes`, @@ -163,46 +185,54 @@ export async function sendNotificationEmail(data: NotificationEmailData, userId? /** * Send a password reset confirmation email. - * Note: Firebase Auth handles the actual reset email — this is - * a supplemental notification for audit purposes. + * + * IMPORTANT — server-only: this fires during the password-reset flow, when + * NO user is signed in. The `mail` create rule requires + * `createdBy == request.auth.uid`, which an unauthenticated client cannot + * satisfy, so this notification CANNOT be sent from the browser. It must be + * issued server-side via the Go API / Firebase Admin SDK (which bypasses + * security rules), keyed to the audited request. + * + * Firebase Auth already handles the actual reset email; this supplemental + * audit notification is intentionally not wired client-side. Calling it from + * the browser throws immediately rather than queuing a doc the rule rejects. + * + * @throws Always — there is no authenticated client path for this send. */ -export async function sendPasswordResetNotification(email: string): Promise { - return sendEmail({ - to: email, - subject: 'Password Reset Requested — FinalWishes', - html: ` -
-
-

FinalWishes

-
-
-

A password reset was requested for your FinalWishes account.

-

If you did not request this, please contact support immediately at support@finalwishes.app.

-
-

This is an automated security notification from FinalWishes.

-
-
- `, - text: 'A password reset was requested for your FinalWishes account. If you did not request this, please contact support@finalwishes.app immediately.', - }); +export async function sendPasswordResetNotification(_email: string): Promise { + throw new Error( + 'sendPasswordResetNotification must run server-side (Go API / Admin SDK): ' + + 'the password-reset flow is unauthenticated and cannot satisfy the ' + + 'fail-closed mail create rule (createdBy == request.auth.uid).', + ); } /** * React hook wrapper for sending emails with the current user's context. + * + * Every sender resolves the signed-in user's uid for `createdBy`. If no user + * is authenticated the send throws (the `mail` rule would reject it anyway), + * so callers should gate UI on auth state. Password-reset notifications are + * deliberately absent here — they run unauthenticated and are server-only. */ export function useEmailService() { const { user } = useAuth(); + const requireUid = (): string => { + if (!user?.uid) { + throw new Error('Email sends require an authenticated user.'); + } + return user.uid; + }; + return { sendInvitation: (data: InvitationEmailData) => - sendInvitationEmail(data, user?.uid), + sendInvitationEmail(data, requireUid()), sendWelcome: (data: WelcomeEmailData) => - sendWelcomeEmail(data, user?.uid), + sendWelcomeEmail(data, requireUid()), sendNotification: (data: NotificationEmailData) => - sendNotificationEmail(data, user?.uid), - - sendPasswordResetNotification, + sendNotificationEmail(data, requireUid()), }; } From dd12e6d9c22a6a2f9ce74a9755d12d8680622098 Mon Sep 17 00:00:00 2001 From: SirsiMaster <98624707+cyltoncollymore@users.noreply.github.com> Date: Sun, 14 Jun 2026 13:50:36 -0400 Subject: [PATCH 04/37] docs(rule30): document all 26 lib modules, 4 missing routes, fix stale versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rule 30 doc-currency sweep (docs-only, no code change): - web/src/lib/README.md: expand Files table from 10 to all 26 shipped modules, each with one-line purpose + governing ADR. Add Flagship Subsystem Architecture sections for persona (ADR-046), the Shepherd (ADR-040), and the Illinois Probate Engine (ADR-043). Fix stale "Firestore Rules v3.0.0" -> v5.0.0 (Architecture + Security sections). - web/src/routes/README.md: add 4 missing shipped routes (forms, life-chapters, probate, soul-log) plus events; mark code-split (.lazy.tsx) routes with a legend; correct the now-false "no route-level code splitting yet" Known Limitation. - docs/ADR-INDEX.md: fix header that named the wrong product ("Sirsi Nexus platform" -> "FinalWishes (The Estate Operating System)"); bump Last updated to 2026-06-14. Refs: RC-blocker docs-rule30-readmes bucket (P2) Changelog: Docs — lib/routes/ADR-INDEX READMEs reconciled to shipped state; Firestore rules version corrected to v5.0.0. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/ADR-INDEX.md | 4 +- web/src/lib/README.md | 96 ++++++++++++++++++++++++++++++++++------ web/src/routes/README.md | 27 +++++++---- 3 files changed, 103 insertions(+), 24 deletions(-) diff --git a/docs/ADR-INDEX.md b/docs/ADR-INDEX.md index 8907f66..c02aa9a 100644 --- a/docs/ADR-INDEX.md +++ b/docs/ADR-INDEX.md @@ -1,6 +1,6 @@ # Architecture Decision Records (ADR) Index -This document indexes all Architecture Decision Records for the Sirsi Nexus platform. +This document indexes all Architecture Decision Records for FinalWishes (The Estate Operating System). ## What is an ADR? @@ -124,4 +124,4 @@ Each ADR follows this structure: --- -*Last updated: 2026-04-14* +*Last updated: 2026-06-14* diff --git a/web/src/lib/README.md b/web/src/lib/README.md index 1c64401..09085c9 100644 --- a/web/src/lib/README.md +++ b/web/src/lib/README.md @@ -4,22 +4,90 @@ ## Files -| File | Purpose | -|------|---------| -| `firebase.ts` | Firebase app initialization (Auth, Firestore, Analytics, Performance) | -| `auth.tsx` | React Auth context/provider — email + username login, MFA support, demo mode | -| `mfa.ts` | TOTP enrollment and verification (Google Authenticator, 1Password, Authy) | -| `firestore.ts` | Real-time Firestore hooks via `onSnapshot` (ADR-036) | -| `estate-actions.ts` | Firestore write operations (createEstate, addAsset, etc.) | -| `invitations.ts` | Estate invitation system — create, send, auto-match on registration | -| `analytics.ts` | Firebase Performance + GA4 wrappers for business-critical events | -| `client.ts` | ConnectRPC transport for Go API (signed URLs, PII operations) | -| `email.ts` | Email utility functions | -| `utils.ts` | Shared utility helpers | +Every non-test module under `web/src/lib` is listed below with its one-line purpose and +governing ADR (per Rule 30 — shipped modules carry a developer-facing README). The +`forms.ts` and `email.ts` modules also have dedicated deep-dives in +[`README-forms.md`](./README-forms.md) and [`README-email.md`](./README-email.md). + +### Platform & data transport + +| File | Purpose | ADR | +|------|---------|-----| +| `firebase.ts` | Firebase app initialization (Auth, Firestore, Analytics, Performance) | ADR-034 | +| `auth.tsx` | React Auth context/provider — email + username login, MFA support, demo mode | ADR-034 | +| `mfa.ts` | TOTP enrollment and verification (Google Authenticator, 1Password, Authy) | ADR-034 | +| `firestore.ts` | Real-time Firestore hooks via `onSnapshot` (client-side direct reads) | ADR-036 | +| `estate-actions.ts` | Firestore write operations (createEstate, addAsset, etc.) | ADR-036 | +| `client.ts` | ConnectRPC transport for Go API (signed URLs, PII operations) | ADR-037 | + +### Access control & gating + +| File | Purpose | ADR | +|------|---------|-----| +| `persona.ts` | **Single source of truth for estate-scoped access** — sidebar nav, route guards, the Shepherd companion, and tests all import the persona/role boundary | ADR-046 | +| `tier-gating.ts` | Client-side tier definitions + React hook that fetches the estate's entitlement tier (Stripe) | ADR-035 | +| `invitations.ts` | Estate invitation system — create, send, auto-match on registration (email-verified seizure-safe) | ADR-046 | + +### Flagship features (full subsystems — see Architecture below) + +| File | Purpose | ADR | +|------|---------|-----| +| `probate.ts` | Probate API client — drives the pluggable state-machine settlement engine (`/api/v1/probate/*`) | ADR-043 | +| `shepherd.ts` | **The Shepherd** — client for the live AI guidance engine (`/api/v1/guidance/*`), the voice and heart of FinalWishes | ADR-040 | +| `shepherd-prompts.ts` | Pure functions that transform estate context into contextual Shepherd prompts | ADR-040 | +| `useGuidanceScore.ts` | Fetches the Shepherd guidance Score — backend computes a deterministic plan (`api/internal/guidance`) | ADR-040 | +| `google-photos-import.ts` | Google Photos import via the Picker API — minimal scope, PII-clean, server-mediated media download (CR-12) | ADR-045 | +| `doc-intelligence.ts` | Document Intelligence — sends uploaded vault documents to the Go API for AI structured analysis | ADR-043 | + +### Estate utilities & UX + +| File | Purpose | ADR | +|------|---------|-----| +| `forms.ts` | Statutory Forms API client — coordinate-overlay fill engine (see `README-forms.md`) | ADR-002 §4 | +| `search.ts` | Client-side search hook across all estate Firestore subcollections | ADR-036 | +| `export.ts` | Estate Data Export — generates a ZIP archive of all estate data for compliance/portability | ADR-002 §6 | +| `wizardDraft.ts` | Estate-creation wizard draft persistence (device-local `localStorage`) | ADR-006 | +| `useResumables.ts` | Surfaces in-progress work so a returning user can resume exactly where they left off | ADR-038 | +| `analytics.ts` | Firebase Performance + GA4 wrappers for business-critical events | — | +| `email-templates.ts` | Royal Neo-Deco HTML email templates with inline CSS | ADR-039 | +| `email.ts` | Email utility helpers (see `README-email.md`) | ADR-039 | +| `us-states.ts` | The 50 US states + DC — shared so every "state" field is a complete dropdown | — | +| `animations.tsx` | Shared motion primitives for the Royal Neo-Deco design system | ADR-033 | +| `utils.ts` | Shared utility helpers | — | + +## Flagship Subsystem Architecture + +Three of these modules are not utility helpers — they are the client surfaces of full, +ADR-backed features. A short orientation for each: + +### Persona-Based Access Control (`persona.ts`, ADR-046) + +`persona.ts` is the **single source of truth** for who can see and do what in an estate. +Sidebar navigation, route guards, the Shepherd companion, and the test suite all import +the persona/role resolver rather than re-deriving access. Estate-scoped roles map to a +3-layer boundary (UI gate → route guard → Firestore Rules) so that a UI-layer mistake +cannot leak data — the Firestore boundary is authoritative. Soul Log read-privacy +(per-recipient `sharedWith` UIDs) is enforced here and in the rules together. + +### The Shepherd (`shepherd.ts`, `shepherd-prompts.ts`, `useGuidanceScore.ts`, ADR-040) + +The Shepherd is the live AI guidance engine. `shepherd-prompts.ts` builds contextual +prompts from estate state (pure functions, fully testable), `shepherd.ts` is the transport +to `/api/v1/guidance/*` (Claude Opus via the `sirsi-ai` shared service per ADR-040), and +`useGuidanceScore.ts` surfaces the deterministic guidance Score the backend computes +(`api/internal/guidance/handler.go`). Legal answers are grounded in the RAG corpus +(ADR-044) with citation abstention — never fabricated (Rule 9). + +### Illinois Probate Engine (`probate.ts`, ADR-043) + +`probate.ts` is the thin client for the pluggable state-machine probate engine +(`/api/v1/probate/*`). The state machine itself lives in the Go API; the client drives +step transitions and renders the settlement workflow. Illinois is the first pluggable +jurisdiction; the engine is state-agnostic by design. ## Architecture -Firestore reads happen **client-side** (ADR-036) — no Go API round-trip for dashboard data. Security is enforced by Firestore Rules v3.0.0. The Go API handles Cloud SQL PII, Cloud Storage, and KMS operations only. +Firestore reads happen **client-side** (ADR-036) — no Go API round-trip for dashboard data. Security is enforced by Firestore Rules v5.0.0 (`firestore.rules`). The Go API handles Cloud SQL PII (ADR-037), Cloud Storage, and KMS operations only. ## Hooks Reference @@ -74,7 +142,7 @@ All writes go through `estate-actions.ts`. Functions return `{ success, id?, err ## Security -All reads/writes are protected by Firestore Security Rules v3.0.0 (`firestore.rules`). +All reads/writes are protected by Firestore Security Rules v5.0.0 (`firestore.rules`). Key rules: - Only estate principals can write to their estates - Estate users can read estates they have access to diff --git a/web/src/routes/README.md b/web/src/routes/README.md index 72ed9b9..e2873a8 100644 --- a/web/src/routes/README.md +++ b/web/src/routes/README.md @@ -17,22 +17,32 @@ Routes use TanStack Router's file-based convention. The `estates.$estateId.tsx` | `estates.create.tsx` | `/estates/create` | New estate wizard | | `estates.$estateId.tsx` | `/estates/:id` | Estate layout (auth + sidebar) | | `estates.$estateId.index.tsx` | `/estates/:id/` | Estate overview redirect | -| `estates.$estateId.dashboard.tsx` | `.../dashboard` | Estate dashboard | +| `estates.$estateId.dashboard.tsx` ⚡ | `.../dashboard` | Estate dashboard | | `estates.$estateId.assets.tsx` | `.../assets` | Asset inventory | | `estates.$estateId.beneficiaries.tsx` | `.../beneficiaries` | Heirs + executors | -| `estates.$estateId.directives.tsx` | `.../directives` | Ethical wills, funeral prefs | -| `estates.$estateId.vault.tsx` | `.../vault` | Document vault | -| `estates.$estateId.lockbox.tsx` | `.../lockbox` | Encrypted credentials | -| `estates.$estateId.memoirs.tsx` | `.../memoirs` | Video/photo memories | -| `estates.$estateId.timecapsule.tsx` | `.../timecapsule` | Scheduled messages | -| `estates.$estateId.obituary.tsx` | `.../obituary` | AI-assisted obituary | +| `estates.$estateId.directives.tsx` ⚡ | `.../directives` | Ethical wills, funeral prefs | +| `estates.$estateId.vault.tsx` ⚡ | `.../vault` | Document vault | +| `estates.$estateId.lockbox.tsx` ⚡ | `.../lockbox` | Encrypted credentials | +| `estates.$estateId.memoirs.tsx` ⚡ | `.../memoirs` | Video/photo memories | +| `estates.$estateId.timecapsule.tsx` ⚡ | `.../timecapsule` | Scheduled messages | +| `estates.$estateId.obituary.tsx` ⚡ | `.../obituary` | AI-assisted obituary | +| `estates.$estateId.soul-log.tsx` ⚡ | `.../soul-log` | Soul Log — per-recipient legacy entries | +| `estates.$estateId.life-chapters.tsx` | `.../life-chapters` | Life chapters / legacy timeline | +| `estates.$estateId.probate.tsx` | `.../probate` | Probate / estate settlement workflow | +| `estates.$estateId.forms.tsx` | `.../forms` | Statutory legal forms (coordinate-overlay fill) | | `estates.$estateId.heirlooms.tsx` | `.../heirlooms` | Physical item catalog | +| `estates.$estateId.events.tsx` | `.../events` | Funeral / memorial / repast pages | | `estates.$estateId.notifications.tsx` | `.../notifications` | Activity feed | | `estates.$estateId.settings.tsx` | `.../settings` | Estate configuration | | `estates.$estateId.pricing.tsx` | `.../pricing` | Stripe checkout | | `estates.$estateId.attestation.tsx` | `.../attestation` | Identity verification | | `estates.$estateId.estates.tsx` | `.../estates` | Multi-estate management | +> ⚡ = route has a `.lazy.tsx` companion and is code-split (loaded on demand). The eager +> `.tsx` file holds the route definition + loader; the `.lazy.tsx` file holds the heavy +> component. Currently code-split: `dashboard`, `directives`, `lockbox`, `memoirs`, +> `obituary`, `soul-log`, `timecapsule`, `vault`. + ## Guards - **AuthGuard**: Redirects unauthenticated users to `/login` @@ -41,4 +51,5 @@ Routes use TanStack Router's file-based convention. The `estates.$estateId.tsx` ## Known Limitations - Demo mode uses query param `?demo=true` with hardcoded `lockhart` estate ID -- No route-level code splitting yet — all estate routes load with the layout +- Code splitting is partial: the heaviest routes (see ⚡ above) ship `.lazy.tsx` companions, + but lighter estate routes still load eagerly with the layout From 4dbe39224423ace74a87d7801359ec1e38637c47 Mon Sep 17 00:00:00 2001 From: SirsiMaster <98624707+cyltoncollymore@users.noreply.github.com> Date: Sun, 14 Jun 2026 13:50:48 -0400 Subject: [PATCH 05/37] fix(heir): constrain HeirWelcome soul-log query so heirs/executors can load shared messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit HeirWelcome renders ONLY for non-owner roles (heir/executor). Its soul-log list query was unconstrained ([orderBy('createdAt','desc')] only), but the Firestore soul-log read rule permits a non-owner to read an entry ONLY when visibility=='shared' && request.auth.uid in resource.data.sharedWith. An unconstrained list query by a non-owner cannot satisfy that resource-data constraint, so Firestore rejected the ENTIRE query with permission-denied — the heir's "messages from your loved one" section always failed to load for the exact users it is built for. Mirror the canonical non-owner constraints from estates.$estateId.soul-log.lazy.tsx (ADR-046 #1): where('visibility','==','shared'), where('sharedWith','array-contains', profile.uid), orderBy('createdAt','desc') The query path is gated on profile.uid (null until known) so no denied unconstrained read fires while auth resolves. The required composite index (visibility ASC, sharedWith CONTAINS, createdAt DESC) already exists in firestore.indexes.json — no index change needed. Also replaced the personalEntries taggedPeople (display-name) client filter with a pass-through: the query + rule now guarantee every returned entry is shared with this uid, and the old name-match was a schema mismatch with the rule's sharedWith UID gate. Added sharedWith?: string[] to the local SoulLogEntry type. Refs: docs/ARCHITECTURE_DESIGN.md, ADR-046 (soul-log per-recipient sharedWith), firestore.rules (soul-log read), firestore.indexes.json Changelog: vNEXT — Fix: heir/executor welcome screen now loads shared Soul Log messages (constrained query matches Firestore rule + existing sharedWith composite index) instead of permission-failing Diagrams: §8 (Firestore Data Flow) — non-owner soul-log read path unchanged (rule already enforced; frontend query now conforms) Co-Authored-By: Claude Opus 4.8 (1M context) --- web/src/components/guards/HeirWelcome.tsx | 60 +++++++++++++++-------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/web/src/components/guards/HeirWelcome.tsx b/web/src/components/guards/HeirWelcome.tsx index 1ffafa1..6a47be5 100644 --- a/web/src/components/guards/HeirWelcome.tsx +++ b/web/src/components/guards/HeirWelcome.tsx @@ -28,7 +28,7 @@ import { type TimeCapsule, type Heirloom, } from '@/lib/firestore' -import { orderBy, type Timestamp } from 'firebase/firestore' +import { orderBy, where, type Timestamp } from 'firebase/firestore' import { Card, CardContent } from '@/components/ui/card' import { Button } from '@/components/ui/button' import { Separator } from '@/components/ui/separator' @@ -46,6 +46,10 @@ interface SoulLogEntry { content?: string mediaUrl?: string taggedPeople: string[] + // sharedWith (UIDs) is the security field the Firestore soul-log read rule and the + // non-owner query gate on (array-contains). taggedPeople holds display names for the + // UI; sharedWith holds the recipient UIDs — see estates.$estateId.soul-log.lazy.tsx. + sharedWith?: string[] sealedDelivery?: { trigger: 'date' | 'on_passing' date?: string @@ -241,10 +245,30 @@ export function HeirWelcome({ estateId, onContinue }: HeirWelcomeProps) { // Fetch time capsules addressed to this user const { data: allCapsules, loading: capsulesLoading } = useTimeCapsules(estateId) - // Fetch soul log entries (shared ones that tag this user) - const soulLogConstraints = useMemo(() => [orderBy('createdAt', 'desc')], []) + // Fetch soul log entries shared specifically with this heir/executor. + // + // HeirWelcome renders ONLY for non-owner roles (heir/executor — see + // shouldShowHeirWelcome). The Firestore soul-log read rule permits a non-owner to + // read an entry ONLY when visibility=='shared' && request.auth.uid in sharedWith. + // An UNconstrained list query by a non-owner cannot satisfy that resource-data + // constraint, so Firestore rejects the ENTIRE query with permission-denied. We + // therefore mirror the canonical non-owner constraints from + // estates.$estateId.soul-log.lazy.tsx (ADR-046 #1): visibility=='shared' + + // sharedWith array-contains this uid. The composite index (visibility ASC, + // sharedWith CONTAINS, createdAt DESC) already exists in firestore.indexes.json. + // + // The query is gated on `profile.uid` (null path until the uid is known) so we never + // issue the denied unconstrained read while auth is still resolving. + const soulLogConstraints = useMemo( + () => [ + where('visibility', '==', 'shared'), + where('sharedWith', 'array-contains', profile?.uid ?? '__none__'), + orderBy('createdAt', 'desc'), + ], + [profile?.uid], + ) const { data: allSoulLogEntries, loading: soulLogLoading } = useCollection( - `estates/${estateId}/soul-log`, + profile?.uid ? `estates/${estateId}/soul-log` : null, soulLogConstraints, ) @@ -269,22 +293,18 @@ export function HeirWelcome({ estateId, onContinue }: HeirWelcomeProps) { }) }, [profile, allCapsules]) - // ─── Filter soul log entries tagged for this user ────────────────────── - - const personalEntries = useMemo(() => { - if (!profile || !allSoulLogEntries) return [] - const uid = profile.uid - const name = profile.displayName?.toLowerCase() - const firstName = profile.firstName?.toLowerCase() - return allSoulLogEntries.filter((entry: SoulLogEntry) => { - if (entry.visibility !== 'shared') return false - if (!entry.taggedPeople || entry.taggedPeople.length === 0) return false - return entry.taggedPeople.some((tag: string) => { - const t = tag.toLowerCase() - return t === uid || t === name || t === firstName - }) - }) - }, [profile, allSoulLogEntries]) + // ─── Soul log entries shared with this user ──────────────────────────── + + // The Firestore query above already constrains the result set to + // visibility=='shared' && sharedWith array-contains this uid — the SAME contract the + // security rule enforces. So every returned entry is, by construction, shared with + // this heir/executor; no further client-side filtering is needed. (The previous + // taggedPeople display-name match was both a schema mismatch with the rule's + // sharedWith UID gate and redundant once the query is correctly constrained.) + const personalEntries = useMemo( + () => allSoulLogEntries ?? [], + [allSoulLogEntries], + ) // ─── Filter heirlooms for this heir ──────────────────────────────────── From 3649cb9652f6456c7ce7222e198cd34010c3f044 Mon Sep 17 00:00:00 2001 From: SirsiMaster <98624707+cyltoncollymore@users.noreply.github.com> Date: Sun, 14 Jun 2026 13:51:07 -0400 Subject: [PATCH 06/37] fix(accept-invite): replace async-grant timeout dead-end with self-healing pending-grant state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The accept-invite flow polled estate_users/{uid}_{estateId} for accessGranted 12x/1s, then dropped a cold-start race into status 'error' whose only action was "Go to Home" — stranding invitees away from their invite on a timing-sensitive path (autoMatch Cloud Function cold starts routinely exceed 12s). - Add a distinct 'pending-grant' status, separating the benign timing race from genuine not-found/revoked errors. - Attach a live onSnapshot listener on the estate_users junction doc while pending, so the invitee is taken straight in the instant the grant lands — even after the fixed poll window expired. The wait is now self-healing. - Render an "Almost There" screen (Royal Neo-Deco: gold spinner, Cinzel heading, glass card) with a primary "Try Again" (re-runs acceptInvitation/re-polls), secondary "Refresh" (window.location.reload), and tertiary "Go to Home". - Extract finalizeAccess() so the poll-success path and the live listener share one guarded route-in. Refs: docs/user-guides/inviting-team-members.md, ADR-031 (Secure Enclave Dashboard) Changelog: web — accept-invite cold-start race now offers Try Again/Refresh instead of a dead-end error Diagrams: §Identity (heir-invite accept flow) — accept now has a pending-grant holding state Co-Authored-By: Claude Opus 4.8 (1M context) --- web/src/routes/accept-invite.tsx | 148 +++++++++++++++++++++++++------ 1 file changed, 119 insertions(+), 29 deletions(-) diff --git a/web/src/routes/accept-invite.tsx b/web/src/routes/accept-invite.tsx index 50faf7a..303fe2e 100644 --- a/web/src/routes/accept-invite.tsx +++ b/web/src/routes/accept-invite.tsx @@ -6,6 +6,7 @@ import { doc, getDoc, updateDoc, + onSnapshot, serverTimestamp, } from 'firebase/firestore' import { db } from '../lib/firebase' @@ -21,7 +22,13 @@ export const Route = createFileRoute('/accept-invite')({ /* eslint-disable @typescript-eslint/no-explicit-any */ -type Status = 'loading' | 'accepting' | 'success' | 'error' | 'unauthenticated' +type Status = + | 'loading' + | 'accepting' + | 'success' + | 'pending-grant' + | 'error' + | 'unauthenticated' function AcceptInvitePage() { const navigate = useNavigate() @@ -30,6 +37,10 @@ function AcceptInvitePage() { const { user, profile, loading: authLoading } = useAuth() const [status, setStatus] = useState('loading') const [errorMsg, setErrorMsg] = useState('') + // The estate whose server-side access grant we're waiting on. Captured when the + // poll times out so the live listener and the "Try Again" action know which doc + // to watch without re-fetching the invitation. + const [pendingEstateId, setPendingEstateId] = useState('') useEffect(() => { if (authLoading) return @@ -49,6 +60,31 @@ function AcceptInvitePage() { // eslint-disable-next-line react-hooks/exhaustive-deps }, [user, authLoading, invitationId]) + // While we're in the pending-grant holding state, attach a live listener to the + // estate_users junction doc so the instant the autoMatch Cloud Function lands the + // grant — even after the fixed poll window expired — the user is taken straight in. + // This turns a cold-start race from a dead end into a self-healing wait. + useEffect(() => { + if (status !== 'pending-grant' || !user || !pendingEstateId) return + + const euRef = doc(db, 'estate_users', `${user.uid}_${pendingEstateId}`) + const unsub = onSnapshot( + euRef, + (snap) => { + if (snap.exists() && snap.data()?.accessGranted) { + finalizeAccess(pendingEstateId) + } + }, + (err) => { + // Listener errors (e.g. transient rules/network) are non-fatal — the user can + // still use the manual "Try Again" action. Just log and keep the holding state. + console.warn('[accept-invite] grant listener error (non-fatal):', err) + }, + ) + return () => unsub() + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [status, user, pendingEstateId]) + async function acceptInvitation() { if (!user || !invitationId) return setStatus('accepting') @@ -102,37 +138,17 @@ function AcceptInvitePage() { } if (!granted) { - // The async trigger hasn't landed yet — do NOT hard-fail; the user will get - // access shortly. Guide them rather than showing a dead end. - setStatus('error') - setErrorMsg( - "You're almost in — we're finalizing your access to this estate. Please refresh in a moment, or sign in again and you'll be taken straight to it.", - ) + // The async trigger hasn't landed yet — do NOT hard-fail. This is a timing + // race on a Cloud Function cold start, not a genuine error. Drop into the + // dedicated pending-grant holding state: a live onSnapshot listener (above) + // takes the user in the instant the grant lands, and the UI offers an explicit + // "Try Again" affordance so they're never stranded. + setPendingEstateId(inv.estateId) + setStatus('pending-grant') return } - // 3. Point the invitee's OWN profile at this estate (allowed by rules: own doc) - // so a future login lands them here. Non-fatal. - if (!profile?.primaryEstateId) { - try { - await updateDoc(doc(db, 'users', user.uid), { - primaryEstateId: inv.estateId, - updatedAt: serverTimestamp(), - }) - } catch (e) { - console.warn('[accept-invite] primaryEstateId update skipped (non-fatal):', e) - } - } - - setStatus('success') - - // 4. Redirect to estate dashboard - setTimeout(() => { - navigate({ - to: '/estates/$estateId/dashboard', - params: { estateId: inv.estateId }, - }) - }, 1500) + finalizeAccess(inv.estateId) } catch (err) { console.error('[accept-invite] Error:', err) setStatus('error') @@ -140,6 +156,34 @@ function AcceptInvitePage() { } } + // Commits the local side of a successful grant and routes the user into their estate. + // Idempotent-safe: guarded so the live listener and the poll path can't double-fire. + async function finalizeAccess(estateId: string) { + if (!user) return + setStatus('success') + + // Point the invitee's OWN profile at this estate (allowed by rules: own doc) so a + // future login lands them here. Non-fatal. + if (!profile?.primaryEstateId) { + try { + await updateDoc(doc(db, 'users', user.uid), { + primaryEstateId: estateId, + updatedAt: serverTimestamp(), + }) + } catch (e) { + console.warn('[accept-invite] primaryEstateId update skipped (non-fatal):', e) + } + } + + // Redirect to estate dashboard. + setTimeout(() => { + navigate({ + to: '/estates/$estateId/dashboard', + params: { estateId }, + }) + }, 1500) + } + // Not logged in — redirect to login with invite param if (status === 'unauthenticated') { return ( @@ -179,6 +223,52 @@ function AcceptInvitePage() { ) } + // Server-side access grant hasn't landed within the poll window. This is a Cloud + // Function cold-start race, NOT an error — a live listener is still watching, and we + // give the user explicit recovery actions instead of a dead end. + if (status === 'pending-grant') { + return ( + +
+
+
+
+
+

+ Almost There +

+

+ We're finalizing your access to this estate. This usually takes just a + moment — we'll take you in automatically the instant it's ready. +

+
+
+ + + +
+
+ + ) + } + if (status === 'error') { return ( From 8e87c4165c9838946e415d425a19e53575cde89d Mon Sep 17 00:00:00 2001 From: SirsiMaster <98624707+cyltoncollymore@users.noreply.github.com> Date: Sun, 14 Jun 2026 13:51:10 -0400 Subject: [PATCH 07/37] style(design-tokens): wire Royal Neo-Deco into shadcn primitive defaults MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Point the shadcn semantic tokens at the brand so on-brand is the default, not a per-call override (removes the need for ~177 manual bg-[var(--royal)] overrides): - --primary -> var(--royal), --primary-foreground #fff (default