AGROFUTURES

EU Compliance Infrastructure for Textile & Agricultural Supply Chains
ACTIVE LABOR REGISTRY
1,204
Unique USSD IDs (30-Day)
CSDDD Art. 8: identify & assess adverse human rights impacts
M-PESA MATCH RATE
98.4%
USSD Shifts + Telco Receipt verified
CSDDD Art. 10 + ICESCR Art. 7: proof wages were actually paid
PENDING RECONCILIATION
1.6%
Awaiting Farm Owner Payout
CSDDD Art. 15: Monitoring effectiveness of due diligence measures
WAGE EXCEPTIONS
0
Below statutory minimum
CSDDD Art. 10 + ILO Conv. 131: below-minimum wage is an adverse impact
ACTIVE CSDDD GRIEVANCES
1
Export Locks Activated
CSDDD Art. 14: notification mechanism & complaints procedure

LABOUR RIGHTS & FAIR PAY LEDGER

CSDDD Art. 10: Each row is a telco-witnessed shift log matched against a mobile money payout receipt, mathematical proof that wages were paid, in what amount, and whether they meet statutory and living wage benchmarks. Governing law: CSDDD (Directive (EU) 2024/1760) & CSRD/ESRS social due diligence standards.

PAYMENT MATCH TXN ID DATE PLOT ID COOP ID NAME PHONE LABORER NAT. ID TASK HOURS WORKED WAGE PAID WAGE COMPLIANT LIVING WAGE COMPLIANT AGE COMPLIANT CONFIRMATION PAYOUT REFERENCE PROVENANCE AUDIT TIMESTAMP

LABOR/VOLUME TRIANGULATION

Compares paid, telecom-confirmed workers per batch against the worker count implied by delivered volume at a benchmark yield rate. Flagged when a batch's total volume implies more labor was needed than tracked payments show. Batches for a crop with no sourced yield benchmark are shown honestly as such, not fabricated.

BATCH ID PAID WORKERS DELIVERED VOLUME IMPLIED WORKERS STATUS
FLAG PATTERN OVER TIME

A single flag isn't a verdict -- the farm can explain the gap and the consignment moves. But the underlying records are real and cumulative: every batch and every grievance already carries a timestamp and stays on file. Counting how often the SAME coop or plot recurs is a tally of existing records, not a new feature -- it just hasn't been surfaced as its own view until now. Two separate counts, not one blended score: batches key on coop_id, grievances key on plot_id, and there's no shared identifier joining the two yet.

Flagged Batches by Coop (last 200 batches on file)
Grievances by Plot (last 200 grievances on file)

COMMUNITY FUND LEDGER

CSDDD Art. 10 + ICESCR Art. 11: Beyond individual wages, companies must address broader adverse impacts on communities. A share of goods-sale revenue set aside for community benefit (school, water, etc.) -- separate from the wage ledger above, which only covers individual worker pay. Disbursements require a second officer's confirmation before counting as verified, preventing the "money moved but nothing was built" failure mode.

CONTRIBUTIONS
COOP ID PERIOD GOODS SALE SALE REF. CONTRIBUTION CONTRIB. REF. LOGGED
+ Log New Contribution
DISBURSEMENTS
COOP ID DESCRIPTION AMOUNT REFERENCE DATE STATUS DEMO
+ Log New Disbursement

CSDDD SAFETY TRIPWIRE & DISTRESS ALERTS

Article 14 Complaints Procedure flags via Hardware-Agnostic USSD. Zero-Tolerance: an unresolved physical abuse or child labor grievance triggers an automatic EUDR Art. 3(b) legality export lock on any consignment linked to the affected farm: the commodity cannot legally enter the EU market while produced in violation of local labor law.

N/A
Zero-Tolerance Threshold
N/A
Physical abuse / child labor grievances (real data).
Chronic Accumulation
N/A
Open/investigating grievances on record (real data).
N/A

CSDDD ARTICLE 14 GRIEVANCES

CSDDD Art. 14: requires a complaints procedure accessible to persons affected by adverse impacts. Grievances are filed via a hardware-agnostic USSD shortcode, workers can report from any borrowed 2G phone using their National ID, independent of the employer. Reporter identity is access-controlled -- never shown here, only the reference number (see BLUE_CARBON_PLATFORM_HANDOFF.md §5). Art. 11-12: the OPEN → INVESTIGATING → REMEDIATED → CLOSED status lifecycle below is the auditable trail proving impacts were brought to an end and remediated.

N/A ACTIVE
REFERENCE DATE PLOT ID TYPE DESCRIPTION STATUS
+ Record Investigation / Resolution

Producer Co-operative Details

EUDR Art. 9(1)(a-c): the DDS must identify the supplier/producer; ESPR similarly requires producer identification on the DPP.

Loading...

DPP Identification & Registry

ESPR Art. 9(1): each product must carry a unique product identifier. GS1 standards (GTIN, SSCC, GLN) are the recognized international system for product identification, location, and batch tracking in supply chains.

Composition

ESPR Art. 7(2)(b): the Digital Product Passport must contain information on the composition of the product, including the materials used and their proportion.

Environmental Performance & Footprint

ESPR Art. 7(2)(a): environmental footprint information, including carbon and water footprint per functional unit. These figures are tagged "MODELLED" (Secondary: LCA database default factors, not site-measured) -- disclosing primary vs. secondary data is good practice in the spirit of Directive (EU) 2024/825 ("EmpCo," amending UCPD Art. 6/7 and Annex I on unsubstantiated environmental claims), though that specific primary/secondary labeling requirement itself came from the separate "Green Claims Directive" proposal, which the Commission withdrew in 2025. Lifecycle assessments for raw commodity production.

N/A
Carbon Footprint
CO2e per raw tonne
N/A
Water Footprint
Litres per raw kg

Input Declarations & Independent Safety Reports

Directive (EU) 2024/825 (EmpCo): claims should be substantiated by widely recognized scientific evidence, be accurate, and not omit relevant information -- in the spirit of EmpCo's crackdown on unsubstantiated claims (the specific "Art. 3-4" substantiation framework cited elsewhere came from the withdrawn Green Claims Directive proposal, not from 2024/825 itself; see the footprint panel above). Generic claims ("eco-friendly," "green," "sustainable") are banned unless substantiated. This panel enforces 4 proof tiers: Level 1 (NOT CAPTURED, the system's default: no claim = zero liability), Level 2 (field/farm declared, with supplier lot references), Level 3 (third-party certified: GOTS, EU Organic, etc.), Level 4 (lab tested, ISO 17025 accredited). Two separate incentive structures, shown side by side: what the farm/co-op declares it uses (motivated by green-claim price premiums) vs. what workers independently report through the USSD grievance rail (no stake in protecting the farm's claim). A gap between the two is the audit finding.

Declared Inputs (co-op/field-officer platform -- see footer note per row for live vs. illustrative)
Independent Safety Reports (real, live, USSD grievance rail)

Durability & Quality Metrics

ESPR Art. 7(2)(c): information on the durability and quality of the product. Quality metrics shown depend on the selected product's material category (e.g. raw agricultural grading for coffee, fiber-testing metrics for textiles).

Circularity & End-of-Life Guidance

ESPR Art. 7(2)(d-e): information on the recyclability, repairability, and end-of-life handling of the product, including guidance for consumers and waste operators.

Processing & Care Instructions

Loading...

Certifications & Traceability Standards

ESPR Art. 7(2)(f): relevant certification or conformity assessment references.

ESPR Data Carrier QR
https://dpp.agro-futures.com/AF-2027-COFFEE-B09
ESPR Art. 9: the DPP must be accessible via a data carrier (QR code) physically affixed to the product or its packaging.

PLOT GEOGRAPHIC REGISTRY: MERU COUNTY, KENYA

EUDR Art. 3(a): relevant commodities shall not be placed on the EU market unless they are deforestation-free. This map overlays real Hansen Global Forest Change data (2000-2025) via Google Earth Engine, checked against each plot's coordinates. Green = no forest loss detected post Dec 31, 2020. Red = loss detected. Yellow = check pending. The forest-loss check itself is real and actually runs against Google Earth Engine. The plot coordinates it's checked against are currently placeholder positions scattered near Meru County's known centroid, not yet real farmer-submitted GPS -- same honestly-labeled interim measure as the Collection Center Centroid fallback described on the Blended-Batch Traceability panel below, not a fabricated plot coordinate.

FULL PLOT REGISTRY

Governing law: EUDR (Regulation (EU) 2023/1115) Art. 9 (plot/producer identification) & Art. 10(2) (satellite monitoring tools for risk assessment). Proves input logs and satellite verification checks for substantiated claims.

PLOT ID FARMER ID FARMER NAME CROP SCIENTIFIC NAME GEOMETRY TYPE LAT / LNG AREA (HA) YIELD (KG) PROD. DATES HS CODE SATELLITE SCREEN TENURE REF LAW COMPLIANCE INTERNAL CONFIDENCE

RISK MITIGATION & AUDIT LOG

EUDR Art. 11: where risk assessment identifies a non-negligible risk, operators must carry out risk mitigation including independent auditing, field verification, and document review. This log records the corrective actions taken for each flagged plot and the compliance decision reached.

PLOT ID FARMER NAME INITIAL STATUS REMEDIATION & AUDIT ACTION DETAILS COMPLIANCE DECISION RESOLVED DATE

BLENDED-BATCH TRACEABILITY

EUDR Art. 9(1)(d-e): operators must provide the quantity and description of the commodity, the country of production, and geolocation of all plots. When multiple smallholders contribute to a single export batch, each contributing farmer and their kg must be traceable back to the batch. Mass balance is explicitly prohibited, every unit must be individually traceable. Trace an export consignment back to every contributing farmer, not one plot. Geolocation is honestly reported as not captured -- no real GPS/plot data exists anywhere in this build. Create/link batches and consignments on the Admin & Config tab. Collection Center Centroid: when individual plot polygons are not yet available, the real, known GPS coordinates of the physical buying station are used as an honest EUDR geolocation fallback: a declared interim measure, not a fabricated plot coordinate.

BATCHES
BATCH ID COOP ID COLLECTED CENTRE TOTAL KG GRADE STATUS CONTRIBUTING FARMERS
CONSIGNMENTS
CONSIGNMENT ID EXPORT DATE EXPORTER QTY (KG) EXPORT WEIGHT (INDEPENDENT) BATCHES STATUS

EUDR Operator Identity

EUDR Art. 9(1)(a-c): the DDS must identify the operator (name, address, EORI number) and the supplier/producer.

Loading...

TRACES NT Submission Status

DRAFT
READY
SUBMITTED
ACCEPTED

DDS Reference: DDS-AF-2027-098124. Registered electronically for EU customs verification.

EUDR ANNEX II DUE DILIGENCE STATEMENT (DDS)

EUDR Art. 4: no relevant commodity or product shall be placed on the EU market without a Due Diligence Statement. The responsible operator must submit the DDS to the EU Information System (built on TRACES infrastructure) and reference its number, which customs authorities verify at the border. Penalties: up to 4% of EU-wide annual turnover. Governing law: EUDR - Regulation (EU) 2023/1115. Art. 3(b) legality cross-check: if an unresolved zero-tolerance grievance (physical abuse, child labor) is tied to a farmer contributing to this consignment, the DDS is automatically flagged LEGALITY_NON_COMPLIANT, preventing a clean due diligence statement from being generated for this consignment until the grievance is resolved. This is where CSDDD (Tab 1) and EUDR intersect. Deforestation-free verification and country of production statements.

Loading...

THE TWO-SIDED VERIFICATION (ATOMIC HANDOFF)

SUPPLY CHAIN CUSTODY TIMELINE

EUDR Art. 9 + GS1 EPCIS 2.0: traceability requires an unbroken chain of custody from production to market placement. Information isn't the problem, access is.

EUDR Art. 9 + GS1 EPCIS 2.0: each handshake in this timeline represents a verified transfer of custody: the same GS1 identifier travels from farm gate to EU customs, queryable at every step. Traceability framework matching GS1 EPCIS standards. Traces crop from farm gate to market placement.

The Bridge: Unlike traditional logistics software that relies on a single manager's input, this system uses two independent 2G inputs to create a verified record of truth.
  • Input A (The Farmer): Logs volume ready via USSD.
  • Input B (The Driver): Logs volume collected via USSD.

The system reconciles these IDs. If they match, the Chain of Custody is confirmed and timestamped by the telco (the witness).

INFRASTRUCTURE EMPATHY

  • Fuel Efficiency: Trucks are only dispatched to "READY" clusters.
  • Data Desert Irrigation: Every logistics log adds to the historical yield map of the region.
  • Infrastructure Parity: While the Auditor sees this high-end UI, the Ground Truth was captured on a $15 Nokia 105.
We have the data. We have the physical infrastructure. This view is the Intelligence Layer that connects them.
1
HARVEST READY
2027-10-02T14:30:00Z
Source: USSD | Telco Witnessed
Volume Est: 2,400 KG | Plot ID: PLT-001 | Farmer ID: FMR-0042

Signals "Demand" to the logistics layer. Trucks are only dispatched to "READY" clusters (Fuel Efficiency).

2
CUSTODY TRANSFER
2027-10-03T09:15:00Z
Source: Dual-Signoff USSD | Verified: Two-Sided Log
Custody Confirmed: 2,400 KG (farmer-reported) | Driver ID: DRV-892

Both Farmer and Driver independently submitted a USSD session confirming pickup occurred and logging a farmer-reported volume. Satisfies EU Annex II "Chain of Custody" requirements for the transfer event and timeline. This is a custody log, not an independently verified weight -- the trusted weight figure comes later, at Warehouse Intake and Export.

3
WAREHOUSE INTAKE
2027-10-03T11:45:00Z
Source: Cold-Chain API | API Confirmed
Intake Weight: 2,385 KG | Moisture: 9.2% | Grade: A | Batch ID: BATCH-2027-KE-01

Goods moved from "Active Logistics" to "Cold Storage." We have the physical infrastructure; this is the Intelligence Layer that connects them.

4
DISPATCH / EXPORT
2027-11-05T08:00:00Z
Source: GS1 EPCIS 2.0 Log | Blockchain Anchored
Container ID: MSKU8923145 | Seal No: SL-449102 | Dest Port: Rotterdam

While the Auditor sees this high-end UI, the Ground Truth was captured on a $15 Nokia 105 (Infrastructure Parity).

Administrative tools for configuring wage rates, country benchmarks, and batch/consignment creation. These panels write data that feeds the compliance views on the other tabs. They are not part of the audit trail themselves.

WAGE RATE CONFIGURATION

Sets the coop's paid rate and the statutory/living-wage benchmarks it's compared against. Admin-set, never self-reported by whoever logs hours.

+ Set / Update Wage Rate

COUNTRY COMPLIANCE BENCHMARK REFERENCE

Real, sourced wage minimums and EUDR/CSDDD trade-exposure data for all 20 PawaPay-covered countries. Local-currency figures are the legally binding ones.

COUNTRY AG MIN (mo) AQUA MIN (mo) GENERAL MIN (mo) ANKER LIVING WAGE WAGE SOURCE CSDDD EXPOSURE EUDR READINESS

PAY REGISTERED WORKERS (DEMO: belongs on local dashboard, not EU)

Select workers to pay, enter an amount for each, send. Submitting is the approval, no further confirmation step.

NAME SUB-COUNTY PHONE AMOUNT TO PAY
Loading registered workers...

SYSTEM FLOW

BATCH & CONSIGNMENT CREATION

Results appear in BLENDED-BATCH TRACEABILITY on the EUDR: Deforestation & Origin tab, not here.

+ Create New Batch
Only enter the real, known coordinates of the physical collection center/buying station -- never a fabricated or estimated point. Used as an honest EUDR geolocation fallback (COLLECTION_CENTER_CENTROID) when individual farmer plot polygons aren't available.
+ Link a Registered Farmer to a Batch
+ Create New Consignment
+ Record Independent Export Weight

The fraud-resistant weight anchor for Labor/Volume Triangulation -- entered from an independent surveyor certificate (e.g. SGS draft survey) or the shipping line's bill of lading/export declaration, never from the farm-gate USSD handshake. Manual entry only; no live surveyor/carrier API is integrated yet. See TRIANGULATION_GAPS.md.

+ Declare Farm Input/Claim (EmpCo)

The left column of the Input Declarations panel -- what the farm/co-op is claiming, tested against independent evidence (grievance reports) already on file for the same plot. Directive (EU) 2024/825 (EmpCo) bans unsubstantiated "ethically sourced"/ "organic"/etc claims from 27 September 2026; a claim with no evidence to test it against carries no liability, but also can't go on packaging. Dashboard channel only -- USSD self-declaration (Level 2) is a separate platform's build, not this one.