{
  "status": "candidate protocol object",
  "version": "0.1",
  "object": "FAF_INGREDIENT_TRANSFER",
  "jurisdiction": "neutral-core",
  "principles": [
    "commercial terms are separate from lineage/traceability data",
    "receiving node decides acceptance",
    "record provenance at the resolution actually known",
    "outside-network sourcing is allowed",
    "no central FAF warehouse or purchasing authority required"
  ],
  "required_core": [
    "transfer_id",
    "ingredient_id",
    "batch_id",
    "producer_node_id",
    "ingredient_name",
    "ingredient_class",
    "quantity",
    "unit",
    "production_date",
    "storage_condition",
    "transport_condition",
    "ingredients",
    "allergen_metadata",
    "source_resolution",
    "spec_profile_id",
    "packaging_type",
    "receiver_node_id",
    "receiver_acceptance"
  ]
}