Invented example · built on Kindling · Why Kindling · The library · The spec · The Circular

The BoardPort Ellery Free Library

Under the hood

How the Board is set up.

Every setting on the Board, the spec section it comes from, and why a small public library chose it. The files are real JSON, valid against Kindling’s v0.1 schemas.

Settings, values, spec sections and reasons
SettingValueSpecWhy the Board chose it
visibilitypublic on all seven boards§3.2A library notice board is public. Anyone can read it, online or in the lobby. The cards on it belong to people who said yes.
geographic_scope{"city": "Port Ellery", "country": "United States"}§3.3Every board is for people who can get to the library. Apps and registries can tell that without asking us.
consent_modeluniversal-opt-in on six boards; vouching-required on Conversation Partners§3.2, §5.4Conversation partners meet one to one, so staff meet each person once at the desk first. Nobody skips the yes.
curatorThe patron who pinned it up (primary), plus Rosa, a librarian, as co-curator§3.2, §9.3Co-curators are first in line if a keeper drifts away. Chess After Close had no co-curator, which is why it needs a vote.
Curator verificationemail or oauth§4.5The manifest only allows email, OAuth or cryptographic curators. A desk vouch can’t make someone a keeper.
Entry verification_levelcurator-vouched for desk vouches (5 entries)§4.4, §4.5A vouch is local to one board. Priya is vouched on Conversation Partners and email-verified on Chess After Close.
governance_rulesPatrons pin up; staff co-curate and vouch at the desk; 90 days to fade; any regular may ask to re-pin§3.3So the rules are in the file, not only on our wall.
block_list_subscriptionsKindling public list; the Circular consortium list§7.3Kindling’s own list is the floor. The Circular consortium’s list adds what its members have seen, and an entry needs one member to propose it and two to second it.
Suggested accept_fromshared-pool (pool-mates only), chosen by 9 of 13 people§7.2For a small town, “people on a board with me” is a friendly default. It’s a suggestion; people choose.
Handshake window14 days, carried in each request’s expires_at§5.2The spec’s default. Long enough for someone who only comes in on Saturdays.
WithdrawalProcessed in under a second§5.3The spec allows sixty seconds. A card should come down the moment you ask.
Re-parseOn the owner’s update, at most once a day§2.6The spec’s rule. We never re-read a page on a schedule of our own.
PhotosReferenced by URL; never stored; never printed§2.5The printout is one ink on canary paper, and the pictures stay on people’s own pages.
kindling-noindexChecked at the pre-fetch, before any email§2.7, §5.2A page that says no in advance should never get a request.
Dormancy90 days without a keeper’s action; status: dormant in the manifest and the well-known file§9.1The flyer fades, visibly, on the wall and online.
Curator transition14-day window; two-thirds of members who answer§9.3The spec’s rule. Members vote at the desk or by writing to us.
ArchiveReadable, revivable§9.4A board with no keeper stays up as a record, and anyone who returns can re-open the vote.
Well-known file/.well-known/kindling-pool, seven boards§8.3, §10.1One file that any app or registry can read without asking us.
Printed tabsEach board’s manifest address, as text§8.2Pool addresses may travel any way at all. Ours travel on tear-off tabs.

Every manifest

The seven boards, laid out.

Each board is one file at its own address (§3.1). Here is each one in readable form, with the file linked and the exact JSON underneath. Every entry carries its consent proof (§3.4).

All seven share the same governance_rules: “Patrons pin up Pools. Library staff co-curate any Pool whose keeper asks, and vouch for patrons in person at the reference desk; a vouch is local to that Pool. A Pool whose curators take no action for 90 days fades, and any active member may nominate a new keeper within 14 days.”

Tuesday Morning Walkers

pools/tuesday-walkers.json
status
active
charter
An easy walk around the harbor loop, Tuesdays at eight, leaving from the library steps. Any pace. We stop for herons. This is not a fitness group.
curator
  • Maggie O’Rourke maggie@mail.example Email verified primary
  • Rosa Delgado-Park rosa@mail.example Signed in with OAuth
intent_tags
walking, friendship
visibility
public
consent_model
universal-opt-in
geographic_scope
Port Ellery, United States
curator_contact
board@elleryfreelibrary.example
created_at · updated_at
3 March 2026 · 22 September 2026
entries (4)
  • Maggie O’Rourke Email verified consent hs-board-tuesday-walkers-maggie, email-link, 3 March 2026
  • June Okafor Email verified consent hs-board-tuesday-walkers-june, email-link, 4 March 2026
  • Carl Jansen Vouched for by the curator consent hs-board-tuesday-walkers-carl, curator-vouching, 14 April 2026
  • Rosa Delgado-Park Signed in with OAuth consent hs-board-tuesday-walkers-rosa, oauth, 3 March 2026
The JSON
{
  "schema_version": "0.1",
  "id": "tuesday-walkers",
  "name": "Tuesday Morning Walkers",
  "curator": [
    {
      "identity": "maggie@mail.example",
      "display_name": "Maggie O’Rourke",
      "verification_level": "email",
      "primary": true
    },
    {
      "identity": "rosa@mail.example",
      "display_name": "Rosa Delgado-Park",
      "verification_level": "oauth",
      "primary": false
    }
  ],
  "intent_tags": [
    "walking",
    "friendship"
  ],
  "visibility": "public",
  "consent_model": "universal-opt-in",
  "curator_contact": "board@elleryfreelibrary.example",
  "charter": "An easy walk around the harbor loop, Tuesdays at eight, leaving from the library steps. Any pace. We stop for herons. This is not a fitness group.",
  "geographic_scope": {
    "city": "Port Ellery",
    "country": "United States"
  },
  "governance_rules": "Patrons pin up Pools. Library staff co-curate any Pool whose keeper asks, and vouch for patrons in person at the reference desk; a vouch is local to that Pool. A Pool whose curators take no action for 90 days fades, and any active member may nominate a new keeper within 14 days.",
  "messaging_preferences": {
    "block_list_subscriptions": [
      "https://protocol.kindling.foundation/blocklist.json",
      "https://thecircular.example/blocklist.json"
    ]
  },
  "status": "active",
  "created_at": "2026-03-03T09:00:00Z",
  "updated_at": "2026-09-22T10:00:00Z",
  "entries": [
    {
      "profile_url": "https://maggie-walks.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://maggie-walks.example",
        "display_name": "Maggie O’Rourke",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "walking",
          "friendship",
          "curating"
        ],
        "about": "Keeps the Tuesday walkers to an easy pace. Knows every heron on the harbor by sight.",
        "contact_methods": [
          {
            "type": "email",
            "value": "maggie@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2026-03-03T09:10:00Z"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-03-03T09:10:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-03-03T09:10:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-tuesday-walkers-maggie",
        "accepted_at": "2026-03-03T09:10:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2026-03-03T09:10:00Z",
      "added_by": "maggie@mail.example"
    },
    {
      "profile_url": "https://june-okafor.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://june-okafor.notion.example",
        "display_name": "June Okafor",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "gardening",
          "walking",
          "friendship",
          "writing"
        ],
        "about": "Retired shipyard electrician. Saves seeds from the same tomatoes her mother grew. Walks the harbor loop most mornings.",
        "contact_methods": [
          {
            "type": "email",
            "value": "june@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2026-03-04T08:00:00Z"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-03-04T08:00:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-03-04T08:00:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-tuesday-walkers-june",
        "accepted_at": "2026-03-04T08:00:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2026-03-04T08:00:00Z",
      "added_by": "maggie@mail.example"
    },
    {
      "profile_url": "https://carl-jansen.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://carl-jansen.notion.example",
        "display_name": "Carl Jansen",
        "pronouns": "he/him",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "walking",
          "friendship",
          "dating"
        ],
        "about": "Retired ferry mechanic. Widowed four years. Walks with the Tuesday group and cooks too much soup.",
        "contact_methods": [
          {
            "type": "email",
            "value": "carl@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-04-14T07:45:00Z",
          "verifier": "rosa@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "vouched",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-04-14T07:45:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-04-14T07:45:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-tuesday-walkers-carl",
        "accepted_at": "2026-04-14T07:45:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-04-14T07:45:00Z",
      "added_by": "rosa@mail.example"
    },
    {
      "profile_url": "https://rosa-dp.carrd.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://rosa-dp.carrd.example",
        "display_name": "Rosa Delgado-Park",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "community",
          "curating",
          "libraries"
        ],
        "about": "Reference librarian at the Port Ellery Free Library. Keeps the Board, vouches for patrons at the desk, and will find you any book about knots.",
        "contact_methods": [
          {
            "type": "email",
            "value": "rosa@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "oauth",
          "verified_at": "2026-03-03T09:30:00Z",
          "verifier": "google"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-03-03T09:30:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-03-03T09:30:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-tuesday-walkers-rosa",
        "accepted_at": "2026-03-03T09:30:00Z",
        "method": "oauth"
      },
      "verification_level": "oauth",
      "added_at": "2026-03-03T09:30:00Z",
      "added_by": "maggie@mail.example"
    }
  ]
}

Seed and Cutting Swap

pools/seed-swap.json
status
active
charter
Trade seeds, cuttings and advice. The seed library drawer is by the magazines. Bring what grows well here; take what you will plant. No selling.
curator
  • June Okafor june@mail.example Email verified primary
  • Rosa Delgado-Park rosa@mail.example Signed in with OAuth
intent_tags
gardening, friendship
visibility
public
consent_model
universal-opt-in
geographic_scope
Port Ellery, United States
curator_contact
board@elleryfreelibrary.example
created_at · updated_at
10 February 2026 · 19 September 2026
entries (3)
  • June Okafor Email verified consent hs-board-seed-swap-june, email-link, 10 February 2026
  • Maggie O’Rourke Email verified consent hs-board-seed-swap-maggie, email-link, 12 February 2026
  • Elena Vasquez Email verified consent hs-board-seed-swap-elena, email-link, 2 April 2026
The JSON
{
  "schema_version": "0.1",
  "id": "seed-swap",
  "name": "Seed and Cutting Swap",
  "curator": [
    {
      "identity": "june@mail.example",
      "display_name": "June Okafor",
      "verification_level": "email",
      "primary": true
    },
    {
      "identity": "rosa@mail.example",
      "display_name": "Rosa Delgado-Park",
      "verification_level": "oauth",
      "primary": false
    }
  ],
  "intent_tags": [
    "gardening",
    "friendship"
  ],
  "visibility": "public",
  "consent_model": "universal-opt-in",
  "curator_contact": "board@elleryfreelibrary.example",
  "charter": "Trade seeds, cuttings and advice. The seed library drawer is by the magazines. Bring what grows well here; take what you will plant. No selling.",
  "geographic_scope": {
    "city": "Port Ellery",
    "country": "United States"
  },
  "governance_rules": "Patrons pin up Pools. Library staff co-curate any Pool whose keeper asks, and vouch for patrons in person at the reference desk; a vouch is local to that Pool. A Pool whose curators take no action for 90 days fades, and any active member may nominate a new keeper within 14 days.",
  "messaging_preferences": {
    "block_list_subscriptions": [
      "https://protocol.kindling.foundation/blocklist.json",
      "https://thecircular.example/blocklist.json"
    ]
  },
  "status": "active",
  "created_at": "2026-02-10T14:30:00Z",
  "updated_at": "2026-09-19T16:00:00Z",
  "entries": [
    {
      "profile_url": "https://june-okafor.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://june-okafor.notion.example",
        "display_name": "June Okafor",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "gardening",
          "walking",
          "friendship",
          "writing"
        ],
        "about": "Retired shipyard electrician. Saves seeds from the same tomatoes her mother grew. Walks the harbor loop most mornings.",
        "contact_methods": [
          {
            "type": "email",
            "value": "june@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2026-02-10T15:00:00Z"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-02-10T15:00:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-02-10T15:00:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-seed-swap-june",
        "accepted_at": "2026-02-10T15:00:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2026-02-10T15:00:00Z",
      "added_by": "june@mail.example"
    },
    {
      "profile_url": "https://maggie-walks.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://maggie-walks.example",
        "display_name": "Maggie O’Rourke",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "walking",
          "friendship",
          "curating"
        ],
        "about": "Keeps the Tuesday walkers to an easy pace. Knows every heron on the harbor by sight.",
        "contact_methods": [
          {
            "type": "email",
            "value": "maggie@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2026-02-12T11:20:00Z"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-02-12T11:20:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-02-12T11:20:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-seed-swap-maggie",
        "accepted_at": "2026-02-12T11:20:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2026-02-12T11:20:00Z",
      "added_by": "june@mail.example"
    },
    {
      "profile_url": "https://elena-v.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://elena-v.notion.example",
        "display_name": "Elena Vasquez",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "repair",
          "volunteering",
          "curating"
        ],
        "about": "Runs Fix-It Friday in the library basement. Solder, glue, patience.",
        "contact_methods": [
          {
            "type": "email",
            "value": "elena@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2026-04-02T17:00:00Z"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-04-02T17:00:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-04-02T17:00:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-seed-swap-elena",
        "accepted_at": "2026-04-02T17:00:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2026-04-02T17:00:00Z",
      "added_by": "june@mail.example"
    }
  ]
}

Conversation Partners, Any Language

pools/conversation-partners.json
status
active
charter
Practice a language out loud with someone who speaks it, and trade back. Meets in study room B or anywhere you both like. Staff meet each person once at the desk and vouch for them before they are listed.
curator
  • Rosa Delgado-Park rosa@mail.example Signed in with OAuth primary
intent_tags
conversation, language-exchange, friendship
visibility
public
consent_model
vouching-required
geographic_scope
Port Ellery, United States
curator_contact
board@elleryfreelibrary.example
created_at · updated_at
5 May 2026 · 15 September 2026
entries (3)
  • Priya Raman Vouched for by the curator consent hs-board-conversation-partners-priya, curator-vouching, 6 May 2026
  • Darío Méndez Vouched for by the curator consent hs-board-conversation-partners-dario, curator-vouching, 9 May 2026
  • Yusra Haddad Vouched for by the curator consent hs-board-conversation-partners-yusra, curator-vouching, 20 May 2026
The JSON
{
  "schema_version": "0.1",
  "id": "conversation-partners",
  "name": "Conversation Partners, Any Language",
  "curator": [
    {
      "identity": "rosa@mail.example",
      "display_name": "Rosa Delgado-Park",
      "verification_level": "oauth",
      "primary": true
    }
  ],
  "intent_tags": [
    "conversation",
    "language-exchange",
    "friendship"
  ],
  "visibility": "public",
  "consent_model": "vouching-required",
  "curator_contact": "board@elleryfreelibrary.example",
  "charter": "Practice a language out loud with someone who speaks it, and trade back. Meets in study room B or anywhere you both like. Staff meet each person once at the desk and vouch for them before they are listed.",
  "geographic_scope": {
    "city": "Port Ellery",
    "country": "United States"
  },
  "governance_rules": "Patrons pin up Pools. Library staff co-curate any Pool whose keeper asks, and vouch for patrons in person at the reference desk; a vouch is local to that Pool. A Pool whose curators take no action for 90 days fades, and any active member may nominate a new keeper within 14 days.",
  "messaging_preferences": {
    "block_list_subscriptions": [
      "https://protocol.kindling.foundation/blocklist.json",
      "https://thecircular.example/blocklist.json"
    ]
  },
  "status": "active",
  "created_at": "2026-05-05T10:00:00Z",
  "updated_at": "2026-09-15T12:00:00Z",
  "entries": [
    {
      "profile_url": "https://docs.example/d/priya-raman",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://docs.example/d/priya-raman",
        "display_name": "Priya Raman",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "chess",
          "conversation",
          "friendship"
        ],
        "about": "Nurse on night shifts, so evenings at the library are her mornings. Plays a patient game of chess and speaks Tamil and English.",
        "contact_methods": [
          {
            "type": "email",
            "value": "priya@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-05-06T18:00:00Z",
          "verifier": "rosa@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-05-06T18:00:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-05-06T18:00:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-conversation-partners-priya",
        "accepted_at": "2026-05-06T18:00:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-05-06T18:00:00Z",
      "added_by": "rosa@mail.example"
    },
    {
      "profile_url": "https://dario-bajo.bandcamp.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://dario-bajo.bandcamp.example",
        "display_name": "Darío Méndez",
        "pronouns": "he/him",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "bass",
          "sub",
          "band",
          "language-exchange",
          "spanish",
          "english",
          "conversation"
        ],
        "about": "Bass player from Veracruz, eleven years in Port Ellery. Subs on short notice. Wants his written English to sound like his spoken English.",
        "contact_methods": [
          {
            "type": "email",
            "value": "dario@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-05-09T17:30:00Z",
          "verifier": "rosa@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email",
          "auto_accept_rules": [
            {
              "intent_tags": [
                "bass",
                "sub"
              ],
              "minimum_curator_verification": "oauth",
              "allowed_visibility": [
                "public"
              ]
            }
          ]
        },
        "kindling_noindex": false,
        "parsed_at": "2026-05-09T17:30:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-05-09T17:30:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-conversation-partners-dario",
        "accepted_at": "2026-05-09T17:30:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-05-09T17:30:00Z",
      "added_by": "rosa@mail.example"
    },
    {
      "profile_url": "https://yusra-h.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://yusra-h.notion.example",
        "display_name": "Yusra Haddad",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "conversation",
          "arabic",
          "english",
          "new-in-town"
        ],
        "about": "Arrived from Amman last spring for a hospital job. Would like to practice English out loud, and teach a little Arabic back.",
        "contact_methods": [
          {
            "type": "email",
            "value": "yusra@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-05-20T16:15:00Z",
          "verifier": "rosa@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-05-20T16:15:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-05-20T16:15:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-conversation-partners-yusra",
        "accepted_at": "2026-05-20T16:15:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-05-20T16:15:00Z",
      "added_by": "rosa@mail.example"
    }
  ]
}

Carpool to the Coast

pools/carpool-to-the-coast.json
status
active
charter
Shared rides to the coast towns for work, errands and the Saturday market. Split gas, not fares. Say where and when; people with seats say yes.
curator
  • Bram de Wit bram@mail.example Email verified primary
  • Rosa Delgado-Park rosa@mail.example Signed in with OAuth
intent_tags
carpool
visibility
public
consent_model
universal-opt-in
geographic_scope
Port Ellery, United States
curator_contact
board@elleryfreelibrary.example
created_at · updated_at
24 September 2026 · 25 September 2026
entries (2)
  • Bram de Wit Email verified consent hs-board-carpool-to-the-coast-bram, email-link, 24 September 2026
  • Soledad “Sol” Ibarra Email verified consent hs-board-carpool-to-the-coast-sol, email-link, 25 September 2026
The JSON
{
  "schema_version": "0.1",
  "id": "carpool-to-the-coast",
  "name": "Carpool to the Coast",
  "curator": [
    {
      "identity": "bram@mail.example",
      "display_name": "Bram de Wit",
      "verification_level": "email",
      "primary": true
    },
    {
      "identity": "rosa@mail.example",
      "display_name": "Rosa Delgado-Park",
      "verification_level": "oauth",
      "primary": false
    }
  ],
  "intent_tags": [
    "carpool"
  ],
  "visibility": "public",
  "consent_model": "universal-opt-in",
  "curator_contact": "board@elleryfreelibrary.example",
  "charter": "Shared rides to the coast towns for work, errands and the Saturday market. Split gas, not fares. Say where and when; people with seats say yes.",
  "geographic_scope": {
    "city": "Port Ellery",
    "country": "United States"
  },
  "governance_rules": "Patrons pin up Pools. Library staff co-curate any Pool whose keeper asks, and vouch for patrons in person at the reference desk; a vouch is local to that Pool. A Pool whose curators take no action for 90 days fades, and any active member may nominate a new keeper within 14 days.",
  "messaging_preferences": {
    "block_list_subscriptions": [
      "https://protocol.kindling.foundation/blocklist.json",
      "https://thecircular.example/blocklist.json"
    ]
  },
  "status": "active",
  "created_at": "2026-09-24T14:00:00Z",
  "updated_at": "2026-09-25T19:30:00Z",
  "entries": [
    {
      "profile_url": "https://bram-dewit.carrd.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://bram-dewit.carrd.example",
        "display_name": "Bram de Wit",
        "pronouns": "he/him",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "carpool"
        ],
        "about": "Commutes to the coast for work three days a week. Has a car with four empty seats.",
        "contact_methods": [
          {
            "type": "email",
            "value": "bram@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2026-09-24T14:05:00Z"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-09-24T14:05:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-09-24T14:05:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-carpool-to-the-coast-bram",
        "accepted_at": "2026-09-24T14:05:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2026-09-24T14:05:00Z",
      "added_by": "bram@mail.example"
    },
    {
      "profile_url": "https://sol-ibarra.carrd.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://sol-ibarra.carrd.example",
        "display_name": "Soledad “Sol” Ibarra",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "dating",
          "carpool",
          "friendship"
        ],
        "about": "Public defender. Drives to the coast most Saturdays and would rather not drive alone.",
        "contact_methods": [
          {
            "type": "email",
            "value": "sol@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2026-09-25T19:30:00Z"
        },
        "messaging_preferences": {
          "accept_from": "vouched",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-09-25T19:30:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-09-25T19:30:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-carpool-to-the-coast-sol",
        "accepted_at": "2026-09-25T19:30:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2026-09-25T19:30:00Z",
      "added_by": "bram@mail.example"
    }
  ]
}

Chess After Close

pools/chess-after-close.json
status
dormant · faded; re-pin vote open
charter
Chess in the reading room after the library closes on Thursdays, with the night staff’s blessing. All levels. Boards provided. Quiet talking allowed.
curator
  • Amos Whitlock amos@mail.example Email verified primary
intent_tags
chess, friendship
visibility
public
consent_model
universal-opt-in
geographic_scope
Port Ellery, United States
curator_contact
board@elleryfreelibrary.example
created_at · updated_at
6 November 2025 · 18 June 2026
entries (3)
  • Amos Whitlock Email verified consent hs-board-chess-after-close-amos, email-link, 6 November 2025
  • Priya Raman Email verified consent hs-board-chess-after-close-priya, email-link, 20 November 2025
  • Theo Lindqvist Email verified consent hs-board-chess-after-close-theo, email-link, 8 January 2026
The JSON
{
  "schema_version": "0.1",
  "id": "chess-after-close",
  "name": "Chess After Close",
  "curator": [
    {
      "identity": "amos@mail.example",
      "display_name": "Amos Whitlock",
      "verification_level": "email",
      "primary": true
    }
  ],
  "intent_tags": [
    "chess",
    "friendship"
  ],
  "visibility": "public",
  "consent_model": "universal-opt-in",
  "curator_contact": "board@elleryfreelibrary.example",
  "charter": "Chess in the reading room after the library closes on Thursdays, with the night staff’s blessing. All levels. Boards provided. Quiet talking allowed.",
  "geographic_scope": {
    "city": "Port Ellery",
    "country": "United States"
  },
  "governance_rules": "Patrons pin up Pools. Library staff co-curate any Pool whose keeper asks, and vouch for patrons in person at the reference desk; a vouch is local to that Pool. A Pool whose curators take no action for 90 days fades, and any active member may nominate a new keeper within 14 days.",
  "messaging_preferences": {
    "block_list_subscriptions": [
      "https://protocol.kindling.foundation/blocklist.json",
      "https://thecircular.example/blocklist.json"
    ]
  },
  "status": "dormant",
  "created_at": "2025-11-06T18:30:00Z",
  "updated_at": "2026-06-18T21:00:00Z",
  "entries": [
    {
      "profile_url": "https://amos-plays.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://amos-plays.example",
        "display_name": "Amos Whitlock",
        "pronouns": "he/him",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "chess",
          "friendship"
        ],
        "about": "Started Chess After Close three winters ago. Moved inland in June and has not been back since.",
        "contact_methods": [
          {
            "type": "email",
            "value": "amos@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2025-11-06T19:00:00Z"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2025-11-06T19:00:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2025-11-06T19:00:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-chess-after-close-amos",
        "accepted_at": "2025-11-06T19:00:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2025-11-06T19:00:00Z",
      "added_by": "amos@mail.example"
    },
    {
      "profile_url": "https://docs.example/d/priya-raman",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://docs.example/d/priya-raman",
        "display_name": "Priya Raman",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "chess",
          "conversation",
          "friendship"
        ],
        "about": "Nurse on night shifts, so evenings at the library are her mornings. Plays a patient game of chess and speaks Tamil and English.",
        "contact_methods": [
          {
            "type": "email",
            "value": "priya@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2025-11-20T19:30:00Z"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2025-11-20T19:30:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2025-11-20T19:30:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-chess-after-close-priya",
        "accepted_at": "2025-11-20T19:30:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2025-11-20T19:30:00Z",
      "added_by": "amos@mail.example"
    },
    {
      "profile_url": "https://theo-lindqvist.carrd.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://theo-lindqvist.carrd.example",
        "display_name": "Theo Lindqvist",
        "pronouns": "he/him",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "new-in-town",
          "friendship",
          "drums",
          "band"
        ],
        "about": "Moved here in August for a remote job. Plays drums badly and enthusiastically. Looking for people to walk, eat and play with.",
        "contact_methods": [
          {
            "type": "email",
            "value": "theo@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2026-01-08T20:00:00Z"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-01-08T20:00:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-01-08T20:00:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-chess-after-close-theo",
        "accepted_at": "2026-01-08T20:00:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2026-01-08T20:00:00Z",
      "added_by": "amos@mail.example"
    }
  ]
}

New in Town

pools/new-in-town.json
status
active
charter
For anyone who moved to Port Ellery in the last year. A monthly coffee in the library café and a list of people who remember what it was like. Nobody here will sell you anything.
curator
  • Rosa Delgado-Park rosa@mail.example Signed in with OAuth primary
intent_tags
new-in-town, friendship
visibility
public
consent_model
universal-opt-in
geographic_scope
Port Ellery, United States
curator_contact
board@elleryfreelibrary.example
created_at · updated_at
10 April 2026 · 10 September 2026
entries (2)
  • Theo Lindqvist Email verified consent hs-board-new-in-town-theo, email-link, 20 August 2026
  • Yusra Haddad Vouched for by the curator consent hs-board-new-in-town-yusra, curator-vouching, 11 April 2026
The JSON
{
  "schema_version": "0.1",
  "id": "new-in-town",
  "name": "New in Town",
  "curator": [
    {
      "identity": "rosa@mail.example",
      "display_name": "Rosa Delgado-Park",
      "verification_level": "oauth",
      "primary": true
    }
  ],
  "intent_tags": [
    "new-in-town",
    "friendship"
  ],
  "visibility": "public",
  "consent_model": "universal-opt-in",
  "curator_contact": "board@elleryfreelibrary.example",
  "charter": "For anyone who moved to Port Ellery in the last year. A monthly coffee in the library café and a list of people who remember what it was like. Nobody here will sell you anything.",
  "geographic_scope": {
    "city": "Port Ellery",
    "country": "United States"
  },
  "governance_rules": "Patrons pin up Pools. Library staff co-curate any Pool whose keeper asks, and vouch for patrons in person at the reference desk; a vouch is local to that Pool. A Pool whose curators take no action for 90 days fades, and any active member may nominate a new keeper within 14 days.",
  "messaging_preferences": {
    "block_list_subscriptions": [
      "https://protocol.kindling.foundation/blocklist.json",
      "https://thecircular.example/blocklist.json"
    ]
  },
  "status": "active",
  "created_at": "2026-04-10T09:00:00Z",
  "updated_at": "2026-09-10T09:00:00Z",
  "entries": [
    {
      "profile_url": "https://theo-lindqvist.carrd.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://theo-lindqvist.carrd.example",
        "display_name": "Theo Lindqvist",
        "pronouns": "he/him",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "new-in-town",
          "friendship",
          "drums",
          "band"
        ],
        "about": "Moved here in August for a remote job. Plays drums badly and enthusiastically. Looking for people to walk, eat and play with.",
        "contact_methods": [
          {
            "type": "email",
            "value": "theo@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2026-08-20T12:00:00Z"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-08-20T12:00:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-08-20T12:00:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-new-in-town-theo",
        "accepted_at": "2026-08-20T12:00:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2026-08-20T12:00:00Z",
      "added_by": "rosa@mail.example"
    },
    {
      "profile_url": "https://yusra-h.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://yusra-h.notion.example",
        "display_name": "Yusra Haddad",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "conversation",
          "arabic",
          "english",
          "new-in-town"
        ],
        "about": "Arrived from Amman last spring for a hospital job. Would like to practice English out loud, and teach a little Arabic back.",
        "contact_methods": [
          {
            "type": "email",
            "value": "yusra@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-04-11T10:30:00Z",
          "verifier": "rosa@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-04-11T10:30:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-04-11T10:30:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-new-in-town-yusra",
        "accepted_at": "2026-04-11T10:30:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-04-11T10:30:00Z",
      "added_by": "rosa@mail.example"
    }
  ]
}

Fix-It Friday Volunteers

pools/fix-it-friday.json
status
active
charter
Volunteers who fix lamps, toasters, zippers and bike brakes in the library basement on the first Friday of the month. Bring a skill or bring coffee.
curator
  • Elena Vasquez elena@mail.example Email verified primary
  • Rosa Delgado-Park rosa@mail.example Signed in with OAuth
intent_tags
repair, volunteering
visibility
public
consent_model
universal-opt-in
geographic_scope
Port Ellery, United States
curator_contact
board@elleryfreelibrary.example
created_at · updated_at
30 January 2026 · 5 September 2026
entries (3)
  • Elena Vasquez Email verified consent hs-board-fix-it-friday-elena, email-link, 30 January 2026
  • Wes Adeyemi Signed in with OAuth consent hs-board-fix-it-friday-wes, oauth, 2 February 2026
  • June Okafor Email verified consent hs-board-fix-it-friday-june, email-link, 6 March 2026
The JSON
{
  "schema_version": "0.1",
  "id": "fix-it-friday",
  "name": "Fix-It Friday Volunteers",
  "curator": [
    {
      "identity": "elena@mail.example",
      "display_name": "Elena Vasquez",
      "verification_level": "email",
      "primary": true
    },
    {
      "identity": "rosa@mail.example",
      "display_name": "Rosa Delgado-Park",
      "verification_level": "oauth",
      "primary": false
    }
  ],
  "intent_tags": [
    "repair",
    "volunteering"
  ],
  "visibility": "public",
  "consent_model": "universal-opt-in",
  "curator_contact": "board@elleryfreelibrary.example",
  "charter": "Volunteers who fix lamps, toasters, zippers and bike brakes in the library basement on the first Friday of the month. Bring a skill or bring coffee.",
  "geographic_scope": {
    "city": "Port Ellery",
    "country": "United States"
  },
  "governance_rules": "Patrons pin up Pools. Library staff co-curate any Pool whose keeper asks, and vouch for patrons in person at the reference desk; a vouch is local to that Pool. A Pool whose curators take no action for 90 days fades, and any active member may nominate a new keeper within 14 days.",
  "messaging_preferences": {
    "block_list_subscriptions": [
      "https://protocol.kindling.foundation/blocklist.json",
      "https://thecircular.example/blocklist.json"
    ]
  },
  "status": "active",
  "created_at": "2026-01-30T16:00:00Z",
  "updated_at": "2026-09-05T20:00:00Z",
  "entries": [
    {
      "profile_url": "https://elena-v.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://elena-v.notion.example",
        "display_name": "Elena Vasquez",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "repair",
          "volunteering",
          "curating"
        ],
        "about": "Runs Fix-It Friday in the library basement. Solder, glue, patience.",
        "contact_methods": [
          {
            "type": "email",
            "value": "elena@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2026-01-30T17:00:00Z"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-01-30T17:00:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-01-30T17:00:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-fix-it-friday-elena",
        "accepted_at": "2026-01-30T17:00:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2026-01-30T17:00:00Z",
      "added_by": "elena@mail.example"
    },
    {
      "profile_url": "https://wes-mixes.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://wes-mixes.example",
        "display_name": "Wes Adeyemi",
        "pronouns": "he/him",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "sound",
          "crew",
          "repair",
          "volunteering"
        ],
        "about": "Front-of-house sound for the Ferry Room. Fixes toasters at Fix-It Friday when there is no show.",
        "contact_methods": [
          {
            "type": "email",
            "value": "wes@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "oauth",
          "verified_at": "2026-02-02T21:10:00Z",
          "verifier": "google"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-02-02T21:10:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-02-02T21:10:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-fix-it-friday-wes",
        "accepted_at": "2026-02-02T21:10:00Z",
        "method": "oauth"
      },
      "verification_level": "oauth",
      "added_at": "2026-02-02T21:10:00Z",
      "added_by": "elena@mail.example"
    },
    {
      "profile_url": "https://june-okafor.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://june-okafor.notion.example",
        "display_name": "June Okafor",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "gardening",
          "walking",
          "friendship",
          "writing"
        ],
        "about": "Retired shipyard electrician. Saves seeds from the same tomatoes her mother grew. Walks the harbor loop most mornings.",
        "contact_methods": [
          {
            "type": "email",
            "value": "june@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2026-03-06T18:30:00Z"
        },
        "messaging_preferences": {
          "accept_from": "shared-pool",
          "no_cold_messages": false,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-03-06T18:30:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-03-06T18:30:00Z",
      "consent_proof": {
        "handshake_id": "hs-board-fix-it-friday-june",
        "accepted_at": "2026-03-06T18:30:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2026-03-06T18:30:00Z",
      "added_by": "elena@mail.example"
    }
  ]
}

Discovery

The well-known file.

One file at /.well-known/kindling-pool lists every board on our domain, so crawlers and registries can find them without asking first (§8.3, §10.2). It shows Chess After Close as dormant, as the spec requires (§9.1). Operator: Port Ellery Free Library, board@elleryfreelibrary.example.

Boardmanifest_urlstatusvisibilitylast_updated
Tuesday Morning Walkersboard.elleryfreelibrary.example/pools/tuesday-walkers.jsonactivepublic22 September 2026
Seed and Cutting Swapboard.elleryfreelibrary.example/pools/seed-swap.jsonactivepublic19 September 2026
Conversation Partners, Any Languageboard.elleryfreelibrary.example/pools/conversation-partners.jsonactivepublic15 September 2026
Carpool to the Coastboard.elleryfreelibrary.example/pools/carpool-to-the-coast.jsonactivepublic25 September 2026
Chess After Closeboard.elleryfreelibrary.example/pools/chess-after-close.jsondormantpublic18 June 2026
New in Townboard.elleryfreelibrary.example/pools/new-in-town.jsonactivepublic10 September 2026
Fix-It Friday Volunteersboard.elleryfreelibrary.example/pools/fix-it-friday.jsonactivepublic5 September 2026
The JSON
{
  "schema_version": "0.1",
  "pools": [
    {
      "manifest_url": "https://board.elleryfreelibrary.example/pools/tuesday-walkers.json",
      "name": "Tuesday Morning Walkers",
      "intent_tags": [
        "walking",
        "friendship"
      ],
      "visibility": "public",
      "status": "active",
      "geographic_scope": {
        "city": "Port Ellery",
        "country": "United States"
      },
      "last_updated": "2026-09-22T10:00:00Z"
    },
    {
      "manifest_url": "https://board.elleryfreelibrary.example/pools/seed-swap.json",
      "name": "Seed and Cutting Swap",
      "intent_tags": [
        "gardening",
        "friendship"
      ],
      "visibility": "public",
      "status": "active",
      "geographic_scope": {
        "city": "Port Ellery",
        "country": "United States"
      },
      "last_updated": "2026-09-19T16:00:00Z"
    },
    {
      "manifest_url": "https://board.elleryfreelibrary.example/pools/conversation-partners.json",
      "name": "Conversation Partners, Any Language",
      "intent_tags": [
        "conversation",
        "language-exchange",
        "friendship"
      ],
      "visibility": "public",
      "status": "active",
      "geographic_scope": {
        "city": "Port Ellery",
        "country": "United States"
      },
      "last_updated": "2026-09-15T12:00:00Z"
    },
    {
      "manifest_url": "https://board.elleryfreelibrary.example/pools/carpool-to-the-coast.json",
      "name": "Carpool to the Coast",
      "intent_tags": [
        "carpool"
      ],
      "visibility": "public",
      "status": "active",
      "geographic_scope": {
        "city": "Port Ellery",
        "country": "United States"
      },
      "last_updated": "2026-09-25T19:30:00Z"
    },
    {
      "manifest_url": "https://board.elleryfreelibrary.example/pools/chess-after-close.json",
      "name": "Chess After Close",
      "intent_tags": [
        "chess",
        "friendship"
      ],
      "visibility": "public",
      "status": "dormant",
      "geographic_scope": {
        "city": "Port Ellery",
        "country": "United States"
      },
      "last_updated": "2026-06-18T21:00:00Z"
    },
    {
      "manifest_url": "https://board.elleryfreelibrary.example/pools/new-in-town.json",
      "name": "New in Town",
      "intent_tags": [
        "new-in-town",
        "friendship"
      ],
      "visibility": "public",
      "status": "active",
      "geographic_scope": {
        "city": "Port Ellery",
        "country": "United States"
      },
      "last_updated": "2026-09-10T09:00:00Z"
    },
    {
      "manifest_url": "https://board.elleryfreelibrary.example/pools/fix-it-friday.json",
      "name": "Fix-It Friday Volunteers",
      "intent_tags": [
        "repair",
        "volunteering"
      ],
      "visibility": "public",
      "status": "active",
      "geographic_scope": {
        "city": "Port Ellery",
        "country": "United States"
      },
      "last_updated": "2026-09-05T20:00:00Z"
    }
  ],
  "operator": {
    "name": "Port Ellery Free Library",
    "contact": "board@elleryfreelibrary.example",
    "url": "https://board.elleryfreelibrary.example"
  }
}

The demo request

Theo’s request, as sent.

The handshake request on the introduction page, at handshake/demo-request.json (§5.2). It names the board, its charter, one curator and that curator’s verification, the visibility, and one-click yes and no links. It expires 11 October 2026, 14 days after it was sent.

The JSON
{
  "schema_version": "0.1",
  "type": "handshake-request",
  "handshake_id": "hs-board-carpool-to-the-coast-theo-demo",
  "pool": {
    "url": "https://board.elleryfreelibrary.example/pools/carpool-to-the-coast.json",
    "name": "Carpool to the Coast",
    "charter": "Shared rides to the coast towns for work, errands and the Saturday market. Split gas, not fares. Say where and when; people with seats say yes.",
    "curator_identity": "bram@mail.example",
    "curator_verification": "email",
    "intent_tags": [
      "carpool"
    ],
    "visibility": "public"
  },
  "profile_url": "https://theo-lindqvist.carrd.example",
  "sent_at": "2026-09-27T17:30:00Z",
  "expires_at": "2026-10-11T17:30:00Z",
  "accept_url": "https://board.elleryfreelibrary.example/handshake/hs-board-carpool-to-the-coast-theo-demo/accept",
  "decline_url": "https://board.elleryfreelibrary.example/handshake/hs-board-carpool-to-the-coast-theo-demo/decline"
}

Block lists

The two lists every board subscribes to.

Every manifest lists both under messaging_preferences.block_list_subscriptions (§7.3). A sender on either list is turned away before anyone’s own rules are read.

Kindling public block list

protocol.kindling.foundation/blocklist.json

The block list the Kindling project will publish under SPEC.md §7.3, for identities and implementations with confirmed abuse. The entries here are illustrative until the registry opens. No personal details are ever published. Version 3, published 20 September 2026.

TypeWho or whatWhyAdded
implementationscrapekit/0.3scraping: Ignores kindling-noindex and robots signals.2 July 2026
identitypromo-blast@mail.examplespam14 August 2026

The Circular consortium block list

thecircular.example/blocklist.json

Shared by every member of the Circular consortium. Each member subscribes; any member may propose an entry, and two others must second it. Version 8, published 27 September 2026.

TypeWho or whatWhyAdded
curator_identitylisted-them-anyway@mail.exampleconsent_violation: Submitted other people’s pages, a whole household’s among them, to Pools without asking any of them.27 September 2026
pool_urlhttps://free-friends-now.example/pools/everyone.jsonconsent_violation: Listed profiles that never accepted a handshake.26 September 2026
identitybulk-intros@relay.examplespam3 September 2026
implementationscrapekit/0.3scraping: Also on the Kindling public list.3 July 2026

Honest gaps

What the v0.1 schema can’t say yet.

Where the spec’s words and the JSON schemas disagree, our files follow the schemas. These are the gaps that touch the Board.

  1. Verification level names

    The spec names four levels: email-verified, oauth-verified, curator-vouched and unverified (§4.5). The schemas use email, oauth, curator-vouched, unverified and cryptographic, and our JSON follows the schemas. Curators can only be email, oauth or cryptographic, so a desk vouch can’t make someone a keeper.

  2. Where each field came from

    The spec asks parsers to record which fields came from h-card markup and which were inferred, in an extraction_source field (§2.3). The parsed-profile schema has no such field and allows no extra ones, so the cards on our boards can’t say it yet.

  3. The handshake window

    The spec says the 14-day window is configurable per Pool (§5.2). The manifest has no field for it, so each request carries it in expires_at. Our shared governance_rules text doesn’t mention it yet.

  4. Message types

    The spec lists four message types (§6.3). The message schema has six, adding withdrawal and system. Leaving a board sends a withdrawal.

  5. Noindex versus privacy

    kindling_noindex: true means “don’t include me in any Pool” (§2.7). It is not a way to be on a board quietly. Privacy inside a Pool comes from its visibility.

  6. The well-known file’s fields

    The spec says the file lists each Pool’s pool_url and curator_contact (§10.2). The schema calls the address manifest_url and has no per-Pool contact, only one operator.contact. Ours follows the schema.

  7. The re-pin vote

    The spec describes nominations, a 14-day window and a two-thirds vote (§9.3). No schema has a place to record a nomination, the window or the votes. The manifest can say dormant; the vote lives on our page and on the printed board.

  8. Who submitted a request

    A handshake request has one curator_identity (§5.2). When Rosa submits a page at the desk for a board Bram keeps, the request can name only one of them. Ours names Bram, the board’s primary keeper, and the page says in words that Rosa submitted it. Entries do record added_by once someone is on.

  9. The version field

    The spec asks every document to carry kindling_version (§12.1). The schemas call it schema_version, and our files follow the schemas.