Methodology & provenance dossier

eudr.dev register · EU Deforestation Regulation (EU) 2023/1115 · live, self-verifying

This document is generated on request from the responder's signed data registries — the dataset list and the reproducibility pins below are read live, not transcribed, so this dossier cannot drift from what actually produced a verdict.

§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

The live source registry at emem.dev is unreachable right now, so the exact dataset list can't be shown. This is an honest gap, not a fabricated table — reload to fetch it, or query GET https://emem.dev/v1/sources directly. The regulation basis above is unaffected.

§3Content-addressed manifests (reproducibility)

The live manifest registry is unreachable right now — reload, or query GET https://emem.dev/v1/manifests.

§4Verification procedure

A statement is checkable three ways, none of which trust eudr.dev. 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. 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 + merkle inclusion proof.
  3. Transparency-log anchor — emem's RFC 6962 signed tree head is pinned at compile time; GET /v1/log/consistency?first=<pinned> later proves the log only ever appended, never rewrote the facts the verdict relied on.

Per-value integrity: every number surfaced is echo-verified byte-for-byte against its signed fact, and each fact CID dereferences at emem.dev/v1/facts/<cid>.

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