eudr.dev

Methodology & provenance dossier

eudr.dev register · EU Deforestation Regulation (EU) 2023/1115 · built on request

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

Regulation
Reg. (EU) 2023/1115 (EUDR), as amended by Reg. (EU) 2025/2650
Deforestation cut-off
2020-12-31 — a plot is deforestation-free only if not deforested (wood: forest not degraded) after this date. Art. 2(13)
Application dates
2026-12-30 (large/medium) · 2027-06-30 (micro/small & natural persons). Reg. (EU) 2025/2650 Art. 38
Geolocation precision
≥ 6 decimal places; polygons for plots > 4 ha. Art. 2(28), 9(1)(d)
Record retention
5 years. Art. 4(3) / 9(1) / 12(5)
Commodities in scope
Cattle, cocoa, coffee, oil palm, rubber, soya, wood, and their Annex I derivatives — scope decided by HS code against Annex I. Art. 1 + Annex I

§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)LicenseNative res.Cadence
beck.koppen.v2CC-BY-4.01000 mstatic
chirps.daily.v2Public domain (USGS / UCSB CHC)5566 mfast
copernicus.dem.30mESA standard30 mstatic
dynamic_world.v1 ◆CC-BY-4.010 mfast
esa.worldcover.v200 ◆CC-BY-4.010 mslow
esa.worldcover.v200.2021 ◆CC-BY-4.010 mstatic
ftw.field_polygons.v1CC-BY-4.0 (attribution: Fields of The World / Taylor Geospatial Institute)10 mstatic
geotesseraApache-2.010 mslow
geotessera.v1Apache-2.010 mslow
ghsl.builtup.r2023aCC-BY-4.0100 mslow
ghsl.population.r2023aCC-BY-4.0100 mslow
gmrtCC-BY-4.0 (Marine Geoscience Data System)100 mstatic
hansen.gfc.v1_12.2023 ◆Public (Hansen et al. 2013)30 mslow
hansen.gfc.v1_12.loss ◆Public (Hansen et al.)30 mstatic
hansen.gfc.v1_12.lossyear ◆Public (Hansen et al.)30 mslow
hansen.gfc.v1_12.treecover2000 ◆Public (Hansen et al.)30 mstatic
jrc.gsw.v1_4.occurrence ◆JRC open30 mstatic
jrc.gsw.v1_4.recurrence ◆JRC open30 mstatic
met_noNLOD 2.0 (Norwegian Meteorological Institute)1000 multra_fast
model.clay_v1_5Apache-2.010 mslow
model.galileo_v1MIT30 mslow
model.prithvi_eo2_300m_tlApache-2.030 mslow
nasa_powerPublic domain (NASA POWER)55000 mfast
open_meteoCC-BY-4.011000 multra_fast
open_meteo_camsCC-BY-4.09000 multra_fast
open_meteo_era5CC-BY-4.027750 mfast
open_meteo_marineCC-BY-4.011000 multra_fast
openet.30m.daily—30 mfast
ornl_modisPublic domain (NASA / ORNL DAAC)250 mfast
overture.maps.foundation.v1ODbL / CDLA-Permissive-2.0 (mixed by theme)0 mslow
sentinel1.grd.iwCopernicus open data10 mfast
sentinel1.grd.iw.vhCopernicus open data10 mfast
sentinel2.l2aCopernicus open data10 mfast
sentinel_s1_rtc_mpcCopernicus open data10 mfast
sentinel_s2_l2aCopernicus open data10 mfast
soilgrids.v2.bdodCC-BY-4.0250 mstatic
soilgrids.v2.clayCC-BY-4.0250 mstatic
soilgrids.v2.nitrogenCC-BY-4.0250 mstatic
soilgrids.v2.phh2oCC-BY-4.0250 mstatic
soilgrids.v2.sandCC-BY-4.0250 mstatic
soilgrids.v2.socCC-BY-4.0250 mstatic
tropomi.s5p.ch4Copernicus open data7000 mfast
tropomi.s5p.no2Copernicus open data5500 mfast
viirs.dnb.monthlyPublic domain463 mmedium
viirs.fire.nrtPublic domain (NASA FIRMS)375 multra_fast
worldpop.global.1kmCC-BY-4.01000 mslow

§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.

ManifestKeyContent ID (CID)
Algorithm definitionsalgorithms_cidcvdniwwm5uyo4g2kehr6wcd7we56sndzf5abzluhbrna2nw7yjrq
Band registrybands_cidmesoyti3qcs22pftcq27ljwcf3ifktnkqid4euqxyskhea5rpgra
Source-connector registrysources_cidxu646y24wvuegd33m2mrpasxefqgdq3ow5ploezijer6trzuwe3a
Function registryfunctions_cid3pbqnyninz6xqll2ynjlh4djlppcp2mdcdmzeq4otebnli5ndzaa
Cell / registry snapshotregistry_cid3pbqnyninz6xqll2ynjlh4djlppcp2mdcdmzeq4otebnli5ndzaa
Response schemaschema_cidd24rgwlq47a5ism5vkkbiuav3wi2voewqqgy4x4ttnhdnzziyfkq
Topic registrytopics_cido76lq6oy2bdzkz6uppkcmxlxsdhekkr74l47vx7skgkt256miyia
Substrate registrysubstrates_cidoqaxnlorhlsy72pm4wnkjupr2ul252bz3snjjzmgdof6jmse2dqa

§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.

  1. 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.
  2. 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.
  3. 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.