Methodology & provenance dossier
This document is generated on request from the responder's signed data registries — the dataset list and the reproducibility pins below are read live from the responder, not transcribed. The prose sections are written by us and dated.
§1Regulation basis
§2Earth-observation datasets
Source registry v0 — 46 live Earth-observation connectors wired at the responder. Datasets marked ◆ decide the Art. 2(13) deforestation verdict; the rest inform context and cross-checks. Each fact carries the exact dataset version below and is independently signed by the provider.
| Dataset (scheme · version) | License | Native res. | Cadence |
|---|---|---|---|
| beck.koppen.v2 | CC-BY-4.0 | 1000 m | static |
| chirps.daily.v2 | Public domain (USGS / UCSB CHC) | 5566 m | fast |
| copernicus.dem.30m | ESA standard | 30 m | static |
| dynamic_world.v1 ◆ | CC-BY-4.0 | 10 m | fast |
| esa.worldcover.v200 ◆ | CC-BY-4.0 | 10 m | slow |
| esa.worldcover.v200.2021 ◆ | CC-BY-4.0 | 10 m | static |
| ftw.field_polygons.v1 | CC-BY-4.0 (attribution: Fields of The World / Taylor Geospatial Institute) | 10 m | static |
| geotessera | Apache-2.0 | 10 m | slow |
| geotessera.v1 | Apache-2.0 | 10 m | slow |
| ghsl.builtup.r2023a | CC-BY-4.0 | 100 m | slow |
| ghsl.population.r2023a | CC-BY-4.0 | 100 m | slow |
| gmrt | CC-BY-4.0 (Marine Geoscience Data System) | 100 m | static |
| hansen.gfc.v1_12.2023 ◆ | Public (Hansen et al. 2013) | 30 m | slow |
| hansen.gfc.v1_12.loss ◆ | Public (Hansen et al.) | 30 m | static |
| hansen.gfc.v1_12.lossyear ◆ | Public (Hansen et al.) | 30 m | slow |
| hansen.gfc.v1_12.treecover2000 ◆ | Public (Hansen et al.) | 30 m | static |
| jrc.gsw.v1_4.occurrence ◆ | JRC open | 30 m | static |
| jrc.gsw.v1_4.recurrence ◆ | JRC open | 30 m | static |
| met_no | NLOD 2.0 (Norwegian Meteorological Institute) | 1000 m | ultra_fast |
| model.clay_v1_5 | Apache-2.0 | 10 m | slow |
| model.galileo_v1 | MIT | 30 m | slow |
| model.prithvi_eo2_300m_tl | Apache-2.0 | 30 m | slow |
| nasa_power | Public domain (NASA POWER) | 55000 m | fast |
| open_meteo | CC-BY-4.0 | 11000 m | ultra_fast |
| open_meteo_cams | CC-BY-4.0 | 9000 m | ultra_fast |
| open_meteo_era5 | CC-BY-4.0 | 27750 m | fast |
| open_meteo_marine | CC-BY-4.0 | 11000 m | ultra_fast |
| openet.30m.daily | — | 30 m | fast |
| ornl_modis | Public domain (NASA / ORNL DAAC) | 250 m | fast |
| overture.maps.foundation.v1 | ODbL / CDLA-Permissive-2.0 (mixed by theme) | 0 m | slow |
| sentinel1.grd.iw | Copernicus open data | 10 m | fast |
| sentinel1.grd.iw.vh | Copernicus open data | 10 m | fast |
| sentinel2.l2a | Copernicus open data | 10 m | fast |
| sentinel_s1_rtc_mpc | Copernicus open data | 10 m | fast |
| sentinel_s2_l2a | Copernicus open data | 10 m | fast |
| soilgrids.v2.bdod | CC-BY-4.0 | 250 m | static |
| soilgrids.v2.clay | CC-BY-4.0 | 250 m | static |
| soilgrids.v2.nitrogen | CC-BY-4.0 | 250 m | static |
| soilgrids.v2.phh2o | CC-BY-4.0 | 250 m | static |
| soilgrids.v2.sand | CC-BY-4.0 | 250 m | static |
| soilgrids.v2.soc | CC-BY-4.0 | 250 m | static |
| tropomi.s5p.ch4 | Copernicus open data | 7000 m | fast |
| tropomi.s5p.no2 | Copernicus open data | 5500 m | fast |
| viirs.dnb.monthly | Public domain | 463 m | medium |
| viirs.fire.nrt | Public domain (NASA FIRMS) | 375 m | ultra_fast |
| worldpop.global.1km | CC-BY-4.0 | 1000 m | slow |
§3Content-addressed manifests (reproducibility)
Every verdict pins these content-addressed manifests. An assessor reproduces a run by resolving each CID at emem.dev and re-deriving it — the algorithm logic, the band definitions, and the source connectors are all frozen by hash.
| Manifest | Key | Content ID (CID) |
|---|---|---|
| Algorithm definitions | algorithms_cid | cvdniwwm5uyo4g2kehr6wcd7we56sndzf5abzluhbrna2nw7yjrq |
| Band registry | bands_cid | mesoyti3qcs22pftcq27ljwcf3ifktnkqid4euqxyskhea5rpgra |
| Source-connector registry | sources_cid | xu646y24wvuegd33m2mrpasxefqgdq3ow5ploezijer6trzuwe3a |
| Function registry | functions_cid | 3pbqnyninz6xqll2ynjlh4djlppcp2mdcdmzeq4otebnli5ndzaa |
| Cell / registry snapshot | registry_cid | 3pbqnyninz6xqll2ynjlh4djlppcp2mdcdmzeq4otebnli5ndzaa |
| Response schema | schema_cid | d24rgwlq47a5ism5vkkbiuav3wi2voewqqgy4x4ttnhdnzziyfkq |
| Topic registry | topics_cid | o76lq6oy2bdzkz6uppkcmxlxsdhekkr74l47vx7skgkt256miyia |
| Substrate registry | substrates_cid | oqaxnlorhlsy72pm4wnkjupr2ul252bz3snjjzmgdof6jmse2dqa |
§4Verification procedure
A statement is checkable three ways, none of which trust eudr.dev. Two of the three need nothing but the file and eudr verify. See /verify to run all three on a receipt.
- Engine receipt — the Annex II statement, signed by eudr.dev's ed25519 key. Re-canonicalise the payload, re-derive the CID (raw codec, BLAKE3-256), verify the signature against
signer.pubkey_b32. Offline:eudr verify receipt.json. - Transparency-log anchor — the tree head emem signed, pinned into the statement. Its ed25519 signature is checked against emem's pinned key (not the one the document carries, which would only prove the document agrees with itself), and each inclusion proof is folded to that head's root. Offline, in the same
eudr verify.GET /v1/log/consistency?first=<pinned>later proves the log only ever appended. - Provider receipt — the satellite facts, signed by emem.dev under a different key. Re-checked at
POST emem.dev/v1/verify_receipt: BLAKE3 preimage + ed25519. This one asks the signer about its own signature, which is worth less than the two above; its preimage is BLAKE3 over canonical CBOR of emem's own structures, and a second implementation that was subtly wrong would report a good receipt as forged.
Per-value integrity: each fact CID resolves at emem.dev/v1/facts/<cid> to the signed bytes, so any number can be checked against its fact.
§5Verdict logic (Art. 2(13))
The per-cell deforestation verdict runs against the JRC + Hansen forest baseline over every ~10 m cell that fits inside the plot polygon. A tree-cover-2000 reading within ±2 pp of the Art. 2(4) 10% canopy threshold is flagged borderline; sub-0.5 ha losses are suppressed by the Art. 2(4) minimum-mapping-unit floor. A forest-loss signal dated after the cut-off is treated as a liability requiring the full polygon verdict — not silently absorbed. Radar (Sentinel-1 VV drop) and embedding-change are additive cross-checks, never the sole legal basis.