ASAgriSense/Docs/Deforestation Risk

Module 4

Deforestation Risk Assessment

Purpose#

Classifies each farm plot against forest cover change data since 31 December 2020 — the EUDR cutoff date. Every plot must have a risk status before the EUDR Compliance module can compute a compliance record for the owning farmer.

Risk levels#

LevelEUDR implication
lowNo deforestation detected. Plot is EUDR-eligible.
mediumMinor change; below non-compliance threshold. Plot is EUDR-eligible with monitoring note.
highSignificant forest loss. Plot is non-compliant until remediated.
criticalConfirmed deforestation. Plot is non-compliant. DDS cannot include this plot.
pendingAssessment requested; awaiting provider response.
unavailableProvider could not assess (e.g. cloud cover, missing geometry).

Assessment triggers#

TriggerNotes
Plot creationAssessment is automatically requested when a plot polygon is first saved.
Plot polygon editAny geometry change re-triggers an assessment (polygon snapshot is stored).
Periodic scheduleDefault: annual re-assessment. Configurable per organisation.
Manual requestSustainability Officer or District Manager can request a fresh assessment at any time.

Polygon snapshot#

Each assessment record stores an immutable snapshot of the exact geometry that was evaluated. This means historical assessments are accurate even if the plot polygon is later edited. The audit trail shows geometry version alongside risk result.

Deforestation data provider#

Phase 1 uses the Global Forest Watch (GFW) API to compare plot polygons against the Hansen Global Forest Change dataset. The provider is abstracted behind a ProviderAdapter interface, so the data source can be swapped without changing the risk assessment service.

typescript
// Conceptual ProviderAdapter interface
interface DeforestationProviderAdapter {
  assess(polygon: GeoJSON.Polygon, cutoffDate: Date): Promise<AssessmentResult>;
}

// Phase 1 implementation
class GlobalForestWatchAdapter implements DeforestationProviderAdapter {
  async assess(polygon, cutoffDate) { /* calls GFW API */ }
}

// Injected into the risk assessment service
class RiskAssessmentService {
  constructor(private provider: DeforestationProviderAdapter) {}
}

Remediation workflow#

Plots with high or critical risk enter a remediation workflow. Two paths are available:

PathWhen to useOutcome
Counter-evidence disputeWhen the officer believes the assessment is incorrect (e.g. it covers a different plot)Upload counter-evidence (images, documents) for review by District Manager. Risk may be overridden.
Corrective actionWhen deforestation is confirmed but the organisation is taking actionRecord actions taken, expected completion date, and evidence. Risk status updated once verified.

Risk override#

District Managers and Entity Admins can manually override the effective risk level for a plot. An override requires:

  • Mandatory justification text (minimum 50 characters).
  • Selection of the new effective risk level.
  • Confirmation that the override will be recorded in the immutable audit trail.
Overrides are audited
Risk overrides are immutable audit trail entries. Who applied the override, when, and why are all recorded and cannot be deleted. This record is included in EUDR evidence packages.

Packages#

PackageTypeKey exports
@repo/feature-deforestation-riskBackendServices: risk-assessment, remediation, risk-override, notification, risk-summary; ProviderAdapter interface
@repo/feature-deforestation-risk-webFrontendRisk override UI, remediation workflow, notifications panel

API routes#

RouteNotes
/api/assessmentsCRUD and request new assessments.
/api/remediationsCreate and manage remediation records.
/api/risk-overridesApply and view risk overrides.
/api/risk-summaryAggregate risk stats by org/region/district.
/api/notificationsDeforestation risk notifications.