HailScore Changelog · Most-recent-firstMethodology v7 · 95 entries

Public Changelog

Platform, methodology, and data — what shipped, when.

Public record of HailScore releases. Platform features, methodology revisions, new data sources, and trust-surface updates. Most-recent-first. For the full algorithmic methodology, see the white paper.

Categories

PlatformMethodologyDataAPITrust

October 3, 2026

Trust

The 3-tab roof note no longer predicts an insurance outcome

Choosing 3-Tab on the homepage used to show a note, repeated on the report, that predicted an insurance outcome when shingles can't be matched, a claim HailScore has no basis to make for any policy. The note, the report, the free PDF and the methodology page now state only product facts (3-tab is hard to match after damage and is the weakest asphalt product on our hail ladder), and the note says repair or replacement depends on a licensed inspection and your policy.

September 29, 2026

Trust

The realtor page's free card lists only what a free account gets

The free Pro Individual card on /for-realtors promised a 100-a-month branded-PDF allowance and priority roof-cert routing, and neither exists for a free account. The card and its search-engine description now list only the HailScore™ and tier, the address's storm history and the storm map on its report, and the page no longer promises a branded PDF with a free account.

September 24, 2026

Platform

Permit records for the City of Centennial

The Pro permit panel now covers addresses inside City of Centennial limits, from the city's public roofing permit records, alongside the existing Denver and City of Aurora coverage. The city publishes no map coordinates, so each record is placed from its street address, and one that cannot be placed is left out of the nearby search rather than guessed.

September 21, 2026

Platform

Permit records for the City of Aurora

The Pro permit panel now covers addresses inside City of Aurora limits, from the city's open-data roofing permit records, alongside Denver. Addresses outside those limits are marked outside coverage rather than shown as having no permit, and each panel states how current its city's records are.

September 21, 2026

Platform

Class 4 roof cost guide: a clearer next step after the numbers

The Class 4 impact resistant roof cost guide now offers the free address check right after its cost table and again after the insurance-discount answer, so readers can see the hail recorded near their own house before they ask for bids. A new automated check locks the guide's headline cost, upgrade premium and discount figures wherever the page quotes them, so one can no longer be changed in one place and left stale in another.

September 21, 2026

TrustPlatform

The weekly search scorecard counts only storm reports that were paid for

Our internal weekly search scorecard now counts a storm report as a paid order only when a charge was actually collected, the same rule our sales ledger uses, so complimentary partner reports no longer inflate its paid-order count. Reports drawn from a subscription's included allowance stay a separate figure and are never mixed with the complimentary ones.

September 21, 2026

Platform

Storm Swath: a whole Colorado storm day on one map

Unlimited desks — site admin, a paid contractor plan, or an active Team or Firm subscription — get a whole-storm-day swath map: pick a Colorado storm day and see every county's radar-estimated hail footprint on one map, instead of hopping county storm pages or typing one address at a time. Every other signed-in account sees the day list, the county peaks and the public storm-page links, and the map's polygons are left out of the response entirely, not hidden on the page.

  • ·It is a new page in the dashboard, Storm Swath, next to Hail History. Hail History stays the one-address view; this is the view for the morning after an outbreak, when the question is which side of the state to work
  • ·Days are Mountain Time calendar days, and the midnight re-report is taken out. MRMS MESH is a trailing 24-hour maximum, so after midnight it repeats the evening before: on September 20 the largest raw reading, 3.61″, was the September 19 storm repeating, and the map heads the day with its own peak, 2.98″. Closed days that only repeated the day before are named under the picker, not listed as storms; a day still in progress is never called one
  • ·A reading without enough other hail around it to confirm a storm is left off, by the same rule the Colorado season count uses. That is what keeps a stuck radar bin — one read 8.85″ on August 8 with no storm near it — from painting a red blob and a false peak
  • ·The shapes come from the same contour builder as the storm pages and the date-of-loss map, run storm by storm so a day with hail at both ends of the state draws as finely as a single county page
  • ·Counties are named by their boundary, and each links to its public storm page only where that date's page exists — never to the day before. HailScore has boundaries on file for the 11 Front Range counties; hail anywhere else in Colorado is listed by nearest town, with distance and direction, which places the hail without claiming a county, and that date's storm pages for those counties are listed on their own
  • ·Radar-estimated and preliminary: a band is hail exposure, not damage, and not a reading taken at any address

September 18, 2026

Platform

Pricing: Team and Firm are the paid desk for roofing crews too

Team and Firm were written up as adjuster plans with a contractor footnote. They are the same two plans either trade subscribes to — same price, same checkout, same tools — so the pricing page now leads with the crew lane and says what subscribing actually turns on, with the monthly report quota reading second. No new plan, no price change.

  • ·The pricing page opens with a one-click chooser and puts the two paid plans in their own row, at full size. The one-off report, the iPhone app and the free beta account moved into an “also available” row underneath, because a card reading “Free” in the same row as a price will always out-shout it
  • ·A new band spells out the four things a paid plan turns on: street-level zoom and panning on the storm-day maps, the hail footprint painted around one address, the last roofing or siding permit filed near it, and date-of-loss verification with no monthly meter
  • ·Two claims were dropped rather than re-worded, because they were not true. There is no per-lookup meter on the web dashboard for a plan to lift — the storm-day ledger is free and unmetered on any account, and what a plan adds is the layers on top. And “bulk lookup, 25 addresses a batch” never applied to anyone who subscribed here: a batch is sized by the plan on your company account, not by a subscription, so the number was wrong on the pricing page, the pro page and the inspector page alike. Those pages now point at the bulk-lookup page, which shows your own batch size, and the 50-address verification paste is named where it belongs
  • ·The permit line carries its limits wherever it is sold — on the pricing page, on the contractor page, in the Stripe checkout description and in the structured data: Denver County only, records from May 2026 forward, matched within about 260 feet, and a filing is never a verdict about that roof
  • ·Said plainly for the first time: the paid desk follows the email address that subscribed, not the company account. A teammate on his own free login still has his own ten verifications a month
  • ·Stripe checkout used to say “HailScore Adjuster Team” over the price — the last screen before paying, on a plan now offered to roofing crews. It reads “HailScore Team”, and a test pins it
  • ·The contractor page now links the plans above the fold. Its only pricing link used to sit in the footer and read “Not a roofer?”, which sent roofing crews away from the page that now sells to them

September 18, 2026

Platform

Hail History shows the last roofing or siding permit record

The contractor Hail History page now shows the most recent Denver roofing or siding permit record filed near the address, alongside the storm days and the storm-day map. It is part of unlimited access — site admin, a paid contractor plan, or an active Team or Firm subscription — and on every other account the permit records are left out of the response entirely, not merely hidden on the page.

  • ·The panel is the same one the address report uses, with the same wording: a permit is a public record that construction was filed near the parcel, not an inspection, and not a statement about the roof today
  • ·Denver files roofing and siding under one record type, so the record type and its status are printed as filed, and the address on the permit is shown beside the date — the match reaches about 260 feet, so a record can belong to a neighbouring property
  • ·Denver is the only county with permit records, and those records start in May 2026 — a short window, not a roof history. An address outside Denver gets a plain coverage note, and an address whose records could not be read says so rather than implying there are none
  • ·Accounts without unlimited access see a short note that the records are part of a paid plan, with no date, address or count in it
  • ·The Address, Window and Look up controls now share one height and one baseline, and the typing hint sits under the whole row instead of stretching the address column. The window selector was also too narrow to show its own options — it read “3” instead of “3 years” — so the three controls now share the row differently, and on a narrower screen the address takes its own line rather than squeezing the other two

September 17, 2026

DataTrust

Denver permit records arrive sooner, and say how current they are

The Denver permit scrape now runs twice a day instead of once, which roughly halves how long a newly filed permit waits before it can appear on a report. The permit panel also states the date its records are current through, rather than implying they run to today.

  • ·The permit panel says which date the Denver records are current through. It previously said they ran “to today”, and a newly filed permit typically took about a day and a half to reach us
  • ·The scrape runs twice a day and reports when it finishes, so “the job found nothing today” is no longer mistaken for “the job did not run” — and a run that scrapes nothing because the city's portal changed now reports itself as degraded instead of healthy
  • ·Accounts with unlimited access can cause a refresh: if the permit feed has not reported in a day, their lookup asks for a scrape to run. It never delays the report, it is limited to one request every few hours however many lookups happen, it stops asking once the feed is clearly down, and free and anonymous lookups cannot trigger it
  • ·Permits with a status of Ready to Pay, In Progress or Closed – Withdrawn are no longer treated as evidence that a roof was replaced. Those are applications and a withdrawal, not finished work
  • ·There is now one list of the counties permit records cover, shared by the database query, the report copy and the refresh path, so a page can no longer describe coverage differently from the data behind it

September 17, 2026

Trust

How we describe SPC hail data, corrected

“SPC” meant two different things inside HailScore, and our public writing quoted one while describing the other. We do ingest Storm Prediction Center local storm reports weekly, nationwide — but those go to the record index, not the score. The SPC records that take part in scoring are a separate Colorado archive covering 1955–2023. The methodology paper, how-it-works, the paid PDF and several marketing pages have been corrected to say which is which.

  • ·The methodology white paper said we poll SPC exports “continuously.” The only SPC automation is a weekly job, and it writes a table the score cannot read
  • ·The $9.95 storm-history PDF told adjusters and attorneys that HailScore ingests SPC local storm reports “for its scoring.” The ingested reports and the scored archive are different datasets
  • ·/status now lists both SPC feeds, so the freshness pointer on /coverage leads somewhere. The archive is marked as an archive rather than graded fresh or stale — it does not change
  • ·Pages that promised an SPC or NWS record ID beside every event no longer do: neither publisher issues a per-event identifier we can print
  • ·The Colorado statistics page and downloadable dataset listed sources they are not built from; both now name only the two feeds behind those numbers
  • ·Nothing about the score itself changed — no input, no weighting, no recalculation

September 17, 2026

Trust

Retired data sources removed from the public descriptions

The machine-readable descriptions of HailScore at /llms.txt and /llms-full.txt still listed Google Street View imagery as part of a report, two months after that feature was removed, and still described the building-permit records as covering two counties when they cover Denver only. Both descriptions now match what a report actually contains.

  • ·Street View imagery was removed from reports on 10 July 2026. Four separate descriptions still offered it, including one blog post that promised street-level views of your property
  • ·The permit records come from Denver's public permit portal and cover Denver only. Nothing else is claimed now
  • ·The elevation credit on the About page no longer says every address — the national survey does not return a reading everywhere

September 17, 2026

PlatformData

The last roofing or siding permit near an address, for Pro accounts

Address reports now show the most recent Denver roofing or siding permit record filed near the property, with its date, status and the address it was filed at, on accounts with unlimited access — site admin, a paid contractor tier, or an active Team or Firm plan. On every other account the permit records are left out of the report data altogether, not merely hidden on the page, and a short note says the records are part of Pro.

  • ·The panel leads with the date, because that is the field question. It sits under the storm map with the other Pro map controls, instead of in the property grid behind the email unlock
  • ·Denver files roofing and siding as one permit type, so the panel says “roofing or siding” and prints the record type and status as filed. A record that is still an application is not described as an issued permit
  • ·The match radius reaches about 260 feet, so the address on the permit is shown next to the date — the record can belong to a neighbouring property
  • ·Coverage is Denver only and the records begin in May 2026, and the panel says so. The old tile said “at this address in the last 7 years”, which was wrong on both counts, and its date could render a day early outside UTC
  • ·Looking the same address up twice in a day used to drop the panel, because a repeated lookup is served from a saved score. It now fetches the permit records again on that path
  • ·A permit is a record that construction was filed near the parcel. It is not an inspection, and the panel says that too

September 17, 2026

PlatformTrust

Lighter hail-swath shading, so the streets under it stay easy to see

The colored hail bands are now more see-through on storm-day pages, the Pro address and dashboard maps, and the day maps in the paid storm report, so the streets and blocks under them are easier to see. The privacy policy also now describes the location button on HailScore Pro maps.

  • ·Street names on the interactive maps were already drawn above the bands, so the change there is the streets and blocks underneath. On the paid report's day maps the names sit under the bands, so they read more easily too
  • ·The size bands, their colors and the key are unchanged. Where two bands overlap they still blend, so a key swatch shows a band's own color rather than the mixed shade inside an overlap
  • ·The HailScore Pro iPhone app's day maps take their shading from HailScore, so they get the same lighter bands
  • ·The privacy policy now says that your browser asks for permission before the location button shows your position, and that your position is shown on that map in your browser and is not stored as GPS coordinates on HailScore servers

September 17, 2026

Platform

A locate button on storm-day and address maps, and address maps that open at street level

On accounts with unlimited access — site admin, a paid contractor tier, or an active Team or Firm plan — the storm-day map and the map on an address report now have a locate button that puts your device's position on the map as a blue dot, so you can see where you are standing on a hail footprint while canvassing. On those accounts the address report's map also opens zoomed in far enough for residential street names to show, instead of the wider view, where no road names are drawn.

  • ·Nothing asks for your location until you tap the button, and your browser asks for permission first. If you decline, the button turns off and the map works as before. On an iPhone you may also be asked for motion and orientation access, which only controls the direction arrow
  • ·While location is on, the dot follows you as you move, with a circle showing how precise the reading is and, on phones that report it, an arrow for the direction you are facing. If you have moved the map, tapping the button centers it back on you; tap again to turn location off
  • ·On a storm-day page, the zoom and locate buttons appear without moving the map. It keeps the whole-storm view until you zoom in or tap locate
  • ·If your access is confirmed after an address map has already opened, the map eases in to street level on that address rather than jumping somewhere else
  • ·Nothing changes for visitors without that access: storm-day pages still open at the whole-storm view with zooming and panning reserved for those accounts, address maps open at the same wider view as before, and neither shows a locate button

September 16, 2026

Trust

Hail size is exposure, not a roof or insurance verdict

Storm pages and the city and county hail-damage pages no longer tell readers that a hail size caused roof damage, required a replacement, or produced an insurance-eligible claim. Those sentences now say what hail of that size can do to roofing materials, when a professional inspection is the normal next step, and that only a licensed inspection and the policy decide damage and coverage.

  • ·The storm page's peak-size FAQ, its size-distribution labels and its former 'Severity' stat (now the peak size class from the map legend) all read from one shared copy module, so the county templates cannot drift back into verdicts.
  • ·Claim-deadline wording on storm and county pages now uses the same carrier-and-policy sentence as the rest of the site, naming the Colorado Division of Insurance for Colorado; no filing-window number is quoted.
  • ·A test bans the retired phrasings across the storm, city, county, how-it-works and FAQ surfaces, and across every indexed blog post.

September 16, 2026

PlatformTrust

A free hail map page that describes the map you actually get

/free-hail-map is for anyone looking for a free hail map or a hail tracker: enter a US street address and the free report plots the most recent NOAA Storm Events hail reports near it on an interactive map, with no signup for the map itself. The page went up on September 15 with several claims that did not match the product, and they were corrected on September 16.

  • ·Click any dot for that report's date, reported hail size and distance from the address. The map, the exposure score and a recent-hail panel are free; the dated event-by-event list unlocks with an email step
  • ·It is a record of hail after it falls, not a live radar loop. MRMS radar estimates are ingested every two hours, so yesterday's storm appears in today's report — the page used to say every four
  • ·MRMS is named as NOAA's Multi-Radar Multi-Sensor system rather than a “radar mesh”, and MESH is spelled out as NOAA names it: the Maximum Estimated Size of Hail, a radar-estimated size class rather than a measurement, defined at /mesh
  • ·The data panel names three NOAA datasets and the CoCoRaHS volunteer observer network, where the page used to call all four NOAA publishers. It also no longer describes radar detections as dated dots, or the map as every event since 2015
  • ·Colorado storm alerts are described as they run: by email, during hail season from April through September, when radar estimates hail of 1 inch or larger within about a mile of a saved address. The page used to promise text messages as well

September 16, 2026

Platform

Maps download less code and draw the same storm

Every map on the site now uses a leaner build of its mapping library, which fetches optional pieces such as high-definition road layers only when a map asks for them. A storm-day page downloads less map code as a result, and the basemap and hail footprint are drawn as before.

  • ·Every map keeps its basemap — the light street map on storm-day, city, county and report maps, the dark one in Storm Replay — and no new map style, 3D terrain or high-definition road layer was switched on
  • ·Hail footprints keep the same colors and still sit beneath street and place names
  • ·The free storm-day view still stops at the fit-the-storm frame. Street-level zoom and panning remain a Pro capability
  • ·The zoom buttons, on maps that show them, are slightly larger. That comes from the map library itself, not a redesign

September 15, 2026

Trust

The record total is no longer called “verified” on the homepage or city pages

In August the pro pages stopped calling the grand record total “verified”, but most of the site still did — even though almost all of that total is radar-derived. The homepage, city and county pages, /about, /faq, shared link previews and most blog posts now describe it as “NOAA-linked hail records” or “hail records across government sources”.

  • ·On the homepage, the hero and the stat tile call the total NOAA-linked, the “We analyze the data” step and the trust band say “hail records across government sources”, and the trust band's label now reads “Official government data source”
  • ·On a report, a radar event is no longer called verified — not in the note that events are readings, not storms, not in the line saying what the score is based on, and not in the text you share
  • ·The plain-text summary at /llms.txt, written for search and answer engines, also dropped a line saying the score comes from records that are “not estimates or guesses”. Most of the records are radar estimates
  • ·On phones, the storm banner at the top of the homepage had been leaving out both “Radar-estimated” and “not ground-verified”. Both now show at every screen width, and the radar timestamp moved to wider screens to make room
  • ·The structured description of /methodology that search engines read named an older scoring version than the page itself publishes. It now names the same version, from the same source as the page header
  • ·“Verified” is kept where the records are ground-verified — NOAA Storm Events reports, and a report's count of ground reports. No record count changed

September 15, 2026

Platform

With Reduce Motion on, the homepage headline no longer waits for scripts

If your device has Reduce Motion turned on, the homepage headline, the line under it and the address box arrived hidden and appeared only once the page's scripts ran — and so did the fade-in sections on pages such as /pricing and the city pages. The setting is now applied by the stylesheet, which the browser reads before any script runs, so those elements are visible from the first paint.

  • ·With Reduce Motion off, those elements fade in exactly as before — the stylesheet now decides whether they animate
  • ·The homepage slide carousel still stays on its slide when Reduce Motion is on, rather than advancing on its own
  • ·Some other homepage animations, driven by scripts rather than the stylesheet, were never tied to the setting and still play for everyone. This change leaves them as they were

September 14, 2026

Trust

Pages say where an inspection request goes, and send deadline questions to your insurer

Several pages said we don't sell your information, including the line directly under the report form, which can also send an inspection request. They now say that an inspection request goes to one local partner roofer, who pays for the lead when it is assigned — and some pages that cited a statute or a general claim-filing window now point you to your policy and your insurer instead.

  • ·Under the report form, “We'll never spam, sell, or rent your info” now reads that your details reach a contractor only if you request an inspection, and that the request goes to one local partner, who pays for the lead when it is assigned
  • ·The privacy policy, the terms, our comparison page and /llms.txt now say the same thing. The privacy policy spells it out: request an inspection and your name, email, phone and address go to one local roofing contractor, who pays us for the lead — a score lookup on its own never sends your information to a contractor
  • ·The privacy policy's California section no longer says “we do not sell data”. It says California law may treat that paid hand-off as a sale, and that not requesting an inspection opts you out, with an email address as a second route
  • ·State pages, the next steps on higher-scoring reports and several blog posts — some of which cited a Colorado statute — gave a filing window as a general rule. They now say deadlines and coverage rules vary by carrier and policy, and point you to your insurer — or, on Colorado state pages and posts, the Colorado Division of Insurance, and on other state pages, that state's insurance department
  • ·A warning that you could “lose your right to file” and a line about what insurers must cover are gone. Passages that claimed a legal standing for NOAA records now describe them as public records a homeowner or an adjuster can pull and check
  • ·This did not change how inspection requests are routed or priced — only what the pages say about them

September 14, 2026

MethodologyPlatform

One page defines MESH, and a storm card carries its caveat onto other sites

/mesh is a new reference page for anyone about to publish a radar hail figure. It defines MESH — NOAA's radar estimate of the largest hail a storm likely produced — as a size class tuned so roughly 75% of measured hail comes in at or below it, not a measurement and not a damage outline, and it offers newsrooms a paste-ready card for one Colorado storm day that keeps that caveat beside the number.

  • ·/mesh answers the questions people ask before quoting a MESH figure — whether it is the size on the ground, what “MESH ≥1″” means, whether a footprint is a damage outline, and where the data comes from — with phrasings to use and to avoid, and a citation line to copy. Its caveat is the same sentence the storm pages already publish, not new wording
  • ·The embed code is in the “Embed a storm record in your story” section of /mesh: a filled example with a live preview, and a template where you swap in the date and county from any /storm page URL. It is free to use with the attribution the card carries, and a date or county with no qualifying record returns an error rather than a blank card
  • ·The card shows the storm date, the county, the peak hail size class and how many radar cells or hail events the record holds, with NOAA named as the source and links to the full storm record, to /mesh and to a free address check
  • ·The caveat follows the record. A preliminary radar card says it is preliminary and not a damage outline; a NOAA Storm Events card is never called preliminary and says a hail record near a property is not a finding that the property was damaged
  • ·Cards may now be shown inside other sites' pages while the rest of the site still may not. That also lets the Colorado statistics widget offered on /press display on other sites — it had been blocked everywhere but our own pages

September 14, 2026

Trust

The “did hail hit my house” page opens with the answer and its limit

The page at /did-hail-hit-my-address was headed “Did Hail Hit My Address?” and went from a one-line pitch straight to the address form. It now asks “Did Hail Hit My House?”, opens by saying that whether hail was recorded near a house — and on what date — is a matter of public record, and puts “Exposure is not damage” directly above the form.

  • ·New answers on the page cover finding the date when you know hail hit but not when, whether it hailed at your house last night, and whether a record nearby means your roof was hit — records establish the neighborhood, and only an inspection establishes the roof
  • ·The page's first answer and its “See your timeline” step used to present the dated event-by-event list as free with no signup. Both now say what shows straight away — the score, the storm map with every documented event plotted, and a recent-hail panel — and that the dated list unlocks with an email step
  • ·The date check was described as giving a plain yes or no. The page now says it can also answer inconclusive, because a source that did not respond must never read as a clean no
  • ·The hail-size answer now points to the definition at /mesh and no longer ties the search radius to size uncertainty — the radius is a coverage choice, not an error bar on the size
  • ·The blog's hail-history guide now defines MESH where it first names it — a class, not a measurement, and not a damage outline — and the Denver, Aurora and Colorado Springs pages and the homepage's Colorado city-guide section send a single-property question to this page
  • ·The address check and the date check work exactly as before. This changes what the page says, not the tools behind it

September 14, 2026

Trust

The cookie banner appears only where analytics run

On the day the embeddable storm cards launched, a card opened in its own tab showed the Accept/Decline banner over a page that runs no Google Analytics and no session replay, while a card reached from the preview link on /mesh kept running the analytics /mesh had already started. The banner and the analytics now decide from one shared check, and on a storm card that check says no to both.

  • ·Opened in its own tab or embedded on another site, a storm card shows no banner and loads neither Google Analytics nor the session-replay tool
  • ·Following the preview link on /mesh now hides the banner and stops analytics as the card opens. The card's own page view can still be recorded, because it is sent as the page changes, just before the stop takes effect
  • ·Going back to /mesh turns analytics back on unless you declined, and brings the banner back if you have not answered it — one preview does not switch either off for the rest of your visit
  • ·Opening a card is not a Decline: it saves no choice and leaves your analytics cookies in place. Only an explicit Decline clears them
  • ·On pages we do measure, the session-replay tool now loads once the page is interactive rather than after the page has fully loaded and gone idle, so the stop sent when a card opens is not lost
  • ·The default is unchanged — full pages load analytics unless you decline

September 10, 2026

Platform

Your report opens with the score, what it means, and the next step

A report used to follow the gauge with a caveat card and a to-do list before it said what the score meant, and the main inspection button sat below the whole score card. The top of the report now reads in order: your score, one sentence on what it means, and — where an inspection is offered — the button to request one.

  • ·The sentence that explains your score now comes directly under the gauge, in larger type. It used to sit below a caveat card, the to-do list and the confidence badge
  • ·The inspection button moved up into the score card, just under that sentence. As before, it appears only for a Moderate score or higher in a state where we offer inspections, and if a data source failed during your lookup, the notice saying your score is understated still comes before it
  • ·Two caveat cards that repeated each other became one always-visible line — exposure, not damage; a high score is not a damaged roof and a low score is not an undamaged one — plus a “What this score does not tell you” section you can open. Everything else from both cards, including “Not a damage diagnosis. Not insurance advice. Not an inspection.”, now sits in that section, and it prints expanded
  • ·On a typical laptop screen the score, the sentence and the button now fit without scrolling. On a phone the gauge fills the first screen, and the sentence and button follow directly after it
  • ·The reading column is wider on desktop, so the text no longer runs in a narrow strip down the middle of the page. On a phone the column already filled the screen
  • ·The score and its explanation did not change, and the plain-language disclaimer at the foot of the report — not a damage diagnosis, not insurance or legal advice — is still always visible

September 10, 2026

Data

The UV factor comes back, and a missing reading is left out instead of guessed

When the solar data source behind the report's UV factor went dark in late May, the Roof Stress Index filled the gap with a national average and drew it as the property's own UV bar. From September 1 a missing reading was left out instead, and from September 10 readings come from NASA's solar climatology, a long-run average for the location.

  • ·Leaving the guess out moved the Roof Stress Index on some reports, up or down. The HailScore itself uses UV only for a small adjustment at very sunny locations — none in Colorado — and that adjustment applies again wherever a reading exists

September 9, 2026

PlatformTrust

Inspection requests reach a partner roofer where one covers you, and the email stops over-promising

An inspection request used to wait for us to pass it on by hand, while its confirmation email already said a local inspector would reach out. When a partner roofer covers your address, your request is now sent to them as you submit it, and the request form's confirmation makes that promise only once the roofer's copy has gone out.

  • ·A request is sent automatically only when you asked for an inspection and agreed to be contacted, the address is in a state where we offer inspections, and a partner roofer covers your ZIP
  • ·If no roofer was sent your request — nobody covers the ZIP, or the send failed — the confirmation says we are still matching you and will confirm by email, instead of saying an inspector will reach out
  • ·Unlocking your report without ticking the inspection box never sends your details to a roofer, and a request from outside the states we serve is never sent to one automatically
  • ·The roofer's copy now says an inspection was requested and includes the roof age and material you entered when you looked up the address. The request form used to send none of the three
  • ·On phones, the cookie banner no longer covers the request form's submit button or the consent wording under it, and the bar pinned to the bottom of the report now sits above the banner instead of hidden behind it
  • ·A Low score no longer shows an inspection button anywhere on the report. The button inside the locked part of the report, which could not be tapped, now waits until you unlock, and both it and the link at the bottom of the unlock card now appear only in states where we offer inspections

September 4, 2026

TrustMethodology

Your report stops pairing a hail size with a sentence about your roof

The Hail Size Comparison on the free report put a damage line beside most sizes and badged the rows matching your area, and the storm history further down the report added similar lines to some of its events. A hail size on its own says nothing about what happened to a particular roof, so that language is gone from both.

  • ·The comparison is now a diameter and the everyday object people picture at that size. Exactly one row is marked — the largest listed size at or below the largest hail in your address's storm record — and the marker prints that figure, where the old rule could light two rows at once
  • ·The line under that largest size calls it the storm record for the address, not a finding about the roof, and says only a licensed contractor on the roof can confirm condition
  • ·Under the table the report says where the sizes come from — NOAA radar, except where a matching ground report from the same storm replaced the estimate — and that the radar estimate is tuned so roughly 75% of measured hail comes in at or below it, so a size should be read as a class, not a measurement
  • ·The storm history keeps each event's date, size and distance, and loses the size-keyed sentences about what that hail does to shingles, decking and flashing, along with a closing line that hinted at hidden damage
  • ·Scores and the storm record are unchanged — only what the report says about a size changed

September 2, 2026

DataTrust

A date check searches the local day you picked, not a UTC one

The free “did it hail at my address on this date” check bounded its search at midnight UTC — 6pm on a Colorado summer evening — so with “That exact day” selected, an evening storm could come back as “No hail detected” on its own date and as a hit on the next one. The search now runs from local midnight to local midnight, in the time zone of the state the address is in.

  • ·An evening storm counts on the date it fell, and the following date no longer inherits it. The wider windows, which reach one, three or seven days either side, also start and end at local midnight
  • ·Each address is counted in its own state's time zone, where before every day was labelled on Denver's calendar
  • ·A CoCoRaHS volunteer's hail report is listed under the date the observer wrote down. It used to land a day early
  • ·“View this storm's public record” now links the record for the county the address is in, and only when that record exists. It used to use the county of the nearest tracked city, which could send a Lone Tree address to a Douglas County page that does not exist, for a storm whose mapped cells all fell in Arapahoe County
  • ·The south-metro Denver blog posts about that storm now link the Arapahoe County record and say plainly that every mapped cell fell inside Arapahoe — they had presented it as a Douglas County storm as well
  • ·The address score and the storm-day pages are unchanged

September 2, 2026

DataMethodologyTrust

Season hail statistics leave out readings the surrounding radar doesn't back up

Colorado's season statistics were publishing a largest-hail figure taken from one stuck radar grid cell — a reading an earlier blog post had already flagged as a radar artifact. Season highs, monthly highs and the hail-day count now leave out readings that too few nearby radar cells back up on the same date, and what is left out is stated rather than dropped in silence.

  • ·Radar hail estimates form a grid, and a real hail core covers a patch of neighbouring cells. A reading with too few nearby cells reporting hail of 1″ or larger on the same date is left out of the season and monthly highs
  • ·A date counts as a hail day only if at least one of its readings passes that check. Dates that fail are listed apart from dates that only repeated the previous day's radar maximum, so every excluded date carries one stated reason
  • ·/colorado-hail-statistics lists each date the check dropped, with the largest reading it carried. It and /texas-hail-statistics also say how many radar cells were left out of the highs and name the largest
  • ·The same rule reaches /press, the embeddable Colorado statistics widget, the live season band inside some Colorado blog posts, and the open Colorado dataset, which lists excluded readings and dates in fields of their own and reports no size rather than a zero when nothing qualifies
  • ·Near a state line, a reading is judged against its whole neighbourhood, including cells just across the border — those can back a reading up but are never counted
  • ·The check can only rule a reading out. Passing it does not confirm a reading — the season high is still labelled a radar estimate — and failing it means only that the surrounding field does not back the reading up

September 2, 2026

Platform

“Manage billing” opens the billing portal, not a page of raw data

For a Team or Firm subscriber, the Manage billing button on the storm-reports dashboard — the self-serve route to update a card or cancel — answered with a bare line of machine-readable data holding the portal link instead of taking you there. It now opens Stripe's billing portal directly.

  • ·If your session has expired, the button sends you to sign in and then back to the dashboard
  • ·If the portal can't be opened, or the account no longer has an active Team or Firm plan, you land back on the dashboard with a plain notice saying which, instead of a page of raw data
  • ·Who can open the portal, and what any plan costs, are unchanged

September 1, 2026

Platform

The $9.95 order form shows what a report costs on the Team plan

On /storm-report the monthly Team plan appeared only in a list of every price near the bottom of the page. A short line directly under the pay button now states the offer — Team at $49 a month for 25 reports, $1.96 per report instead of $9.95 — and links straight to the plan cards on /pricing.

  • ·The pay button, its “No subscription. Single charge, single PDF.” caption and the $9.95 one-off are unchanged, and the new line says the one-off stays exactly as it is
  • ·If the form recognises the email of an active Team or Firm subscriber with reports left this month, the offer disappears along with the pay button, so it doesn't pitch the plan you are already using
  • ·After a purchase, the Team card on the confirmation page now reads “Subscribe to Team” and lands on the plan cards rather than the top of /pricing, with an “Order another report” button beneath it
  • ·The receipt email makes one Team offer under your report, where it used to pitch two plans in one paragraph
  • ·The HailScore Pro cards under a free score and on storm-day pages link to the same plan cards and carry the same per-report math
  • ·No price, plan or checkout changed. The $1.96 figure is the $49 monthly price spread across all 25 reports

August 31, 2026

TrustPlatform

Subscribers stop paying retail for a report their plan already covers

If you hold an active Adjuster Team or Firm plan with reports left this month, the one-off $9.95 order form no longer charges you again. It recognises the email you type and points you at the reports your plan already includes.

  • ·The order form checks the email on the way in: an active plan with quota remaining replaces the pay button with a sign-in link to your reports
  • ·The order endpoint refuses the charge too, so a blocked or raced check can never take money a plan already covers
  • ·Once a plan's monthly reports are used up, the $9.95 path stays open — it is the documented overage route, not a wall
  • ·Nothing about past orders changes. A retail purchase made before a plan existed was correct at the time and is not reclassified or refunded
  • ·Signing in from that card now lands on your reports rather than a generic dashboard, and the page you see after subscribing no longer offers a one-off order

August 27, 2026

Platform

My Sites — your Pro lookups live on the account, not in one browser

Every address a Pro account looks up is now saved to that account as a pin, with a map and a full list at /dashboard/my-sites. Recent lookups used to be the last ten, held in one browser's local storage, and absent on every other device.

  • ·The lookup is the save — running an address on Hail History or the date-of-loss verifier pins it automatically, with no second tap
  • ·One map of the whole pin set, plus the full list with paging; open a pin to reach that address's storm days and paint a day's swath
  • ·Label a pin or remove it. Looking the address up again brings a removed pin back, because a repeat lookup is the same site
  • ·The bulk tools — bulk lookup, loss runs, portfolio sweep — deliberately never pin. This is a job-site map, not a canvassing sweep
  • ·A pin is a saved lookup, not a damage mark: it records that you checked an address and nothing about the roof
  • ·Available on accounts with unlimited access — site admin, a paid contractor tier, or an active Team or Firm plan

August 27, 2026

TrustPlatform

The report you paid for is one document, stored and served

A $9.95 storm-history report is now rendered exactly once, written to HailScore's own private storage, read back and compared byte for byte before the email goes out — and your download link serves those same bytes for good.

  • ·An order counts as fulfilled only when a verified stored copy exists and the email carried exactly those bytes
  • ·The download link no longer re-renders on demand. A report is the record of what happened on a date, and quietly serving a newer rendering was the worst way for that to fail
  • ·Paid reports moved to a private HailScore-owned store. These documents carry a property address and its storm history and were never suitable for a URL anyone could hold forever
  • ·If the storage check cannot pass, the order fails loudly and is retried — rather than emailing a link that would break later
  • ·Delivery is recorded now instead of assumed: a hard bounce or a rejection by a mail provider is visible to us, where before it counted as delivered and only a complaint could surface it

August 26, 2026

Trust

Pages open with the answer, and the copy matches the product

Storm-day pages, Colorado city pages and the Colorado state page now open with two plain sentences: the place, the local date, the hail size class, the government publisher, and the fact that a record of hail is not a finding of damage.

  • ·One shared builder writes that opening, so no page invents its own sentence about what radar-estimated hail means — writing it locally is exactly how an unsupported claim spread across the site last time
  • ·The exact peak size is not lost; it sits one line down, beside the caveats that make it readable
  • ·Preliminary radar pages say preliminary. The NOAA Storm Events pages never do, because a ten-year archive is not preliminary
  • ·On /for-pros, /for-adjusters and /for-contractors the record total is no longer called “verified” — most of it is modeled radar estimate, and only NOAA Storm Events and CoCoRaHS are human-verified
  • ·The canvass swath is named on those pages as a paid Pro view, and “they already know hail hit their address” became “they have seen the exposure on record”

August 25, 2026

TrustPlatform

What's free and what isn't, said precisely

Four logged-out pages described HailScore in ways that did not match checkout, and to a roofing contractor every one of them read as an offer of a free canvassing map — the one product in this category we don't sell. /pricing, /compare, /compare/hailtrace and /faq now name the free tier and the paid ladder exactly.

  • ·Free, in as many words: the score and tier for any US address, the full storm ledger with date, size and distance, an address-level event map on your report, and year-by-year history — no account, no card
  • ·Not free: street-level zoom on the storm-day map pages, the source-cited PDF you can hand to an adjuster, and bulk or repeat pulls across a book of addresses
  • ·Not sold at any price, now printed on the page: homeowner contact lists, door-knocking lead lists, canvassing territory or routes, and nationwide contractor map subscriptions
  • ·Leads are paid and priced when a lead is assigned. The old line “we send you matched leads” read as a free stream
  • ·Pro Individual stays free during the beta — the paid Individual plan is not live, and no page offers it
  • ·The “Pro view: show hail swaths” toggle on a report now requires the same Pro access as the storm-day zoom, decided on the server rather than in the browser

August 25, 2026

Trust

Decline now actually stops analytics

Clicking Decline on the cookie banner left Google Analytics and the session-replay tool running in the tab that clicked it. It doesn't any more: the opt-out flag is set immediately, the event queue is emptied in place, replay is stopped, and analytics cookies are cleared across the parent domains.

  • ·The banner enforces the choice on the click rather than on the next render, so nothing is collected in between
  • ·A Decline made in one tab now takes effect in the others
  • ·Analytics cookies scoped to the bare domain used to survive the old single-domain wipe. They are cleared now
  • ·The default is unchanged — analytics loads unless you decline

August 24, 2026

Platform

Both paid paths sit where you actually read the storm

The $9.95 storm-history report and the Pro path now appear directly under your free score, and again on the public storm-day pages — instead of seven screens further down, or not at all.

  • ·On a report, two plain cards render immediately below the score card and the inspection band
  • ·On a storm-day page, the same two cards sit under the free address check
  • ·Where a storm is NOAA-verified and inside the ten-year date-of-loss window, the order form arrives with that date pre-filled
  • ·Preliminary radar-only dates link to the order form with no date promise, because a date-of-loss check on one of those would predictably come back unverified at the busiest moment
  • ·No new product, price or tier — both cards point at paths that already existed

August 22, 2026

TrustPlatform

A second route to the report you paid for — and a report that never pretends

Two failures that reported success. A paid report now carries a signed download link beside the emailed attachment, and a storm-history read that fails is stated as a failure instead of being rendered as “no hail fell”.

  • ·A mail filter can hold an attachment where no sender can observe it. The fulfilment email and the success page both carry a per-order download link now
  • ·Four storm-history reads used to swallow their own errors, so a database outage and a genuinely hail-free address produced identical output: zero hail days, no error, no flag
  • ·A failed read is recorded and named. The report renders its storm-day section anyway, states that the absence of a day is not a finding, and offers a free re-issue
  • ·A rendered report is checked for a plausible size before it is emailed — an empty or truncated file used to be attached and recorded as delivered
  • ·An order that fails is now retried automatically for two weeks, instead of sitting failed until a person noticed

August 21, 2026

PlatformData

The paid report now maps every hail day

The $9.95 storm-history PDF carries one radar-footprint figure per local hail day at the property: the day's radar-estimated footprint drawn over a street basemap, with the property pinned, distance rings and a scale bar.

  • ·Streets, parks and town shapes sit under each footprint, so a reader can see which side of the wash a property was on
  • ·Towns are named on every figure, ranked so the city an out-of-state reader would recognise is not left off in favour of two closer suburbs
  • ·The basemap is fetched with a timeout and can fall back to a plain panel with the town labels — a map outage costs a figure its background, never a paid order
  • ·A day that is only a re-report of the previous day's storm is excluded and named as excluded, rather than drawn twice
  • ·Every figure says what it is not: a footprint is not a damage outline, and only an on-roof inspection can determine damage
  • ·A footprint that reaches the edge of the radar read says the storm may continue past it, and never asserts what lies beyond
  • ·The published sample report was regenerated, so what is advertised is what a buyer receives

August 21, 2026

MethodologyTrust

A hail size is a class, not a measurement

We printed a symmetric error margin beside radar-estimated hail sizes on twenty surfaces, including a PDF sold to adjusters. No published work supports one, so it is retired and replaced with what the literature actually says.

  • ·The radar estimate is tuned so that roughly 75% of measured hail comes in at or below it. That is a bias, not an error bar in both directions
  • ·The replacement wording lives in one shared place: radar-estimated hail at or above one inch, preliminary, a size class rather than a measurement, and not a damage outline
  • ·Removed from the storm pages and their data feed, the address-and-date lookup, the city pages, how-it-works, the Colorado dataset, and nine passages across eight blog posts
  • ·A test now walks every page, component and post in the source tree and fails on the claim or on a reworded version of it, because the realistic relapse is a paraphrase
  • ·Hail diameters in the size guide are untouched. A size is a size; what went was the claimed spread around it

August 20, 2026

DataMethodologyTrust

One storm evening is one storm day

Two counting bugs were making the same hail look like more hail. Storm days were keyed on the UTC date, and UTC midnight is 6pm Mountain — the middle of a Colorado hail evening. Meanwhile the live radar product re-publishes a trailing 24-hour maximum every couple of hours, so yesterday's storm reappeared under today's date at yesterday's size. Both are now fixed everywhere a day is counted.

  • ·Storm-day pages: a date whose radar cells all appeared the day before is no longer published as its own storm. A date with genuinely new cells is kept, because collapsing it would erase a real storm
  • ·“Did it hail at my address on this date?” applies the same rule, so it can no longer contradict the storm page it links to inside the same answer
  • ·Colorado's 2026 season hail-day count is corrected from 84 to 69, and Texas from 99 to 93 — by one shared rule, not two definitions. The excluded dates are named on the page and in the public dataset, because a count that quietly shrinks is indistinguishable from a broken feed
  • ·Storm alerts for saved homes dedupe on the local calendar day, so one storm evening cannot notify you twice — and storms already alerted on are not re-sent
  • ·Your home binder timeline, Storm Replay and the Pro hail-history list all enumerate the same local days. One test address that used to list eight storm days now lists the four that happened
  • ·Three blog posts and their hail-day tables were corrected to match, and three storm posts that were duplicates of a single storm were merged into it
  • ·Every hail-day list now resolves the local day inside the database query, so the answer no longer depends on which machine ran it

August 19, 2026

Platform

Street-level zoom on the storm-day maps is a Pro feature

The storm record stays free and stays indexable: the page, the cell table, the honesty line and the swath itself all render for everyone at the fit-the-storm frame. What Pro adds is zooming and panning into it, down to the streets.

  • ·Every visitor, search engines included, receives byte-identical HTML. The gate is a capability on the same page, never a different page
  • ·The teaser frame stops exactly where residential street names begin to render — the line between “where was the storm” and “which block do I knock”
  • ·A test fails the build if the page ever branches on who is signed in, because the moment indexability depends on a session this becomes cloaking
  • ·No new product and no new price. The unlock is access a paid account already has

August 19, 2026

PlatformDataAPI

A truer swath, one builder, and tap a day to see it

The hail swath was a union of buffered grid squares, so it could only ever have axis-aligned edges and simplified into hard facets. It is now contoured from the radar field itself and smoothed — by one builder shared across the storm pages, the date-of-loss verifier, the Pro dashboard and the API.

  • ·Tap a storm day on the date-of-loss verifier or on Hail History and that day's footprint paints on the map: one address, one local day, one shape at a time
  • ·The outline is the same envelope the old union described, reproduced at finer resolution. The buffer, the size classes, the colours and the opacity are unchanged
  • ·A follow-up closed the exact-touch seams and single-cell notches the first pass left behind
  • ·New endpoint /api/v1/property/day-footprint returns a day's footprint together with the shared size legend, so an integrator cannot carry a drifting copy of the colour ramp
  • ·/v1/property/history now also returns the local storm days and names the dates it excluded as re-reports
  • ·The Pro hail-history caveat dropped a legal-standing claim it could not support. Every size there is a government publisher's own reading of hail exposure near an address — never a determination about the roof

August 17, 2026

DataTrust

County storm pages follow county lines

A county storm page decided which radar cells were “in” the county by asking whether each cell fell within fifteen miles of one of its towns. Circles overlap; counties do not. Membership is now point-in-polygon against Census county boundaries.

  • ·Four Front Range county pairs had been publishing the same storm — two of them as byte-identical cell lists
  • ·One page was live and indexed headlining 2.28-inch hail “in Denver County” from a cell physically in the county to its south. Denver County recorded no hail that day
  • ·The correction cuts both ways: one county's page had been under-covering its own storm and now carries the cells that were genuinely inside it
  • ·A county page with no cells inside its boundary is unpublished rather than shown
  • ·The fifteen-mile radius survives for the job it was written for — naming the nearest town — and the scoring radius is untouched

August 14, 2026

PlatformData

Storm maps draw the storm, not scattered dots

Storm-day maps plotted each radar cell as a dot and left you to infer the affected area. They now draw the storm's footprint underneath, with a size key inside the map frame — and the date-of-loss verifier shows the same footprint over the subject property at street zoom.

  • ·Per-cell dots are gone wherever a footprint exists; they buried the very shape they were used to derive. They remain where the record is sparse ground reports, which is the honest picture of scattered observations
  • ·Not a circle around the storm's centre: on one measured evening a fifteen-mile circle would have claimed 707 square miles against a real footprint of 47
  • ·Tapping a band names the band — a size range — and never a point value, because the radar grid does not carry one
  • ·Size classes are cut against each other, so no blended colour appears that the key does not name; the key, the storm map and the report map now read one shared palette
  • ·Fixed alongside: the storm map that rendered blank, the fill that buried every street label, and the peak callout that stretched to the map's full width

August 11, 2026

TrustPlatform

Trademark ownership corrected, and inspection requests reach the right roofer

Three public surfaces said the LLC owns the HAILSCORE™ application. The applicant of record is Alex Chicilo as an individual, with the mark used under license by Hailscore LLC, and the site now says so. Separately, the exact-zip contractor match that routes an inspection request had stopped matching at all.

  • ·The footer, /terms, /press and the machine-readable summary that AI engines read now say the same thing: the application is pending rather than registered, and it is held by the founder individually
  • ·The registered entity is Hailscore LLC. Two pages had the name slightly wrong
  • ·Inspection routing: the exact-zip contractor lookup passed its zip list to the database in a form that could never match, so every request fell through to the wider radius match
  • ·The inspection call to action moved from 43% down the report to 20%, where it is reachable without scrolling past the score
  • ·That call to action now names the closest qualifying storm rather than simply the most recent one

August 9, 2026

Platform

Status: the homeowner app is nearly ready

A heads-up rather than a release: the free HailScore app for homeowners is code-complete and in App Store preparation. It brings your score, your saved homes, and your storm record to your phone — with the same no-gate promise the site keeps.

  • ·Check any address and read the full storm record — free, no account required to see your score
  • ·Save and watch your home: a running home binder for documents, photos, and repairs alongside the hail history
  • ·Storm alerts and "your score changed" notices for saved homes, by email
  • ·Request a free inspection from inside the app in served states, under the same consent language as the website
  • ·Delete your account and its data from inside the app — no email required, no dark patterns
  • ·What remains is App Store paperwork, not engineering — screenshots, privacy label, and submission

August 8, 2026

Platform

HailScore Pro 1.1: 14-day free trial and team plans

The contractor field app's first big update is live on the App Store. Try everything free for 14 days with no payment method, then $13 for the first month and $33/month for one user — or Pro Company at $99/month for up to 10 users on one company account.

  • ·14 days of unlimited address lookups, free — no card to start
  • ·Intro pricing: $13 first month, then $33/month for a single user
  • ·Pro Company: $99/month, up to 10 users on one company account
  • ·Every reading still cites its government source record — NOAA Storm Events, NEXRAD, MRMS, CoCoRaHS
  • ·Try the app before creating an account: a bundled sample lookup shows a real result signed out

August 5, 2026

PlatformTrust

Inspections open in Missouri — and everywhere else gets an honest ask

Free roof inspections are now available in Missouri, joining Colorado and Ohio. And if you're outside those states, the report no longer dead-ends: you can ask us to find you a local roofer, with the sharing consent spelled out in plain language before you submit.

  • ·Missouri homeowners get the full inspection flow — a verified local partner receives your request directly
  • ·Out-of-area homeowners see a truthful offer: no HailScore partner in your state yet, but we'll personally reach out to quality roofers near you and connect you, free — and if we can't find one, we'll say so
  • ·The old email-only waitlist is retired; the new form states exactly who your contact info is shared with before you agree
  • ·Storm-alert copy now promises exactly what the system does: an alert only when NOAA radar measures 1-inch or larger hail within about a mile of your home — fewer alerts, every one meaningful
  • ·Report gate: the inspection opt-in checkbox is back for in-area homeowners with a phone-consent disclosure at the point of ask

August 1, 2026

PlatformDataTrust

"Your HailScore just changed" — plus minute-by-minute storm timelines

Saved homes now get a recomputed score after qualifying storms, and the alert says what moved and why. Storm pages gained NEXRAD minute-resolution timelines and county-history rankings — and we re-audited every paid report ever sold against the completed radar archive.

  • ·Score-change alerts: when measured hail lands near a saved home, the server recomputes the score and the email reads "changed: X → Y" — an algorithm update alone can never masquerade as storm damage
  • ·Storm timelines: how the storm actually unfolded, from NEXRAD per-scan detections — start, peak, and end times with a 15-minute bar chart
  • ·County context: verified storm pages now rank the event against every NOAA-recorded hail day in that county since 2015
  • ·Paid-report integrity audit: after completing the national radar backfill we re-checked all paid storm reports against the fuller archive — 7 of 8 provably unchanged, and the one affected buyer gets a corrected report

July 31, 2026

MethodologyDataTrust

Scoring engine v7 is live — and our national radar archive is complete for the first time

Two changes landed the same day: HailScore switched to scoring engine v7, and a national backfill recovered 2.79 million NOAA radar records our archive had been silently missing since it was first built. Same 0–100 scale and the same tier bands, but many scores moved — some down because v7 stopped over-crediting distant storms, some up because we finally hold the full record for that region.

  • ·v7 weights recency by distance. In v6 a storm three miles away counted almost as much as one directly overhead, which quietly handed nearly every property the same recency points; v7 makes that channel discriminate again, so scores driven mostly by far-off storms went down
  • ·Radar readings are now rolled up to one event per storm-day per ~0.7 mile cell, so a single physical storm can no longer be counted many times over
  • ·Live MRMS radar is fused into every scoring surface — free report, bulk lookup, embed, and the v1 API now share one storm builder instead of three
  • ·Self-reported roof age and material are bounded and disclosed: they move the score within a published range, they are never a cheat code, and the report states what was assumed when you leave a field blank
  • ·Every score now carries explicit data-quality flags. If a feed is degraded, or our archive is thin for your area, the report says so instead of quietly showing you a reassuring low number
  • ·Archive completeness: the original national radar build predated a loader guard, so large-area fetches silently returned partial data. 40 of 48 states were affected — in the worst cases more than 90% of a state's records were missing. 2,792,263 rows were recovered across all 48 states, append-only, with zero rows modified or deleted
  • ·We found this with a new test that compares our row count against NOAA's for the same area and window. Our old coverage check graded a state complete if its data spanned enough years — North Dakota passed it while missing 88% of its records. Both checks ship in our tooling and run against production
  • ·Public record count moves from 25.1M+ to 29.6M+, machine-derived from live production counts as always
  • ·Tier bands are unchanged: 0–25 Low, 26–50 Moderate, 51–75 High, 76–100 Very High. Scores stored before this date keep the engine version that produced them

July 28, 2026

Platform

HailScore Pro is on the App Store

Our first native app is live: HailScore Pro, the contractor field app. Type a curb address and get the property's hail history in seconds — storm days, largest hail within 1, 2, and 3 miles, and the date of each — with every reading cited to its government source record.

  • ·Built for the truck: big type, high contrast, look up the address you're standing at
  • ·Copy a date of loss with one tap; share a branded summary with a homeowner or adjuster
  • ·Look back 3, 5, or 10 years from any address
  • ·No proprietary score in the app — rows trace to NOAA Storm Events, NEXRAD radar, MRMS MESH, and CoCoRaHS records you can quote directly
  • ·Optional source-cited storm-history PDF for any address — $9.95, emailed in about a minute
  • ·What it is not: documentation of hail exposure from government weather records — only an on-roof inspection can diagnose damage

July 27, 2026

DataTrustPlatform

Arsenal crosses 25 million hail records — public counts now 25.1M+

A fresh production recount of every arsenal table puts the live total at 25.17 million rows. Site-wide headlines, blog tokens, llms.txt, and API/meta surfaces now floor to 25.1M+ (always ≤ true count). No hand-edited marketing numbers — one machine-owned JSON drives them all.

  • ·Exact COUNT(*): 25,174,828 total across radar_hail, mrms_mesh, storm_events, CoCoRaHS, and SPC hail reports (as of 2026-07-27)
  • ·Display rule unchanged: floor to tenths of a million with a “+” so we never oversell
  • ·Pages and MDX that use RECORD_COUNT_* constants or {{RECORD_COUNT_*}} tokens update automatically — no blog rewrite pass required for the floor bump
  • ·MRMS subset alone is now 19.2M+ cells; NEXRAD SWDI radar signatures 5.6M+
  • ·Weekly refresh cron keeps the floor honest; run npm run refresh:counts anytime after a large ingest

July 24, 2026

DataTrustPlatformAPI

Cleaner radar history, honest buy path, and a score that respects your roof inputs

A big integrity pass on how we count hail and how the product talks about money: duplicate radar rows are gone so storm frequency is honest, refining roof age or material actually recomputes the score, and the $9.95 report path is clearer about what you are buying — a source-cited storm record, not a damage verdict.

  • ·radar_hail deduped on its natural key (station + cell + time) with a unique index so the same physical reading cannot inflate a score twice — densest metros were the worst offenders before
  • ·Refining age or material on a free report no longer bounces you home or serves yesterday’s score with today’s labels — cache and navigation both track roof inputs
  • ·Paid API roof types like metal standing seam and concrete tile now map to the real material ladder instead of silently pricing as asphalt
  • ·Buy CTAs lead with the job (a government-sourced storm-history PDF for your file or adjuster) and stop leading with the hedge; post-purchase surfaces Team pricing from the live catalog
  • ·Checkout success only grants account access after Stripe shows paid and complete; refunds and disputes now mark the order in our system so status matches the bank
  • ·Analytics no longer ships full street addresses to Google — only that an address was present
  • ·Copy cleanup: no more “court-ready” or “accepted by insurance” overclaims on public surfaces; the PDF is source-cited documentation, not a guarantee
  • ·Next scoring engine (v7) still runs in silent shadow only — public scores remain v6.4 until a written go-live after more dual-run evidence

July 21, 2026

PlatformTrustData

Storm History Report ($9.95): clearer date-of-loss answer, still valuable when the answer is no

The paid Storm History Verification Report is rebuilt around what people actually buy it for: was there severe hail near this address around a date of loss — and what does the longer record show either way. Layout and source claims were tightened so the PDF matches the ledger inside.

  • ·Date-of-loss is evaluated on local calendar days (not a UTC-only window that could mis-count storms)
  • ·When no event falls in the DOL window, page one still delivers value: nearest storms before and after, plus a ten-year severe-hail snapshot — not only “no event found”
  • ·Scope and data-freshness language is honest (including NOAA publication lag), so a “no” is not oversold as final absolute truth
  • ·Map and events layout repaired; public sample PDF on /storm-report regenerated to match what buyers receive
  • ·Storefront claims on /storm-report now match the sources actually listed in the PDF

July 16, 2026

MethodologyTrust

Roof materials: clear product names ranked for hail

Lookup and report pickers now use the names pros and homeowners actually use, ordered weakest to strongest for hail: 3-Tab, Class 3 Asphalt, Class 4 Asphalt, Mod Bit Flat Roofing, Tile/Slate, Metal. Scoring factors follow that ladder (methodology v6.4).

  • ·Same stable API keys — only display names and hail multipliers changed
  • ·Metal ranks strongest for hail on this ladder; 3-tab weakest
  • ·Class 4 Asphalt sits above Class 3, below mod-bit / tile / metal — matching field ranking, not a generic “Class 4 always best” claim

July 15, 2026

MethodologyTrustAPI

Every score now names the exact revision that computed it

Two scoring revisions — v6.1 and v6.2 — shipped on 2026-05-30 and were documented in §9 of the methodology paper, but the version label carried alongside each score still read "v6". The label now reads v6.2 everywhere: on the API, on the methodology page, and on stored score records. No score values changed — this corrects the name, not the math.

  • ·v6.1 and v6.2 are now listed in the machine-readable changelog at /api/v1/meta/methodology — the endpoint integration partners poll to learn about revisions. They were previously visible only on the methodology page.
  • ·meta.methodology_version on every public API response now reports v6.2
  • ·Score records created since the revisions were re-stamped to v6.2, so stored lineage matches the algorithm that actually produced them
  • ·The published version and the scoring version now come from one constant, with a test that fails the build if they ever disagree
  • ·The v6-family score described in our 2026-07-14 note is precisely v6.2; v7 remains in silent shadow and is still not user-facing

July 15, 2026

TrustData

Reports now tell you when a data source did not answer

HailScore reads several independent storm publishers for every lookup. If one of them fails to respond, the score is built from less history than usual and is therefore understated. Previously that produced a lower number with no warning. Now the report says so.

  • ·A degraded lookup carries a plain notice: the score is a floor, not a reading — re-run the address shortly
  • ·The data-sources list no longer credits a source we were unable to read on that lookup
  • ·We are alerted automatically when a publisher fails, so the gap gets fixed rather than sitting silently
  • ·This matters most right after a storm, which is exactly when people look their address up
  • ·Score math is unchanged: a healthy lookup returns the same number it did before

July 14, 2026

MethodologyTrustPlatform

Scoring integrity program — next algorithm runs in shadow first

We completed a full scoring-system audit and are running a next-generation engine (v7) in silent shadow mode alongside production. Your public score is still algorithm v6 — nothing jumps overnight. We store both results so we can measure differences before any public switch.

  • ·Production HailScore remains v6 for free reports, pro tools, embed, and API until we explicitly flip
  • ·Shadow v7 focuses on storm-day radar rollup, correct roof-material mapping, and safer handling when size data is missing or a feed fails
  • ·Dual-feed shadow on free lookup: live path unchanged; silent path measures the full fix honestly
  • ·Instant rollback: a single off switch returns everyone to v6 — no silent mid-season surprise

July 14, 2026

Platform

Contractor Field Desk, territory routing, and clearer pricing

Contractors got a mobile-first Field Desk, storm-day job tools, Mapbox address search for members, and state-aware partner territory routing. Public pricing and contractor dashboard density were cleaned up so the path from signup to daily use is one story.

  • ·Field Desk chrome for on-the-job lookups and lead handling
  • ·Partner territory + admin sell desk: state-aware routing and lead market tools
  • ·Dashboard members can search addresses again; Mapbox autocomplete on key flows
  • ·Uniform public pricing surfaces + denser contractor home

July 11, 2026

Trust

Independence disclosure + partner standards

HailScore is a separate company from any roofing contractor. We published a clear independence and conflict-of-interest statement, and a public partner code of conduct — including how partners may and may not describe the score to homeowners.

  • ·/about#independence — founder dual role disclosed; free score does not favor any firm
  • ·New /partner-standards — eligibility, lead handling, allowed vs forbidden score language
  • ·Apply form and for-contractors page link the standards explicitly
  • ·Report and homepage point to independence next to methodology

July 10, 2026

TrustPlatform

Exposure framing, contractor apply, and report honesty

Copy and report UI reinforce that HailScore measures documented hail exposure near an address — not roof damage, not insurance advice, and not an inspection. Roofing partners can apply online; approved partners get a guided onboard instead of a dead-end mailbox.

  • ·Report trust box: what the score does not tell you (always visible with free score)
  • ·Site-wide exposure language sweep (home, contractors, leftover tier copy)
  • ·Real partner application form → review queue (no mailto black hole)
  • ·Approve → magic invite with null password so first set-password works; onboard checklist

July 7, 2026

Data

Record-count floor refresh — 23.1M+ total arsenal

Public record counts were re-floored from machine-owned production totals. Site-wide primary figure is now 23.1M+ verified records (with NEXRAD and other sources labeled honestly), so marketing, report chrome, and how-it-works stay aligned.

  • ·RECORD_COUNT_TOTAL_DISPLAY and related constants refreshed from live inventory
  • ·How-it-works and arsenal messaging clarified so source bands don't contradict
  • ·Counts remain floored with '+' — they only move up when the floor is re-certified

June 12, 2026

Platform

The Storm Record — HailScore, redesigned

The homepage and report were rebuilt around one calm, evidence-first 'Storm Record' look — a warm paper background, display headlines, and a consistent Storm Ledger of your address's events with the score gauge front and center. Same data, same traffic-light score colors, far easier to read.

  • ·New homepage that leads with the address lookup
  • ·A canonical Storm Ledger event table shared by the homepage and report
  • ·Navbar, masthead, and report chrome unified into one design system
  • ·The Credit-Karma-style score gauge and its green/yellow/orange/red bands kept exactly as-is

June 12, 2026

Platform

Free homeowner accounts + a diary for your home

Create a free account with no password (just a magic link), save your home, and keep watching it. Your home page now shows a storm timeline, a year-by-year hail chart, a 'Year in Hail' recap, and a place to log repairs and store documents.

  • ·Free account surfaced on the homepage + one-tap magic-link sign-in
  • ·Per-home storm timeline — now correctly merging live radar (it had been ~4 years stale)
  • ·'Year in Hail' wrapped-style recap for each saved home
  • ·Repair log + document storage, plus a signed-in navbar with save/watch

June 12, 2026

Data

Live Colorado hail statistics + richer storm coverage

A new Colorado Hail Statistics page reports real, live numbers straight from our NOAA + radar database — refreshed hourly, every figure labeled by source and date (no hand-typed stats). The automatic 'Storm Just Hit [City]' posts now include a hail-swath map, the affected ZIP codes, and a link to look up your address.

  • ·/colorado-hail-statistics — live aggregates, each stamped with its source and as-of date
  • ·Richer auto-published city storm posts: MESH swath map, ZIP list, internal links
  • ·In-context internal links across the Colorado articles; sitemap + search cleanups

June 11, 2026

TrustMethodology

Clearer, more honest scoring language

The score and reports say plainly what HailScore measures: hail EXPOSURE — how much qualifying hail your address has actually seen — not a prediction that your roof is damaged. Only a professional inspection can confirm damage, and the reports say so directly.

  • ·Report verdicts and emails describe hail exposure and recommend a professional inspection to confirm any damage
  • ·Automated articles carry an 'informational only — not legal, insurance, or tax advice' disclaimer, with insurance questions pointed to the Colorado Division of Insurance

June 11, 2026

APITrust

Verification API — complete coverage + a no-false-negative guarantee

The verification, score, and history endpoints return the complete set of NOAA Storm Events for an address, each with its citation. And a verification never reports 'no hail in window' when a data source is unavailable — it returns 'inconclusive' and names the missing source, so a gap can never read as a clean negative.

  • ·Every qualifying NOAA Storm Event returned, with citations, on the score and history endpoints
  • ·Date-of-loss verification returns 'inconclusive' (never a false 'no hail') whenever a source is unavailable
  • ·Adjuster workflow hardening (date handling, Daubert-framed wording)
  • ·An automated check now runs typecheck + tests on every change

June 8, 2026

Platform

Contractor team members are now free

We retired per-seat charges. A contractor's whole crew — admins, project managers, canvassers — can be on the account at no per-seat cost. Lead pricing and exclusive territory remain the model.

June 7, 2026

PlatformTrust

Account, team, and mobile polish

A batch of quality fixes: magic-link team invites for contractors, branded sign-in emails, a hardened team member-removal flow, and a mobile fix that stops iOS from zooming when you tap a form field. Contractor accounts also gained a per-storm-day Hail History table.

  • ·Seamless magic-link PM invites + branded sign-in / reset / invite emails
  • ·Hardened contractor member-removal (soft-delete + last-admin guard)
  • ·Mobile: all form inputs floored to 16px to kill iOS auto-zoom
  • ·Contractor Hail History — a per-storm-day hail-ring table

May 27, 2026

TrustData

Site-wide data-accuracy + honesty sweep

Live record counts now match prod (8.6M+ total, up from the 8.5M+ shown elsewhere). Fixed a 24x undersell on /methodology that claimed 12,500 NOAA Storm Events when reality is 299,000. Consolidated 21 surfaces to import from one constants module so the next milestone is a one-line update.

  • ·RECORD_COUNT_TOTAL_DISPLAY bumped 8.5M+ → 8.6M+ (live: 8,617,127)
  • ·/methodology §3.3 fixed: 12,500+ Storm Events claim → actual 299,000
  • ·/for-contractors hero: 4.5 Million Radar Records (wrong) → 5.9 Million NEXRAD
  • ·9 blog posts: 'over 4.5 million NOAA records' → 5.9 million
  • ·21 pages + components + JSON-LD schemas now import counts from /lib/constants instead of hardcoding
  • ·Geographic honesty: 'covers all 50 US states' split into 'data nationwide' vs 'contractor lead routing CO-only'
  • ·Sitemap: 14 missing blog slugs added (were on disk but invisible to Google), /privacy + /terms added, /contractors → /for-contractors canonical fix
  • ·robots.txt: /admin, /login, /register, /reset-password disallowed
  • ·Auth pages now have robots.noindex metadata

May 27, 2026

PlatformTrust

Cert flow repositioned — HailScore = platform, contractor signs

Every cert-mentioning surface now says the honest thing: HailScore is software, a licensed local roofer performs and signs the cert. Dropped the HailScore-set $79 price (each contractor sets their own). CO partner Gates Enterprises named with outbound link to gatesroof.com.

  • ·New src/lib/cert-contractor.ts module — single source of truth for state-by-state partners (one entry today: CO → Gates Enterprises)
  • ·/for-realtors, /for-pros, cert request form, confirmation email all reworded
  • ·Confirmation email: explicit 'No payment is collected by HailScore at any point in this flow'
  • ·Out-of-state copy: honest 'coming as we onboard licensed roofers in your market' instead of fake national coverage

May 27, 2026

Platform

Per-role dashboard depth: admin role-picker + 6 industry-specific hero widgets

Dashboard now has a visible admin role-picker (yellow STAFF PREVIEW chip) plus a daily-driver hero widget per audience. Adjusters get a DOL verifier with publisher-cited events and one-click citation copy. Attorneys get the same widget in Daubert framing. Carriers get a portfolio-sweep panel. Realtors / inspectors / solar each get role-specific workflows.

  • ·<AdminRolePicker /> renders only when session.user.role === 'admin'
  • ·New POST /api/dashboard/dol-verify — session-authed sibling of the API-key-gated /api/v1/property/verify
  • ·ROLE-DASHBOARD-ROADMAP.md captures what each role still needs beyond today's widgets

May 27, 2026

Platform

Stage B — multi-user contractor accounts shipped

Contractors can now have multiple team members with role-based access (admin / pm / canvasser). New contractor_users join table, /dashboard/team admin UI, workspace switcher in sidebar for users on multiple contractors.

  • ·New contractor_users table with admin/pm/canvasser enum
  • ·Cookie-based workspace switcher (hs_active_workspace) + JWT re-hydrate on switch
  • ·Admin-only /dashboard/team page for invite / role-change / remove
  • ·Zero existing contractors orphaned — every existing contractors.user_id backfilled as admin

May 22, 2026

Trust

Site-wide arsenal headline updated to 7.8M+ verified hail records

Replaced generic '5.9M+ NOAA records + live MRMS' arsenal claims with the honest '7.8M+ verified hail records + live MRMS' across landing pages, schemas, footer, data-trust strip, and one blog post. NEXRAD-specific claims explicitly mentioning radar stay at 5.9M+ (the accurate sub-claim). No overclaiming, full Daubert defensibility preserved.

  • ·Smart-split: 7.8M+ arsenal headline (radar_hail + mrms_mesh + storm_events + cocorahs_reports) vs 5.9M+ NEXRAD-specific (radar_hail alone)
  • ·Why 7.8M is honest: 5.93M NEXRAD + 1.58M MRMS + 303K SED + 25K CoCoRaHS = 7.84M, rounded down per convention
  • ·37 new 7.8M+ references created across 17 files
  • ·35 5.9M+ NEXRAD-specific references preserved (radar-only claims stay accurate)
  • ·Wording: 'NOAA records' replaced with 'verified hail records' where the dataset includes CoCoRaHS (not NOAA)

May 22, 2026

DataPlatform

Census ACS property-context layer — 33,774 ZCTAs ingested nationwide

New acs_zip_context table backed by Census ACS 5-year 2022 data. Median home value, median year built, and year-built distribution buckets for every US zip code. Populates the previously-empty scores.property_value context at zip resolution without requiring an ATTOM or Zillow contract.

  • ·33,774 ZCTAs ingested in a single national API call
  • ·33,611 mapped to state via ZIP-prefix lookup (99.5%; the 163 unmapped are Puerto Rico 006-009 — handled in a follow-up)
  • ·30,379 ZCTAs have median home value (90% — rural ZCTAs occasionally suppress estimates)
  • ·Top per-state ZCTA coverage: TX 1,989 · PA 1,833 · NY 1,825 · CA 1,802 · IL 1,396 · OH 1,233 · MO 1,035 · FL 1,013 · MI 992 · IA 970
  • ·Avg median home value: $258,945 · avg median year built: 1974
  • ·Unlocks premium-report copy: "Your zip has a median home value of $X and a median year-built of Y — your home was likely built around that time"
  • ·Idempotent re-ingest via ON CONFLICT (zip) DO UPDATE; re-run annually when new ACS vintages ship

May 22, 2026

DataTrust

CoCoRaHS citizen-science hail observations — national expansion

CoCoRaHS hail-reports table expanded from 7 high-hail states to all 50 states + DC. cocorahs_reports grew 10,161 → 25,072 rows (+147%), 200 → 7,320 distinct observer stations. CoCoRaHS observers are humans who saw + measured the hail — independent ground-truth that complements NEXRAD radar signatures and NOAA Storm Events.

  • ·States covered: 7 → 50 + DC (national coverage)
  • ·Distinct observer stations: ~200 → 7,320
  • ·Top yield states: CO (6,378), TX (1,760), NM (1,485), MN (1,214), OR (1,223), IL (1,171), WY (1,059)
  • ·Date range: 2015-01-02 → 2026-05-21 (current)
  • ·Why it matters: every report with a CoCoRaHS-corroborated event now has a higher-confidence flag — radar signature + government storm event + human observer = three independent sources of truth
  • ·Total arsenal across all 4 sources: now 7.84M records

May 21, 2026

DataTrust

Radar coverage closed nationally — 7 missing states backfilled

The last 7 states with zero NEXRAD radar coverage (IN, OH, PA, NY, NC, SC, AZ) are now fully ingested 2015 → May 2026. radar_hail grew 4,918,338 → 5,931,022 rows (+1,012,684, +20.6%). Total arsenal across all 4 government sources is now 7.81M records. All 50 states have non-zero NEXRAD radar coverage for the first time.

  • ·NC: +267,472 rows (largest yield — Carolina hail belt)
  • ·IN: +218,319 rows
  • ·SC: +212,367 rows
  • ·AZ: +179,357 rows (Sonoran monsoon convection)
  • ·OH: +135,932 rows
  • ·NY: +104,709 rows
  • ·PA: +93,403 rows (Northeast — lowest as expected)
  • ·Headline number updated site-wide: 4.9M+ → 5.9M+ NEXRAD records
  • ·Total arsenal updated: 6.8M+ → 7.8M+ across radar_hail + mrms_mesh + storm_events + cocorahs_reports
  • ·All 50 US states now have non-zero radar_hail coverage. /v1/property/verify can return NEXRAD citations for any US address, not just hail-alley states.

May 21, 2026

DataTrust

Major data backfill — NOAA Storm Events all 50 states + radar 2021 gap closed

Storm Events Database backfilled from Colorado-only (18,911 rows) to all 50 states + territories (303,457 rows, 16× growth). Radar 2021 gap closed via Texas + Oklahoma re-ingestion. Total arsenal now 6.8M+ records across 4 government sources. /v1/property/verify now returns NOAA_SED citations for any US address.

  • ·storm_events: 18,911 → 303,457 rows (all 50 states + territories, 2000-2026)
  • ·radar_hail 2021: 194,341 → 402,806 rows (fixed TX 2021 +152K and OK 2021 +56K gap)
  • ·Total records: 6.30M → 6.79M
  • ·Headline number updated site-wide: 4.7M+ → 4.9M+ NEXRAD records
  • ·New /coverage public page documenting state-by-state, source-by-source counts (refreshes hourly from production)
  • ·Identified: 7 states (IN, OH, PA, NY, NC, SC, AZ) still have 0 radar_hail rows; NOAA SED now covers them. Radar backfill is the next data priority

May 21, 2026

APIPlatform

v1 Carrier API — public release

Public REST API at /v1/* with 5 endpoints (verify, score, history, meta/methodology, meta/health). Bearer-token auth, per-key rate limiting, per-event source citations from NOAA SED, NEXRAD SWDI, MRMS MESH, and CoCoRaHS on every response.

  • ·GET /v1/property/verify — date-of-loss verification (headline endpoint)
  • ·GET /v1/property/score — calibrated HailScore with cited events
  • ·GET /v1/property/history — full chronological event history
  • ·GET /v1/meta/methodology — version + changelog + publisher catalog
  • ·GET /v1/meta/health — service health + per-feed data freshness
  • ·Public docs at /api with curl quickstart + endpoint reference

May 21, 2026

Trust

Security page expanded for carrier procurement

API key rotation procedure, IP allowlisting (enterprise tier), formal data retention policy, vulnerability disclosure with safe-harbor language, and DPA/BAA availability documented at /security.

  • ·§4.1 API key rotation: zero-downtime rotation steps documented
  • ·§4.2 IP allowlisting available on Enterprise Multi-LOB tier
  • ·§6.1 Data retention table (scores, leads, lead_outcomes, api_usage, photos, tokens, logs)
  • ·§10 DPA / BAA / security-questionnaire availability formalized
  • ·§11 Vulnerability disclosure with 90-day coordinated-disclosure safe harbor

May 21, 2026

Trust

Founder bio rewrite + AI-assistance disclosure

Methodology page now carries an explicit AI-assistance disclosure: methodology development was assisted by AI research and writing tools (including Anthropic's Claude); all scoring logic, calibration decisions, and final methodology determinations are the sole responsibility of the author.

  • ·Founder bio across /methodology, /about, /about/alex-chicilo rewritten to reflect 3 years of active residential roofing in Colorado + a business-operations background
  • ·Manufacturer certifications attributed to the Front Range roofing company where the founder is Director of Operations, not to the founder personally
  • ·Admin login email migrated to admin@myhailscore.com; hello@ + alex@ + pilots@ aliases established

May 21, 2026

Platform

/for-carriers institutional landing page

New audience landing at /for-carriers targeting claims VPs, SIU directors, and underwriting leads. Editorial design treatment (paper background, serif headlines, §-numbered sections, tabular pricing schedule). API specimen, evidence-integrity principles, three engagement tiers.

May 20, 2026

Platform

Outcome-capture moat wiring

Daily-briefing visibility on outcome-capture rate, prominent 'log outcome' callout in the contractor lead-notification email, amber overdue banner on the lead detail page, per-row outcome status badge on the leads index, and a new mobile-first /dashboard/leads/[id]/quick-log page for 30-second outcome logging.

  • ·scripts/outcome-capture-metrics.mjs for the daily briefing
  • ·Contractor lead-notification email: post-inspection callout
  • ·Lead detail page: amber overdue banner + #tab URL-hash deeplink
  • ·Leads index: ✓ Gold / ✓ Claim / ✓ Logged / ⚠ Overdue / Pending badges
  • ·New /dashboard/leads/[id]/quick-log mobile form

May 20, 2026

Platform

Scale-readiness audit closed (15 items)

Full post-launch hardening sweep landed in one day across 9 PRs. Critical: Stripe webhook verified, real $9.95 prod test passed, error monitoring via ops-alert email, SPF/DKIM/DMARC fixed, rate limiting + honeypot on the order form. High: /storm-report promoted, GA4 conversion events, DOL field promoted, refund policy page, hardcoded DB URLs cleaned up across 11 scripts. Medium: Drizzle snapshot resync, /admin/storm-reports dashboard, webhook idempotency (atomic claim, stress-tested at 50 concurrent), one-time-pricing copy, daily briefing surfaces storm-report stats.

May 20, 2026

Platform

Public $9.95 storm-history PDF order flow

Anonymous one-off PDF order flow at /storm-report shipped — Stripe Checkout payment mode with inline price_data, webhook fulfillment via Resend with PDF attachment, multi-page adjuster-grade PDF format with cover page, DOL ±45-day verification block, per-event NOAA/NEXRAD source IDs, methodology + data sources, map with storm pins, works cited, CoreLogic-modeled AS-IS disclaimer.

May 15, 2026

Methodology

Methodology v6

Recalibrated material multipliers and added non-repairable roof surfacing tier (Class 4 IR). Calibration cohorts and decisions timestamped against the post-2026-02-24 calibration baseline.

  • ·Class 4 impact-resistant tier surfacing
  • ·Three-tab asphalt 'non-repairable' framing in score outputs
  • ·Tina Ryan citation removed from the v6 paper (was an AI research assistant, not a person; crediting as a human advisor was a fraud-exposure risk)

May 15, 2026

MethodologyTrust

Methodology white paper published

Full HailScore™ methodology published at /methodology. Documents the algorithm, data sources, calibration, validation roadmap, and known limitations. Disclosable to opposing counsel and reinsurance reviewers without redaction.

Apr 2026

DataPlatform

MRMS live ingestion — sub-2-hour latency

NCEP MRMS (Multi-Radar Multi-Sensor) integrated as a third data feed alongside NEXRAD SWDI and NOAA Storm Events. Ingests every 4 hours via GitHub Actions with a redundant secondary on a hardened operator workstation. Sub-2-hour radar-to-database latency.

  • ·MESH-MAX-1440min product as primary feed
  • ·PostGIS geo index for sub-second point-in-polygon queries
  • ·GitHub Actions cron with Mac-launchd failsafe

Apr 2026

Platform

AI roof inspection (beta)

Homeowners can upload roof photos for preliminary AI damage screening using Claude vision. Surface bruising, granule loss, flashing dents identified at confidence threshold. Always recommends professional verification; homeowners can request a free human second-opinion review during beta.

Mar 2026

Platform

Hail-swath polygon visualization for Pro tier

Engineered hail-swath polygons (color-ramped by max hail size) added to the Pro report map. Combines MRMS live data with 10+ years of SWDI NEXRAD radar. Click any swath for date and intensity.

February 24, 2026

Methodology

Methodology v5 · First public release

Initial publicly documented HailScore methodology. NEXRAD + MRMS + NOAA SED + CoCoRaHS integration. Calibration validated against a reference set of properties with confirmed hail-damage outcomes.

  • ·Hail size factor (non-linear curve, distance decay)
  • ·Frequency factor (log-scaled, diminishing returns)
  • ·Recency factor (multi-year half-life)
  • ·Roof material multipliers (asphalt baseline; impact-resistant and metal lower, legacy 3-tab and wood-shake higher)
  • ·Roof age filter (only events within roof lifetime)

Feb 2026

Methodology

Methodology v1 – v4 · Calibration cycles

Pre-public-launch iteration on the scoring algorithm. Each cycle adjusted weights and decay curves against an expanding labeled dataset. Detail superseded by v5 (the first publicly documented release).

  • ·v1: storm-count + max-hail proximity
  • ·v2: distance-decay introduced
  • ·v3: recency half-life added
  • ·v4: roof material multipliers introduced

─── Maintained at

This changelog is updated by appending new entries to src/content/changelog.json in the public source tree. Material changes to data sources, the methodology version, and the public API surface land here within seven days of deploy.

For the full algorithmic methodology see /methodology · for security and procurement see /security · for live service status see /status.