Denver Health Medical Plan says a vendor's public key could have opened records of 238,083 members for 417 days
Denver Health Medical Plan says an access key for its analytics vendor SquareML was public from 27 June 2025 to 18 August 2026, 417 days (derived), and could have opened a database on 238,083 members. It has no evidence of viewing or misuse, only that it may have happened.
By Parminder Kumar Sharma · · 16 min read
A key public for 417 days, and what the plan says that means
Denver Health Medical Plan (DHMP) says an access key associated with its analytics vendor SquareML was inadvertently published on a publicly accessible website on 27 June 2025, and that the key was deactivated on 18 August 2026. That is 417 days (derived). The plan says the key may have been used to reach a database holding information about 238,083 members, and that it has "no evidence that member information was viewed or misused, only that it may have been".
What that does not establish. It does not establish that anyone found the key, used it or read one record. It does not establish that nobody did either. The notice is silent on who discovered the key, on whether the database kept access logs for those 417 days, and on whether anyone looked at them. The first date anyone acted on is 14 August 2026, when DHMP says it "was informed" of the discovery. Who informed it is not stated. SecurityWeek's report of 27 October says SquareML notified the plan. The notice does not say that, and the plan's website banner says SquareML "became aware" on 14 August, which is a different statement.
This briefing reads the plan's own sources, not the coverage of them: the press release of 1 October 2026 (a two page PDF, read in full), the banner on the plan's home page, the US Department of Health and Human Services (HHS) Office for Civil Rights breach portal entry, and the text of three HIPAA rules. SecurityWeek was read as a pointer and is cited as secondary. Everything was read between 14:13 and 14:26 GMT on Tuesday 27 October 2026. Day counts are this site's arithmetic and are labelled derived. The letters sent to members, any statement from SquareML and any state attorney general listing could not be read (see the last section).
Stated and not stated: the notice, line by line
The table sets what DHMP's notice and website banner state against what they do not. "Not stated" means not found in either, read in full. It does not mean the information does not exist. DHMP has an interest here: it is the organisation that must explain a vendor's lapse to the people whose records are involved.
What DHMP's press release (1 October 2026) and home page banner state, and what they do not. The HHS column is the breach portal entry read on 27 October 2026.
| The question | Stated | Not stated |
|---|---|---|
| What happened? | On 14 August 2026 DHMP "was informed that an active access key associated with SquareML had been discovered on a publicly accessible website". SquareML "inadvertently published the credentials on June 27, 2025". | Which website and who runs it. What kind of key or service it was. Whether the page was taken down, and when. |
| Who found it? | It "had been discovered". | Who found it, and who informed DHMP. |
| What did it open? | "A database maintained by SquareML containing information about DHMP's 238,083 members", through a read only account. | The database product. Whether other SquareML customers' records sat in the same database. Whether one key or several were public. |
| Was it used? | "No evidence that member information was viewed or misused, only that it may have been." | Whether access logs exist for the 417 days, whether anyone reviewed them, how far back they go. |
| What limit applied? | The account was read only, and the key "could not be used to download, export, delete or change any information". | How the limit was set or tested, and how a key that can read was prevented from returning data to its holder. |
| What data? | Full name, date of birth, city, state, ZIP code and demographic information. Health metrics including BMI, HbA1c and eGFR. Eligibility data, provider name, and hospital admission, discharge and transfer information. | Which members have which fields. Street address, phone, email or member number. Free text notes. |
| What data was absent? | "Social Security numbers and financial information were not included in this database." | How that was checked. |
| What was done? | Internal investigation. The key was voided. Passwords reset for all accounts with access to the database. Further remedial actions being evaluated with the vendor. Letters mailed, and a hotline. | Any credit or identity monitoring offer. The letter text and mailing date. What the further actions are. Any outside investigator. |
| What did HHS record? | Covered entity type Health Plan, state CO, 238083 individuals, submission date 10/01/2026, type Hacking/IT Incident, location Network Server, business associate present Yes. | Any statement of intrusion by anyone. The portal category is a field the entity completes, not a finding. |
The 238,083 is worth reading carefully. DHMP's notice gives it as the number of members the database held information about, and the HHS entry gives the same figure as the individuals affected. It is a population count of the records within reach. It is not a count of people whose records were viewed, and the notice does not claim it is.
The clock: 417 days public, 413 unexplained, four to deactivate
Four dates carry the story, all from the notice, and one more comes from the HHS entry. The intervals between them are derived and set out in the table.
Dates stated by DHMP and the HHS portal, with the intervals this site computed from them (derived).
| From | To | Days (derived) |
|---|---|---|
| Key published, 27 June 2025 | Key deactivated, 18 August 2026 | 417 |
| Key published, 27 June 2025 | DHMP informed, 14 August 2026 | 413 |
| DHMP informed, 14 August 2026 | Key deactivated, 18 August 2026 | 4 |
| DHMP informed, 14 August 2026 | Press release and HHS entry, 1 October 2026 | 48 |
| Key deactivated, 18 August 2026 | Press release and HHS entry, 1 October 2026 | 44 |
| Key published, 27 June 2025 | Press release and HHS entry, 1 October 2026 | 461 |
Two things stand out. The first is speed once someone knew: four days from DHMP being informed to the key being deactivated. The second is everything before that. The 413 days between publication and DHMP being informed contain no event in the notice. Nobody is said to have found the key, tried it or reported it in that time. That silence is a gap in the record, not evidence that nothing happened.
There is a second clock, set by law. The HIPAA Breach Notification Rule says a covered entity must notify each individual "without unreasonable delay and in no case later than 60 calendar days after discovery of a breach" (45 CFR 164.404(b)). A breach is treated as discovered on the first day it is known, or would have been known by exercising reasonable diligence, to the covered entity or to a workforce member or agent of it (45 CFR 164.404(a)(2)). If 14 August is the discovery date, the 60 days end on 13 October (derived), and the 1 October notice came 48 days in. DHMP's release says letters have been mailed but gives no mailing date, so this briefing cannot say when members were told. Whether a vendor's earlier knowledge of its own publication counts as the plan's knowledge is a legal question the notice does not address. It is raised here as a question, not decided.
Read only is a permission, not a safeguard
Several comfortable labels do work in this story. The notice's own words are quoted, and the table sets each against what it leaves open.
Labels in DHMP's notice, the HHS entry and the coverage, and what each does not establish.
| The label | What it suggests | What it does not establish |
|---|---|---|
| Read only | Nothing could be changed or taken. | That nothing could be read. Reading a database is the exposure. The notice's claim that the key could not download or export is DHMP's statement, with no method given. |
| No evidence of viewing or misuse | Nobody looked. | That anyone checked. Without logs for 417 days, the absence of evidence is only as good as the logging. |
| May have been | Possible, not shown. | Anything either way. It cuts both ways, and the notice does not say which way the logs point. |
| Inadvertently published | A mistake, not an attack. | How exposed the key was. An accidental publication is as usable as a deliberate one by whoever finds it. |
| Privacy incident (the notice) and Hacking/IT Incident (HHS) | Two names for one event. | Any intruder. The notice describes a published key and no attacker. The HHS category is a field the plan completes. |
| At risk (the coverage) | Members are in danger. | Harm. It states exposure, which the notice already states. |
On the first row, this is inference and not a finding about SquareML's system, which the notice does not describe. In general, a credential that can run queries returns rows to whoever holds it. A read only account limits what a stranger can break. It does nothing about what a stranger can see, and what a stranger could see here is the list in the next section.
The rule that governs the label "may have been" is one DHMP will have had to apply. Under 45 CFR 164.402, an impermissible access or disclosure is presumed to be a breach unless the entity shows a low probability that the information was compromised, by a risk assessment of at least four factors, one of which is "whether the protected health information was actually acquired or viewed". Showing that without logs is hard. DHMP's HHS entry shows it reported the event as a breach, which is consistent either with the plan not having shown a low probability or with it reporting out of caution. The entry does not say which.
What was within reach, as the notice lists it
The notice lists three groups of fields. Identity and place: full name, date of birth, city, state, ZIP code and demographic information. Health metrics: BMI, HbA1c and eGFR. Plan and care events: eligibility data, provider name, and hospital admission, discharge and transfer information. HbA1c and eGFR are laboratory measures that relate to diabetes and kidney function. That is general medical knowledge, not something the notice says. SecurityWeek describes DHMP as a nonprofit managed care organisation that administers Health First Colorado (Medicaid) benefits through its Denver Health Medicaid Choice plan. That description is the outlet's, and it was not checked against a DHMP page.
The notice says Social Security numbers and financial information were not in the database. That matters, because those are the usual keys for opening new accounts in someone's name. What remains is a name, a birth date, a place and real health and hospital details. A message that quotes true details of a person's care sounds credible. That use is inference, and the notice reports no misuse.
What the regulator's listing adds
The portal confirms three things. DHMP submitted the event on 1 October 2026, the same day as its press release. It gave 238083 as the individuals affected. And it marked a business associate as present, which is how a health plan records a vendor holding its members' data. The entry sits on the portal's Under Investigation tab. The page describes that tab as listing breaches reported in the last 24 months that are currently under investigation, and OCR's front page says it investigates all breaches of protected health information affecting 500 or more individuals. What OCR is examining, and whether it has contacted DHMP, is not stated anywhere read.
The vendor's own duty is in 45 CFR 164.410. A business associate must notify the covered entity of a breach, "without unreasonable delay and in no case later than 60 calendar days after discovery", with the identity of each affected individual. On DHMP's dates, the vendor's discovery and the plan's being informed are both on 14 August 2026 as far as the record shows, though the vendor's knowledge of its own publication on 27 June 2025 is exactly what the record is silent about.
Technical details
DHMP's notice publishes no technical artifacts. It names no key format, cloud service, database product, website address, query, log line, hash or indicator, and it shows no configuration. None is invented here. What it does print is a set of dates, a count and a field list, and the HHS entry prints a row. They are copied exactly below, because those are what a defender needs to line up against their own records.
Block one is the notice's own paragraphs, copied from the PDF text. A reader at an organisation that shares data with SquareML would match these dates against their own inventory of credentials and logs.
On Aug. 14, 2026, DHMP was informed that an active access key associated with SquareML
had been discovered on a publicly accessible website. These credentials may have been used
to access a database maintained by SquareML containing information about DHMP’s 238,083
members.
SquareML inadvertently published the credentials on June 27, 2025; the access key was
deactivated on Aug. 18, 2026.
The compromised account was read-only, meaning the access key could not be used to
download, export, delete or change any information.
Block two is the HHS portal row, as the table printed it, with the expanded line. The location field, Network Server, is a category on the form and is not a description of where the key sat. The layout below is this site's, the values are the portal's.
Name of Covered Entity: Denver Health Medical Plan
State: CO
Covered Entity Type: Health Plan
Individuals Affected: 238083
Breach Submission Date: 10/01/2026
Type of Breach: Hacking/IT Incident
Location of Breached Info: Network Server
Business Associate Present: Yes
Web Description: (empty)
What a defender hunts, from the record alone: any credential a vendor holds into your data, wherever that vendor's staff publish things; any access to a vendor held database from an address that is not the vendor's or yours; and the date range between a key's creation and its last rotation. The notice gives no indicator for the first two, so there is nothing to match. The third is the 417 days.
What to do, in the order worth doing
Two lists follow. The first is for people who may be among the 238,083. The second is for organisations that hand vendors keys into their data, which is every health plan, provider and software buyer. An earlier briefing on this site covered a different incident with the same shape: a LiteLLM master key that LiteLLM says stayed unrevoked for 136 days, a long lived key outliving its mistake.
Take this with you
If you are a DHMP member, in order
- Read the letter DHMP says it mailed, and keep it. It should say which of the listed fields apply to you.
- If you have not received a letter, or want a substitute notice, call the hotline DHMP prints in its notice, 888 766 0023.
- Treat any call, text or message that quotes your real plan, provider or health details as suspect until you have rung back on the number printed on your member card.
- Check your explanation of benefits statements for services you did not receive and report any to the plan.
- Ask the plan in writing whether it is offering any monitoring or identity protection. The notice states none.
- Consider a freeze on your credit files as a precaution. The notice says Social Security numbers and financial information were not in the database, so this is a precaution and not a response to a stated loss.
Take this with you
If you give vendors keys into your data, in order
- List every credential each vendor holds into your data: who issued it, what it opens, who can see it, when it was created and when it was last rotated.
- Give every key an expiry and a rotation date. A key that never expires turns one lapse into a 417 day exposure.
- Scope each key to the least it needs: one customer, one dataset, the fields required, and the network addresses it may come from. Read only is not a scope.
- Minimise what the vendor holds. Ask whether health metrics and admission data are needed in the analytics copy at all.
- Require the vendor to run secret scanning on its code and public pages, and to tell you within a stated number of days of any credential exposure. HIPAA allows a vendor up to 60 days to tell you of a breach, so contract for less.
- Require access logs for the vendor's accounts on your data, held for at least the life of the key, and alert on access from an address you do not recognise.
- Set a target from report to revocation in hours and test it. DHMP's key was deactivated four days after the plan was informed.
- Ask the vendor to demonstrate what a read only key can and cannot do, with a test you witness, not a sentence in a notice.
- Agree in advance who decides when the notification clock starts, and how a vendor's earlier knowledge is treated.
What could not be verified
- The letters to members. Not found. Whether they offer monitoring, and what they say, is not known. The mailing date is not stated.
- SquareML. No statement from SquareML was found. Its home page address answers with a redirect to a page that says the domain is for sale, so nothing from the vendor was read.
- State regulators. The Colorado Attorney General's data breach listing and any other state notice were not read. The Attorney General's site returned no robots file to the request, so it was left alone.
- The key itself. What service it opened, where it was published, who found it, and whether it was used are not stated anywhere read.
- HHS. The HHS site's own pages (hhs.gov) answered with a block and were not read. The OCR breach portal was read in a browser, as a person would, with no form filled in.
- SecurityWeek's statements that SquareML notified the plan, that SquareML offers a no code platform and about the Medicaid plan are the outlet's and were not found in the plan's own documents.
- Time stamped. Read between 14:13 and 14:26 GMT on 27 October 2026. A portal entry, a banner or a notice could change within hours.
The question that exposes the gap
If a key to your members' records were posted on a public website today, how would you find out, which log would show whether anyone used it, and how many days would pass before you could say so?
Key facts
Sources
- PrimaryDHMP press release, 1 October 2026, two page PDF read in full: the dates, the 238,083 count, the field list, the read only statement, the response and the hotlineDenver Health Medical Planaccessed 2026-10-27
- PrimaryDHMP home page alert banner: SquareML 'became aware' of the incident on 14 August 2026, and the substitute notice lineDenver Health Medical Planaccessed 2026-10-27
- PrimaryOCR breach portal, HIPAA breach reports, read in a browser: the Denver Health Medical Plan row (CO, Health Plan, 238083, 10/01/2026, Hacking/IT Incident, Network Server) and the expanded line Business Associate Present: YesUS Department of Health and Human Services, Office for Civil Rightsaccessed 2026-10-27
- Primary45 CFR 164.404, notification to individuals: the 60 calendar day outer limit and the treatment of discovery. Read through the Cornell copy of the e-CFRLegal Information Institute, Cornell Law School (copy of the e-CFR)accessed 2026-10-27
- Primary45 CFR 164.410, notification by a business associate: the 60 calendar day outer limit and the content. Read through the Cornell copy of the e-CFRLegal Information Institute, Cornell Law School (copy of the e-CFR)accessed 2026-10-27
- Primary45 CFR 164.402, definitions: the presumption of a breach unless a risk assessment shows a low probability of compromise, and its four factors. Read through the Cornell copy of the e-CFRLegal Information Institute, Cornell Law School (copy of the e-CFR)accessed 2026-10-27
- Reported bySecurityWeek, 27 October 2026: the pointer to the notice. Used only to find the primary sources, and for its description of DHMP's plans, which was not checked against a DHMP pageSecurityWeekaccessed 2026-10-27
- Reported byThis site's earlier briefing on LiteLLM's root cause post and the 136 day unrevoked master key, linked for one sentence of comparisonpk-sharma.comaccessed 2026-10-27


