Data & accuracy updates
A running log of what we improve in the data behind our reports — and what we change on reports we have already delivered
August 2026 — protected-lands data, and a re-read of our own work
What got better. We finished loading the full national record of protected land and conservation easements. Before this we queried that federal service parcel by parcel, and it frequently could not answer us — so the question “is any of this land protected?” often went unanswered on reports that did not say so.
What that made us find. Putting it in place meant re-reading the readings we had already published, and some of them were more confident than they had any right to be. They are all the same mistake wearing different clothes: our code was written so that “all clear” was what came out when no rule matched — and that is indistinguishable from “all clear” when the reading never arrived at all. A quiet result and a clean result looked the same to us, so we published the clean one.
What we changed. We updated 168 already-delivered reports in place, changing 3,405 individual readings across them. Values are replaced in place, and what changed is listed below. A report is authoritative in the form you see it in now — if you open one you were given before this, you are looking at the current reading, and that is the one to rely on.
Some readers we could not write to. A number of these reports were run without an account, so we hold no address for whoever read them and no message can reach them. That is why this page exists: it carries the same updates, in the same per-axis form, for anyone who received a report from us and never heard from us again.
What moved, measured per axis
Every figure below is the number of reports in the set it describes — measured on 2026-10-08 from the correction logs of the runs themselves. Do not add two rows together. The land due-diligence score and the investor risk score are the same reports, measured twice: a report whose due-diligence score moved is a report whose investor score moved, not a second report. Summing the two axes would double-count every one of them.
| Reports | What changed | Axis |
|---|---|---|
| 119 | reports whose land due-diligence score moved | land_due_diligence_score |
| 49 | …of those, the score fell | land_due_diligence_score |
| 70 | …of those, the score rose | land_due_diligence_score |
| 119 | reports whose investor risk score moved | investor_risk_score |
| 47 | …of those, the score fell | investor_risk_score |
| 72 | …of those, the score rose | investor_risk_score |
| 41 | reports that entered the 90+ investor band | investor_risk_score |
| 0 | reports that left the 90+ investor band | investor_risk_score |
| 34 | reports whose published due-diligence rating band moved | land_due_diligence_rating |
| 25 | …of those, the band got worse | land_due_diligence_rating |
| 9 | …of those, the band got better | land_due_diligence_rating |
| 76 | reports that left a LOW contamination rung | contamination_risk_buyer_flag |
| 5 | reports where a contamination check we could not run has now run, and found something | contamination_risk_buyer_flag |
| 3 | reports where a contamination check we could not run has now run, and came back clear | contamination_risk_buyer_flag |
| 0 | reports carrying a conservation all-clear we could not stand behind | conservation_all_clear |
| 0 | reports whose published sun exposure classification moved on a later canopy re-cast | sun_exposure_class |
| 0 | reports whose protected-area percentage was measured for the first time | pct_aoi_protected |
| 121 | reports whose due-diligence summary wording was resynced to its score row | land_due_diligence_summary |
| 71 | reports whose sun exposure figures were withdrawn, not corrected | sun_scalar_withheld |
| 3 | reports whose frost-pocket terrain ring was re-measured | frost_pocket_ring |
| 2 | …of those, the frost-pocket judgement was withdrawn, not corrected | frost_pocket_ring |
| 70 | reports whose frost-pocket note explaining a missing reading named the wrong data source | frost_pocket_prism_provenance |
| 2 | reports whose frost-pocket note withdrew an unsupported growing-season claim | frost_pocket_assessment_affirmation |
| 2 | reports whose frost-pocket note withdrew an unsupported cold-season claim | frost_pocket_assessment_season_claim |
| 82 | reports whose frost-pocket note dropped an unsupported claim that the regional frost dates applied to that land | frost_pocket_nosig_wording |
| 45 | …of those, the terrain ring was read again and the figures moved with the wording | frost_pocket_nosig_wording |
| 21 | …of those, the frost-pocket judgement was withdrawn, not corrected | frost_pocket_nosig_wording |
| 0 | reports whose impervious-surface figure came from a regional grid cell and is now read on the parcel itself | impervious_rederive |
| 0 | reports whose impervious-surface figure is withheld, with the sentences built on it, rather than estimated off-parcel | impervious_rederive |
| 0 | reports whose impervious-surface figure we re-read on the parcel and left as it stood, because no reading on the report moved | impervious_rederive |
| 120 | reports whose distance to the nearest water or wetland was corrected | dist_to_water_or_wetland_m |
| 15 | …of those, water or wetland turned out to be inside the parcel | dist_to_water_or_wetland_m |
| 11 | …of those, the report had shown nothing within range | dist_to_water_or_wetland_m |
| 94 | …of those, the nearest one is closer than the report showed | dist_to_water_or_wetland_m |
| 2 | reports where the two scores did not move together | land_due_diligence_score|investor_risk_score |
What we changed, and why it was wrong
Conservation easements. Reports could say no easement or protected area was on record. The federal service we ask for that had not been reachable from our servers, so we were never in a position to know. Those reports now say so plainly, and point to the local NRCS field office.
Contamination. Our severity check compared each federal source against a list of severity words — and, through a flaw in how the comparison was written, the two most serious readings each source can return matched none of them and fell through into “no significant sources.” Those readings now surface where they belong.
Historic land use. Every parcel was being flagged for possible industrial history, because the check searched for the word “industrial” in a paragraph that always contained our own boilerplate mention of industrial sites. It was our text triggering our own alarm.
Ground, structures and slope. On some reports, readings that should have been measured from the actual parcel boundary were a single figure repeated, or were carried over from a measurement that had not run. Those are now measured from the boundary.
Readings moved in both directions
More reports went up than down — mostly because the historic-land-use flag had been deducting points it had not earned. That is not the point. Some went down, and a number of reports now carry a contamination finding they did not carry before. We would rather hand you the harder number than a comfortable one we cannot stand behind.
One movement in that table is not a change in risk at all. A few reports previously said our contamination sources could not be retrieved — which was never an all-clear, only a gap. Those checks have since run. Where they came back clear, nothing about the land improved; we simply could not look before and can now, and this time the all-clear is a measured one.
Where the impervious-surface figure was sampled
On many reports, the impervious-surface percentage — the share of ground under roads, roofs and paving — was not sampled on the land the report is about. It comes from the centre of a regional climate-grid cell your land sits inside, and that centre can be well over a mile from your boundary. It is a real reading of real ground. It is not a reading of your ground, and the report presented it as though it were.
So read that percentage — and the two sentences built on it, the in-ground growing note and the urban-heat note — as a figure for the neighbourhood rather than for your site. Recent aerial imagery of your own boundary will settle it faster than we can.
We are changing where that figure is sampled, and we are not going to put a date on it here before it is done. When a reading is taken on your own land, the report will say so. Where your land cannot be read, we will withhold the number rather than show one.
If you searched more than once in the same visit
We found and fixed a flaw that could hand back the wrong land: look up one place, then search for another in the same browser tab, and the second report could be built on the first place’s coordinates while carrying the name you had just typed. Every figure on it would be a real reading — of the wrong property.
How it happened: a place you had already looked up stayed behind in your browser’s own short-term storage for the rest of that visit, and a later free-text search could pick it up instead of resolving what you had just typed. It needed both things in the same visit, in that order, which most visits never do. The fix stops the second search from inheriting the first one’s place, and it is live.
We never stored the text you typed beside the coordinates we resolved, so our own records cannot tell us which reports this touched; we can neither tell you yours was affected nor tell you it was not. So the offer is open rather than targeted: email [email protected] with an address and we will re-run any report you hold on the land you meant, at no charge.
If you asked Gnorman about timing
Gnorman could always see your parcel’s seasonal calendar, but we never told it what day it was — so asked when to start seeds, it inferred the time of year instead of reading a clock, and could settle on the wrong season. It is given the date now, and says so when it has none. The conversation itself only ever existed in your own browser: we keep no record of what it told you, so we can neither tell you your answer was affected nor tell you it was not. If you acted on timing advice from Gnorman, ask it again — or email [email protected] and we will re-run the report behind it at no charge.
Questions
If something in a report you were given does not sit right, email [email protected]. It comes straight to the founder.
See also: How we score a parcel · Editorial & data standards · Privacy Policy