About FarmStack

What is FarmStack?

FarmStack is a reference implementation of an open and interoperable data sharing protocol in agriculture sector. FarmStack enables network of data providers and consumers through a suite of products and functionalities:

  1. Share data directly without any third party through trusted peer to peer (p2p) connector

  2. Empower the data provider to restrict usage of data through usage policies

  3. Give control of data back to the farmers by managing consent using data wallet

  4. Enable entities to create plugins to make their data discoverable (description of data)

FarmStack is the sum total of all the peer to peer connectors and associated usage policies.

Why is FarmStack required?

FarmStack is required because:

  • Relevant farmer profile including farmer activity not available

  • Lack of trust on misuse or under utilisation of data with a centralised data warehouse

  • Need to comply with evolving data policy and privacy safeguarding measures

  • Existing data integration tools lack the customisation

Value generated by FarmStack

  • By combining specific datasets, better services or products can be created

  • Organisations can discover what data resides with whom to foster collaboration

  • Potential to unlock value of data that was previously considered not shareable

  • More feedback from lead to more enriching solution - giving rise to virtuous cycle

How does FarmStack network look like?

A typical FarmStack network looks as below with three distinct roles the actors in the network can play. Farmers are the end beneficiaries who consume services offered by one or more participants and can have their data wallet using which they manage consent to share data to specific organisations in return of anticipated returns. The participants are the organisations that maintain the data for the services they provide and exchange data. They run the FarmStack software on their own premise to manage connectors using which they enforce usage restrictions as per the consent. The participants get access to the software once they register with the steward who maintains and oversees the network.

Business roles in FarmStack

Roles

Activities

Interface

Incentive

Roles

Activities

Interface

Incentive

Farmers

Manage consent to share data that could be managed by self or an organisation

Data wallet

Control data

Get connected to services

Participants

Organisations that exchange data and manage connectors and usage policies based on consent

FS Participant

Respect farmers' rights

Offer better services

Steward

Nodal agency who manage subscription of the participants (issue certificates, logs transactions etc)

FS Steward

Drive data sharing policies

Sustain a network

How will someone use FarmStack?

  • There are two ways to set up FS participant software: a) obtain the FS participant software from the first steward, Digital Green and start managing the connectors and usage policies or b) service based model where FS team from Digital Green can deploy the software for interested participants and hand over. There is no difference between the two in terms of functionality of data exchange.

  • Available resources:

    • Code repository to see how the software works

    • FarmStack Website to sign up and register

    • Help guide to set up FS participant and FS Steward

      • Documents

      • Tutorials

      • Videos

  • Fs participant/ steward UI to

    • Configure p2p connector

    • Configure usage policies

    • Manage participant subscriptions and certificates

    • Manage team members

Examples of policy based usage control (not comprehensive list)

This is just to give examples of usage policies for the purpose of documentation. This is not the immediate usage policy.

Below are the categories of use cases and examples for that.

  1. Not visible, that is, available for some operations by a containerised application only

    1. Usage of data fields restricted to specific operations like joining

    2. Usage of data fields restricted to specific operations requiring logging

    3. Usage of data fields restricted to specific operation for a limited number of times

    4. Usage of data fields restricted to specific operations for a certain time period

  2. Visible with constraints

    1. Only some part of data available for viewing for specific time period

    2. Specific data fields can be viewed by specific persons in specific organizations

  3. Shareable with constraints

    1. Can be shared to specific organisations with them only able to view or perform specific operations

    2. Can be shared with logging and notifications

    3. Can be shared for limited number of times

    4. Can share only specific data fields

  4. Downloadable with constraints

    1. Can download specific data fields

  5. Stored with constraints

    1. Can be stored but in encrypted form at specific instance

    2. Can be stored for usage only for specific operations

    3. Can be stored for usage only for specific time and operations