Insurers, underwriters and brokers
Insurer data sharing
What insurers, underwriters and brokers can get (the bay risk index, skill, events, the bloom back-test), what is never shared, the anonymisation rules and how to check a signed export.
Last reviewed
What is shared
Insurers, underwriters and brokers get bay-level data and data about the shared layers (models, satellites, buoys), never an operator's own records.
| Item | What it is | Where to get it |
|---|---|---|
| Bay risk index | A daily 0 to 100 index per bay and peril (thermal, bloom, runoff, storm), with its level, the number of contributing sites, the lowest confidence and the lead time | get_risk_index (MCP and REST), or the signed CSV export |
| Model skill | How well the regional model matches the bay's buoy: bias, RMSE and MAE over 7, 30 and 90 days, for sea temperature and wave height | get_skill |
| Dated event history | HAB closures and phytoplankton exceedances (Marine Institute), marine heatwaves and storms (significant wave height above 2.5 m, the WMO "rough" sea state, or gale-force wind, for at least 6 hours at the bay reference cell) by bay, with dates and sources. Salinity-drop events are coming soon | get_events |
| Bloom back-test | The bloom index scored against Marine Institute HAB events: hits, misses, lead time and false-alarm rate | get_backtest |
Every row carries its source, product, scale, lead time and licence, and every result lists the attribution lines the licences require. Keep them when you publish or pass the data on: see Licences and attribution.
What is never shared
- Operator records: data-logger series, harvest, mortality and seaweed logs, webhook series, notes, photos, weekly briefs and post-mortems. They are not a product, the agency tools never query them, and a last check refuses any result that would contain one.
- Site-level data below the bay aggregate, unless an administrator approved site aggregation for your request. With bay aggregation, per-site series are limited to ground-truth stations such as buoys and tide gauges.
- Personal data: operator and crew names, contacts, account e-mails. The access log keeps a truncated IP for security only.
- Operability signals as such: they encode a farm's own working limits. The storm peril reads only the physical wave height and wind values behind them.
Anonymisation rules
- The bay is the unit. No site id, site name, licence number or position appears in an index row or export.
- At least three sites. A day and peril with fewer than three contributing sites is suppressed: the index and the worst and mean site values are empty,
suppressedis true and only the count is kept. - The worst site is given as a value, never as a site.
How the risk index is built
For each site and day, each peril gets a score from 0 to 100 from the signals already computed for the site. Between the break points below the score is linear, so it moves smoothly where a level steps.
| Peril | Signal read | Score |
|---|---|---|
| thermal | thermal (per stocked species) | Level low 0, watch 40, stress 70, critical 100, raised by the 14-day degree-days above the stress threshold (0, 2, 5, 10 degC days give 0, 40, 70, 100) |
| bloom | bloom | The bloom index itself (0 to 100), or its level when the value is missing |
| runoff | runoff | The worst of the level, the 48-hour salinity drop (0, 1.5, 3, 5 psu) and the 24-hour catchment rain (0, 30, 50, 70 mm) |
| storm | operability, 6-hour steps | The worst of model wave height (1, 2.5, 4, 6 m) and wind (15, 22, 34, 48 kn). A farm's working limits and its activity words are not read. A storm event day scores its daily peak on the same ramps and sets a floor under the bay's index for that day |
For each bay and day, the index is half the worst site's score plus half the mean of the sites' scores. Level: below 40 low, below 70 watch, below 85 stress, otherwise critical. The method version is risk-index/2.
The index is regional: model and satellite inputs, not verified in the bay except where a site logger corrected sea temperature. Only the bloom signal has a recorded back-test so far. It is an indicator, not food-safety advice and not a warranty of conditions: official closures (Marine Institute HAB bulletin, SFPA) and observations prevail.
How to get it
Insurers ask for access the same way as agencies (Agency data access): on Request data access, choose the products risk_index, events, skill and backtest, the bays, bay aggregation and the date range.
- MCP: the agency endpoint, tool
get_risk_indexand the other agency tools. - REST:
GET /agency/risk-index?bay=&from=&to=and the other agency routes, with the same checks, rate limit and log as MCP. - Signed CSV export:
GET https://coastal-intelligence.triskelionaisystems.com/api/bays/<bay id>/risk-index?from=&to=&format=csvwith your key. One row per day per peril. - Parquet export: coming soon.
Checking a signed export
A CSV export carries these response headers:
X-Content-SHA256: the hex SHA-256 of the file;X-Signature: the base64 Ed25519 signature of the exact bytes of the file;X-Signature-Alg(ed25519) andX-Signature-Key-Id.
The public key is at GET https://coastal-intelligence.triskelionaisystems.com/api/exports/signing-key (public_key, base64 of the raw 32-byte key). A key id that starts with dev- is a development key and proves nothing. To check a file in Python:
import base64
from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PublicKey
public = Ed25519PublicKey.from_public_bytes(base64.b64decode(PUBLIC_KEY))
public.verify(base64.b64decode(X_SIGNATURE), open("risk-index.csv", "rb").read()) # raises if alteredRelated
How the signals work
The five signals, what each reads, the difference between levels and activity words, how confidence is set, and why a model value may come from a cell several km from your site.
Last reviewed 31 Oct 2026EveryoneData sources and licences
Where every value comes from, at which scale, and the attribution each licence requires when you reuse the data.
Last reviewed 31 Oct 2026Agencies, research bodies and insurersAgency data access
How agencies, research bodies and insurers request scoped, read-only access, the MCP and REST endpoints, the tools, and the limits and audit log.
Last reviewed 31 Oct 2026