Open data

What leaves this app

Backyard Farm Network keeps almost everything inside the pod. The little that does go out is published in the open, in formats other networks already read, and this page is where you can check that for yourself.

The promise

The home is sacred

34 records published

Somebody is letting neighbours into their backyard. That is a bigger act of trust than any app deserves, so the rule this whole system is built around is that the things which would make a household less safe never leave it — not to a partner, not to a peer network, not to us.

Never published, by anyone, ever

  • The address. Not the street, not the number, not the coordinates — the map only ever knows a neighbourhood-sized cell.
  • How to get in: the gate code, where to park, which side the key is on.
  • Phone numbers and email addresses. Anybody's.
  • Who is on a roster, unless that person asked for their membership to be said out loud.
  • When anybody is at a property, and when the property is empty.
  • Shares, balances, what anybody took home, and every dollar that ever moved.
  • That somebody was removed from a pod, and why.
  • Children.

This is enforced in three places rather than trusted to discipline: an explicit list of the fields each record type may carry, a scan that refuses a record with a forbidden key anywhere inside it, and the private half of a farm’s details living in a separate table that the publishing code cannot read at all.

What gets published

Nine kinds of record and no others. Each one is published either by a farm or by a person, and the technical name beside it is what you’d ask for in a query.

What it isIts technical nameOut there now

A farm's public face: its name, what it says about itself, and roughly which neighbourhood it's in.

Published by the farm.

org.foodshed.enterprise.profile1

How a place runs — the host's own words about norms, caps and what needs a training first.

Published by the farm.

network.backyardfarm.site.charter1

What a farm grows, named in a food vocabulary other apps already speak.

Published by the farm.

org.foodshed.catalog.item5

A public work day or class: what it is, when, how many fit, what a ticket costs.

Published by the farm.

network.backyardfarm.event1

What a pod decided — the question and the answer, when the pod chose to say so.

Published by the farm.

org.foodshed.gov.result1

That somebody belongs to a pod. Only when they've asked for it to be said.

Published by the farm.

org.foodshed.coop.membership4

A training somebody was given, or a session they taught. Only with their say-so, and it stays theirs if they leave.

Published by the person.

org.foodshed.attest.claim19

That a steward looks after a particular place.

Published by the farm.

network.backyardfarm.steward.assignment1

A course, written down by whoever teaches it, so anyone can teach from it.

Published by the teacher.

network.backyardfarm.curriculum1

Where to read it

Two doors. The first is the ATProto read shape — the same queries a hosted index would answer, so a client written against the real contract needs no changes when this network moves behind one. The second speaks the Data Food Consortium vocabulary, which is what a food co-op or a farm-directory app is likely to already understand. Both are public, need no key, and allow requests from any origin.

Everything one farm has published of one kind

A page of records, with a cursor when there are more. Swap the collection for any technical name in the table above.

Takes repo, collection, and optionally limit (up to 100) and cursor.

One record, by its address

A single record. Missing ones answer RecordNotFound rather than an empty object — a record that was taken down is gone, not hidden.

The rkey is the record’s own key; you get it from the listing above.

Every listed farm, in the food vocabulary

Each farm as a dfc-b:Enterprise: a name, what it says about itself, and a coarse cell for roughly where. Nothing else.

One farm

The same document for a single farm. A farm that isn't listed, or has paused for the season, answers 404 — from out here there is no such place.

What a farm grows

Its catalog as dfc-b:SuppliedProduct entries. The offers list is empty and stays that way: a backyard pod's harvest moves on shares, not on price, and nobody's vegetables are for sale.

For the examples above

Identifiers you'll need

Lynden House — farm identifier

did:plc:t62yskh7eldmybjytfqb2pzy

Lynden House — farm id

18799e0f-87f3-4162-bbfd-b1a8627de9bc

These are public by construction: an identifier is the address of a public record, and knowing one tells you nothing except where to read what has already been published.

The shapes themselves

Schemas

Every record type is defined by a schema you can read, and the ones this network minted live in the open beside the code.

The network.backyardfarm.* schemas on GitHub

The org.foodshed.* types are shared with the foodshed project rather than invented here, so a record written by one app reads in the other.

Publishing is best-effort and one-way in this release: records are written here first and mirrored outward, so a slow or unhappy network never stops somebody standing in a garden from getting on with their day. A farm that takes itself off the map takes its records with it.