__MK__tabaqat · StrataFinancial Services
The Margin — Property Peril Report

How close is this address
to a different answer?

Eight statutory rows for one California parcel, each on a named published map of a stated vintage — and beside every row the number the statute deliberately throws away: the separation between this parcel and the nearest boundary of a different class.

California reference implementation · 8 statutory rows · 574 assertions green No score · no grade · no composite · no retained address
© 2026 Tabaqat · Built on Strata — sovereign geospatial applications. Every figure on screen comes from a live public service probed 2026-08-23. There is no synthetic data in this application at all.
The decision this drives

Underwrite, price, or require a survey — on this one property.

That is the buyer's decision: an underwriting lead at an insurer or a mortgage lender. But the person who reads the sheet is often not the buyer — a producer, an agent, a disclosure preparer, or a homeowner contesting a wildfire score. Which is why the app is outward-facing, and why its tone is a public register rather than an ops console.

The second decision is statutory and on a clock. California's 10 CCR §2644.9 makes an insurer hand over a wildfire risk score in writing — within 15 days of an application, 45 days before renewal, 75 before non-renewal — and give written notice of the right to appeal it, acknowledged in 10 days and answered in 30. An appeal needs evidence, and the only evidence available is published mapping.

Buyer: underwriting lead Reads over the shoulder: producer · agent · disclosure preparer · homeowner
94.9%of 1,124 real California addresses geocode to a point outside their own parcel — median 7.3 m, p99 170 m, max 232 m

A geocoded address is a street position, interpolated along a centreline's address ranges. A suburban parcel is 15–40 m across. Where a flood boundary runs at parcel scale, that displacement changes the published answer 6.7 % of the time.

Measured on a fixed-seed sample of 1,200 assessor addresses over Concord and Walnut Creek, 2026-08-18.

The published brief was wrong twice

"Flood, fire, wind, quake" — and a peril score.

Neither survived contact with what California actually publishes.

Wind has no boundary to be near

California publishes no wind hazard zone. The ASCE design-wind API answers a keyless request with its own HTML shell and needs a key — barred by the on-prem rule. The ATC alternative is unreachable. The only reachable surface is a tract-level rating that reads Very Low on 8,391 of 9,106 California tracts. Wind is dropped; dam-failure inundation takes its slot, because that one is statutory, is a polygon, and is on the form.

It is a row set, not a score

The governing instrument is Civil Code §1103 — a statutory disclosure form with six hazards in a fixed order. Fire severity, a flood zone, a fault band and a liquefaction zone are four different kinds of statement. Averaging them produces a grade, and the app would then be a worse version of four better-funded products, one of which is regulator-approved for rating.

Four perils became eight rows

Flood · dam inundation · fire severity in the state responsibility area · fire severity in the local one · wildland area · fault zone · liquefaction · earthquake-induced landslide. Two of the fire questions have different class sets, different adoption states and vintages 18 months apart.

The app produces no score, no grade, no rank, no composite and no total. Eight panes cannot be averaged into one — the integrity guarantee is the layout.

Ten products read, 2026-08-18

Every one of them returns a verdict. Not one returns a margin.

What it isWhat it returnsWhere it stops
Property-risk score APIs
HazardHub · PerilPulse
50+ peril scores per address, 1,200+ risk factors, one API callDistances are to things — a coast, a hydrant, a fault line — never to the edge of the zone that produced the verdict
Property-level peril models
ZestyAI · Verisk FireLine · Cape/Moody's
A modelled propensity — FireLine's 0–30, Z-FIRE's approved rating scoreA model output, not a reading of a published map. The zone is not what they compute, so there is no edge to be near
Climate physical-risk platforms
Climate X · XDI · Jupiter
Modelled loss to 2050 / 2100, portfolio and asset levelDifferent tense and different unit. No single-address report at all
The free public viewers
Cal OES MyHazards · EQ Zapp · NFHL viewer
One peril at a time, free, per addressThe state's own lookup says it "does not always allow accurate determination" against a boundary — and refers you elsewhere
The real incumbent: the California NHD report
JCP-LGS / First American et al · $47–$150
34 pages, statutory statement, per-hazard chapter with a public-record citationThe rule it follows deliberately discards the margin — see the next slide

Assembling four public perils onto one page is table stakes, not novelty — anyone can look each one up. The novelty has to be something none of them will say.

Why nobody prints it

The statute suppresses the margin, on purpose.

Civil Code §1103.2 says that where a map "is not of sufficient accuracy or scale that a reasonable person can determine if the subject real property is included", the seller marks Yes. The commercial reporting standard puts it operationally:

"IN will be reported if that boundary impacts any portion of a property."

So a parcel one metre inside and a parcel four kilometres inside produce the identical statutory answer. Ambiguity resolves against the property, by rule, and the quantity discarded in order to be safe is exactly the quantity a reader needs.

And there is a real action on the other end of it. A federal Letter of Map Amendment is the free process by which a property inadvertently mapped inside a Special Flood Hazard Area is established as outside it — after which the mandatory purchase requirement does not apply. "38 m inside the boundary" is the difference between paying flood insurance for the life of the loan and paying a surveyor once.

§1103.2the rule that makes the statutory answer safe — and unreadable as a measure of distance

The margin never contradicts the verdict. If the parcel is IN, the row says IN — and then says by how much. It qualifies confidence; it never overturns a published answer.


Vintage is a regulated field, not a footnote. The federal Standard Flood Hazard Determination Form must record the map and panel numbers and the date of the map used — and a determination may lawfully rest on a map up to seven years old. "What does the map say now" is a different question from "what does my file say".

The number that is new

The margin has four states — and the most common one carries no number.

the boundary crosses this parcel29 of the 35 parcels touching a flood zone in the sample. No distance is printed — a zero would read as a margin rather than as the ambiguity the statute resolves against the property.
wholly inside6 of 35, at a median 24.5 m from the edge. The verdict is unambiguous; the number says how firmly.
outside every zone365 parcels, median 355.7 m to the nearest zone — and 6.0 % sit within 50 m of one. The number says how close a different answer is.
no published mapAn unmapped peril has no boundary. No number, and none invented — the citation and the reason instead.

Measured, not assumed

The scaffold treated the margin as one number — distance to the edge. Against 400 real parcels and the real flood surface that is wrong in the most common case: the line runs through the property four times out of five.

Never in degree space

The naive degrees × 111,320 conversion is wrong by a median 2.6 % and a maximum 26.7 % on this sample. One degree of longitude at 37.98 °N is 87,646 m, not 111,320. Every margin is computed in a local azimuthal-equidistant projection centred on the parcel.

Not mapped is never no risk

Three states stay distinct everywhere — in the data, on the map, in the legend, in the sheet and in the PDF: in a mapped zone · analysed and outside it · no published map here. The third is never coloured as danger and never as safety.

The finding that moved the entry point

The address box resolves against the assessor parcel frame — not a geocoder.

Because the statute's unit is the parcel, and because a geocoder's own best qualifier does not predict a correct verdict. On 1,124 matched addresses the flood answer differed between the street point and the parcel 75 times. Thirty-one of those carried the geocoder's Exact flag — and:

under-warning cases 21 of 21 flagged Exact
— point says outside a special flood hazard area
— parcel says inside it
not one under-warning case was flagged Non_Exact

A design that greyed the sheet on a poor match and trusted it on a good one would have presented every dangerous reading at full confidence. So the basis is the parcel, and match quality qualifies the basis — never the verdict.

The disagreement is also peril-specific — flood 6.7 %, wildfire 0.0 % on the same addresses — because fire polygons are coarser than a suburban parcel while flood polygons follow a creek at parcel scale. A single global confidence flag would be wrong in both directions. The margin, per row, is what tells the reader which rows are sensitive to the basis.

The sheet8 of 8 answered · statutory order
1 IN A MAPPED ZONE Special flood hazard area Zone X — Area With Reduced Flood Risk Due To Levee
2.14 km to Zone AE (Floodway) — special flood hazard area
map: no effective date is published on this service
2 ANALYSED — OUTSIDE Area of potential flooding (dam failure) no state-jurisdiction dam inundation map covers this parcel
nearest mapped zone 1.97 km — Oroville — Scenario1, Sunny Day
map: approved boundaries published 2019-04-30 to 2022-07-25
3a ANALYSED — OUTSIDE Fire hazard severity zone (SRA) no published polygon at this parcel · no differing boundary within 5 km map: dated 2023-09-29, adopted 2024-01-31, implemented 2024-04-01
6b NO PUBLISHED LAYER Seismic hazard zone (earthquake-induced landslide) The Seismic Hazards Mapping Act zone is not published as a standalone layer. The pane is present, cited, and permanently empty.
Four of the eight rows, as shipped — a live read of 1315 18TH ST, Sacramento, APN 007-0142-001-0000, a 309 m² lot. Each row carries its own map date; three rows carry no published effective date and say so in those words rather than borrowing a republication timestamp.
The application, first paint

The sheet is the document. The grid is the guarantee.

The Property Peril Report at first paint: the statutory sheet on the left with eight rows and their margins, a hero locator showing the parcel with its dashed measure line, the flood legend with per-class counts, and a rail of eight synchronised inset panes beneath.
Shipped build, 2026-08-23 — a browser screenshot taken by the automated driver, not a mock-up. The dashed line is the margin, drawn between the two points the number measures.
  • The basis line, before any row is read. parcel · point · unresolved — with the APN, the area and the perimeter.
  • An inexact match is declared, not hidden. The frame spells it 1315 18TH ST; the alternatives are listed, and +44 more is stated rather than truncated silently.
  • Eight rows from one gesture, in the statute's order, never re-ordered by severity.
  • Seven pane maps recentre on the same parcel in the same frame — plus an eighth that is present and empty.
  • The locator fits the parcel with its measure line, so both ends of a 2 km margin are on screen.
  • The legend filters and keeps its denominator10 of 47. It removes features from the source; it never fades them, and it never changes the reading.
45 wired behaviours, each mapped to a named suite
The signature loop, and its second gesture

Type an address. Then drag the pin, because a geocode is a guess.

The same reading in dark mode: the basemap has followed the theme on all eight maps, and every class colour, margin and verdict is unchanged.
The same parcel in dark mode. The basemap follows the theme on all eight maps — and the theme changes no number, no class and no data colour, so a screenshot taken in either mode is the same map.

Drop the pin onto ground with no parcel and the app falls to point basis — and every margin on the sheet is qualified, in words, in the panel, in the CSV and in the PDF.

  • A row click adopts — fly, popup, note and citation. Click again and it releases.
  • An unresolved address answers no row — "not answered", never "no".
  • A service failure says "did not answer", never "no parcel". An error must never be indistinguishable from an answer.
  • The deep link carries the parcel id, never the address. No address reaches the URL, storage or any log.
  • One page exports — CSV, GeoJSON with every measure line labelled straight-line, and a sheet PDF composed from the same records as the panel.
Esc unwinds one thing at a timeNo address retained
Proof, not promises

Built, driven and measured — 2026-08-23.

574assertions green — 303 live · 176 offline · 95 in real headless Chrome, run twice with identical results
45wired behaviours, each mapped to the named suite that exercises it
6.51worst informational contrast ratio across both modes — the floor is 4.5
0synthetic figures. No generated register, no seeded telemetry, no invented portfolio

The live suite binds to the real services on purpose

If a register changes, the suite goes red and the constants are known stale rather than quietly wrong. Every figure the app prints comes from a service this build probed, and the suite re-probes on every run.

An ESRI polygon is a MultiPolygon

Emitting a flat rings list as one GeoJSON Polygon makes every part after the first a hole. The legend counted 47, the source held 47, the layer was visible — and the map painted zero. Every non-visual assertion was green. Only a screenshot showed it.

A 5 km envelope can return 46 MB

The statewide dam-inundation surface returns 46 MB of geometry for one envelope over Sacramento, and times out. The fix is not a bigger timeout — it is to ask the service for the verdict and bisect the radius with buffered count-only probes. Where the budget is exceeded, the row says so and prints no number.

The most consequential bug in the build was a spatial-relation flag. On these services esriSpatialRelContains returns nothing where esriSpatialRelWithin returns the container — so the query for "which polygons contain this parcel" came back empty for every parcel, silently turning every inside verdict into a crosses. The app's most consequential distinction, inverted, with no error anywhere.

Stated as boundaries, not caveats

What this application will not do.

  • Not a determination. Not an insurance determination, not a flood-zone determination for lending purposes, not a valuation, not a survey, not a catastrophe model, and not advice. Every screen and every export says so.
  • No score, no grade, no composite, no rank. Eight rows in the statute's order, never re-ordered by severity.
  • No portfolio and no second address. One address at a time; nothing accumulates between lookups and nothing survives the session.
  • No address is retained — not in storage, not in a log, not in telemetry, not in the URL. The deep link carries the parcel id.
  • Distance, never drive-time. Every number is a geodesic straight-line separation, labelled as such on screen and in every export.
  • No future tense. No scenario, no horizon, no return period — California's fire and seismic products publish none, so a severity stepper would invent an axis the data lacks.
  • Row 6b is permanently empty, and two counties can never answer row 1: San Francisco and Sutter have no flood panel at all. That is no published map, not no risk, and not an error.
  • California only, and English only. The federal flood layer is national; the statutory spine is state law. Re-pointing to another state deletes the spine.

A first read takes 10–40 seconds — eight statutory layers, queried live, some of them statewide. There is no cache and nothing is stored between lookups, by design. Every one of these limits is written into the delivered application's own README.

Point it at your jurisdiction

One parcel frame.
One published row set.

Your assessor parcel layer, the hazard surfaces your jurisdiction actually publishes as polygons, and the disclosure instrument that fixes the row order. The margin, the four states, the basis line and the export contract come as they are.

Ask this first, before the layout is drawn: which perils does this jurisdiction publish as boundaries? A peril with no boundary cannot carry a proximity claim — which is how wind left this sheet, and it is the question that decides whether a re-point is a configuration or a different product.

tabaqat.net → Solutions → Financial Services info@tabaqat.net
© 2026 Tabaqat · Built on Strata. Reference implementation over California. Published mapping only — not an insurance determination, a flood-zone determination for lending purposes, a valuation, a survey, or advice. Straight-line distances, not a survey.
1 / 12