Skip to the page

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

Midspanfirst-generation mentorship at Ellery Coast Community College

Under the hood

How Midspan is built

Midspan is a Kindling Pool host with two Pools on one domain, one public and one invite-only, and a reader of a third Pool that another college keeps. Here is how visibility, consent, proposals, messaging and block lists work, every setting and file, and what the v0.1 schema cannot say yet.

In plain words

The six things that make it work

Two Pools, two visibilities

Midspan Mentors is public: it is in our discovery file, and anyone, any college and any app can read it. Midspan Students is invite-only §3.2: it is in no discovery file and no registry, and we serve its file only behind the college sign-in, to the two coordinators. The protocol has no access control on a manifest §3.1, so “only the coordinators can read it” is a promise about where we serve the file, and we say so.

Two consent models

Mentors join a vouching-required Pool: a coordinator meets them and the college’s volunteer agreement is signed before the handshake. Students join a curator-only-adds Pool: only a coordinator invites, after meeting them at intake. Both models may add steps before the handshake, and neither removes the right to decline or leave §5.4.

A proposal, carried today

There is no proposal message type §6.3. Fina’s note goes as a system message through the Pool each person is in, each answer comes back as a reply, and Threshold keeps the two answers. The student is always asked first. Only after two yeses does an intro go, one to each person, sharing a thread header §6.2.

Reading a Pool we did not build

Cape Tarrow First-Gen Alumni is public, so we read it the way any client can §3.5. Reading copies nothing and adds nobody: we show each card from Cape Tarrow’s file, and to propose anyone in it, Fina first invites them into Midspan Mentors with a handshake of our own. Priya keeps a separate page for mentoring, and both Pools list that page; one identity, two Pools, two yeses.

Messaging rules

Every member of both Pools keeps accept_from: verified and no_cold_messages: true §7.2. So nobody writes first, student or mentor, until both have said yes to an introduction. We treat a coordinator’s own mail about a Pool as the Pool’s, which each member agreed to by saying yes; see the gap on this below.

Block lists, and money

Both Pools subscribe to the Kindling project’s public list and the Circular consortium’s §7.3. Nothing at the connection layer is charged for §1.3: a grant from the Ellery Coast College Foundation pays for a coordinator’s time, and it appears in no field, only as a sentence in governance_rules.

Settings

What we chose, and why

SettingValueSpecWhy Midspan chose it
Visibility, Mentorspublic§3.2 §8.1So a student can see who is out there, and any client can read them by the mentors’ consent.
Visibility, Studentsinvite-only§3.2A list of first-generation students could be misused. Nobody browses it; only coordinators bring people in.
Where the students’ file is servedbehind the college sign-in§3.1The protocol has no access control. This is our choice of host, and a gap we name below.
Consent model, Mentorsvouching-required§3.2 §5.4A coordinator meets every mentor, and the volunteer agreement is signed, before the handshake.
Consent model, Studentscurator-only-adds§3.2 §5.4Only a coordinator invites, after intake. The student still says yes or no, and can leave in a minute.
Who is asked firstthe student§7.2The mentor never hears about a student who said no. Governance text only; no field carries it.
Well-known filelists Mentors only§8.3 §10.1Crawlers and registries can find the mentors. The students’ Pool is left out on purpose.
RegistriesMentors may be listed; Students never§8.4 §8.5Listing is the curator’s choice.
Curator verificationoauth§4.3Both coordinators sign in with OAuth. Cryptographic identity is planned for v0.2 (§4.6).
Entry verificationcurator-vouched§4.4 §4.5Every entry in both Pools followed a meeting. The vouch counts in that Pool only.
Each member’s accept_fromverified§7.1 §7.2Unverified senders are held back. Everyone else still meets no_cold_messages.
Each member’s no_cold_messagestrue§7.2Nobody writes first until both have said yes to an introduction.
Pool minimum sender verificationnot set§3.3Each member’s own rules already hold every first message. A higher floor would add nothing here.
Block listsKindling public · Circular consortium§7.3Shared lists catch what one small program would not see.
Handshake window14 days, in each request’s expires_at§5.2The default. v0.1 has no manifest field for it, so each request carries it.
Auto-acceptnone§5.5Every listing here was a decision someone made that day.
Withdrawalone action, processed at once§5.3The spec allows sixty seconds. Any proposal still waiting is withdrawn with it.
Proposals and answerssystem message; reply§6.3v0.1 has no proposal type. See below.
Introductionsintro, one per person, via_pool, email§6.1 §6.2 §6.3Sent only after both said yes, each through the Pool that person is in.
Pools we readCape Tarrow First-Gen Alumni§3.5 §8.3Public, so readable by any client. We copy nothing, and ask before proposing anyone in it.
kindling_noindexfalse for every member§2.7Privacy inside a Pool comes from its visibility, never from noindex, which means “not in any Pool at all”.
Moneynone at the connection layer§1.3A college foundation grant pays for a coordinator. Nobody pays to be listed or introduced.

The files

Every document, validated

Each file below validates against the repository’s JSON Schemas.

Discovery

The well-known files

/.well-known/kindling-poolours

File: .well-known/kindling-pool · operator Midspan, the first-generation mentorship program at Ellery Coast Community College, midspan@ellerycoast.example

It lists Midspan Mentors. Midspan Students is left out on purpose, and is in no registry §8.3 §8.4.

PoolVisibilityStatusIntentUpdated
Midspan Mentors
https://midspan.ellerycoast.example/pools/midspan-mentors.json
publicactivementorship, first-generation24 September 2026
The raw JSON
{
  "schema_version": "0.1",
  "pools": [
    {
      "manifest_url": "https://midspan.ellerycoast.example/pools/midspan-mentors.json",
      "name": "Midspan Mentors",
      "intent_tags": [
        "mentorship",
        "first-generation"
      ],
      "visibility": "public",
      "status": "active",
      "geographic_scope": {
        "city": "Port Ellery",
        "country": "United States"
      },
      "last_updated": "2026-09-24T18:00:00Z"
    }
  ],
  "operator": {
    "name": "Midspan, the first-generation mentorship program at Ellery Coast Community College",
    "contact": "midspan@ellerycoast.example",
    "url": "https://midspan.ellerycoast.example"
  }
}

Cape Tarrow’s /.well-known/kindling-poolread, not ours

File: cape-tarrow/.well-known/kindling-pool · operator The alumni office of Cape Tarrow College, a community college up the coast from Port Ellery, alumni@capetarrow.example

This is how any client finds the Pool we read, without asking anyone first §10.3.

PoolVisibilityStatusIntentUpdated
Cape Tarrow First-Gen Alumni
https://alumni.capetarrow.example/pools/first-gen-alumni.json
publicactivementorship, first-generation, alumni, careers12 September 2026

Manifests

Three Pools, in readable form

Midspan Mentorsours

File: pools/midspan-mentors.json · served at https://midspan.ellerycoast.example/pools/midspan-mentors.json

schema_version
0.1
id
midspan-mentors
curator
Desmond Oyelaran desmond@mail.example Signed in with OAuth
Josefina “Fina” Arriaga (primary) fina@mail.example Signed in with OAuth
charter
People who were the first in their families to go to college, now working, who would like to meet one Ellery Coast student at a time. A coordinator meets every mentor before listing them. Mentors are public so students can see who is out there; nobody writes to anyone until a coordinator has asked both people and both have said yes. Everyone here is 18 or older.
intent_tags
mentorship, first-generation
visibility
public
consent_model
vouching-required
curator_contact
midspan@ellerycoast.example
geographic_scope
Port Ellery, United States
governance_rules
Vouching-required: a coordinator meets every mentor before listing them, and the college’s volunteer agreement is signed first; the vouch is local to this Pool. Every mentor keeps no_cold_messages on. Only a coordinator proposes an introduction, one student at a time, and the student is always asked first. Midspan is paid for by a grant from the Ellery Coast College Foundation. Mentoring is unpaid, and nobody pays to be listed or introduced.
messaging_preferences
https://protocol.kindling.foundation/blocklist.json
https://thecircular.example/blocklist.json
minimum_sender_verification: not set
status
active · created 20 August 2026 · updated 24 September 2026
EntryLevelConsent proofAddedTheir messaging
Hieu Tran
https://hieu-tran.example
Vouched for by the curatorcurator-vouching
hs-midspan-midspan-mentors-hieu
24 August 2026verified, no cold: true
Wes Adeyemi
https://wes-mixes.example/mentoring
Vouched for by the curatorcurator-vouching
hs-midspan-midspan-mentors-wes
26 August 2026verified, no cold: true
Lorena Castañeda
https://lorena-castaneda.carrd.example
Vouched for by the curatorcurator-vouching
hs-midspan-midspan-mentors-lorena
1 September 2026verified, no cold: true
Priya Raman
https://docs.example/d/priya-raman-mentoring
Vouched for by the curatorcurator-vouching
hs-midspan-midspan-mentors-priya
2 September 2026verified, no cold: true
Maribel Soto
https://maribel-soto.notion.example
Vouched for by the curatorcurator-vouching
hs-midspan-midspan-mentors-maribel
3 September 2026verified, no cold: true
The raw JSON
{
  "schema_version": "0.1",
  "id": "midspan-mentors",
  "name": "Midspan Mentors",
  "curator": [
    {
      "identity": "desmond@mail.example",
      "display_name": "Desmond Oyelaran",
      "verification_level": "oauth",
      "primary": false
    },
    {
      "identity": "fina@mail.example",
      "display_name": "Josefina “Fina” Arriaga",
      "verification_level": "oauth",
      "primary": true
    }
  ],
  "intent_tags": [
    "mentorship",
    "first-generation"
  ],
  "visibility": "public",
  "consent_model": "vouching-required",
  "curator_contact": "midspan@ellerycoast.example",
  "charter": "People who were the first in their families to go to college, now working, who would like to meet one Ellery Coast student at a time. A coordinator meets every mentor before listing them. Mentors are public so students can see who is out there; nobody writes to anyone until a coordinator has asked both people and both have said yes. Everyone here is 18 or older.",
  "geographic_scope": {
    "city": "Port Ellery",
    "country": "United States"
  },
  "governance_rules": "Vouching-required: a coordinator meets every mentor before listing them, and the college’s volunteer agreement is signed first; the vouch is local to this Pool. Every mentor keeps no_cold_messages on. Only a coordinator proposes an introduction, one student at a time, and the student is always asked first. Midspan is paid for by a grant from the Ellery Coast College Foundation. Mentoring is unpaid, and nobody pays to be listed or introduced.",
  "messaging_preferences": {
    "block_list_subscriptions": [
      "https://protocol.kindling.foundation/blocklist.json",
      "https://thecircular.example/blocklist.json"
    ]
  },
  "status": "active",
  "created_at": "2026-08-20T09:00:00Z",
  "updated_at": "2026-09-24T18:00:00Z",
  "entries": [
    {
      "profile_url": "https://hieu-tran.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://hieu-tran.example",
        "display_name": "Hieu Tran",
        "pronouns": "he/him",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "trades",
          "apprenticeship"
        ],
        "about": "Diesel mechanic for the county road department. Diesel technology at Ellery Coast, then two years as an apprentice. First in my family to finish anything past high school. I did not ask my instructors for help, and I should have.",
        "contact_methods": [
          {
            "type": "email",
            "value": "hieu@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-08-24T17:30:00Z",
          "verifier": "desmond@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-08-24T17:30:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-08-24T17:30:00Z",
      "consent_proof": {
        "handshake_id": "hs-midspan-midspan-mentors-hieu",
        "accepted_at": "2026-08-24T17:30:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-08-24T17:30:00Z",
      "added_by": "desmond@mail.example"
    },
    {
      "profile_url": "https://wes-mixes.example/mentoring",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://wes-mixes.example/mentoring",
        "display_name": "Wes Adeyemi",
        "pronouns": "he/him",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "trades",
          "audio"
        ],
        "about": "Front-of-house sound at the Ferry Room. First in my family past high school: the audio technology certificate at Ellery Coast. Ask me about certificates, apprenticeships, and asking an instructor for help before you are behind.",
        "contact_methods": [
          {
            "type": "email",
            "value": "wes@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-08-26T20:10:00Z",
          "verifier": "fina@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-08-26T20:10:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-08-26T20:10:00Z",
      "consent_proof": {
        "handshake_id": "hs-midspan-midspan-mentors-wes",
        "accepted_at": "2026-08-26T20:10:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-08-26T20:10:00Z",
      "added_by": "fina@mail.example"
    },
    {
      "profile_url": "https://lorena-castaneda.carrd.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://lorena-castaneda.carrd.example",
        "display_name": "Lorena Castañeda",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "accounting",
          "transfer"
        ],
        "about": "Bookkeeper for the harbor co-op. First in my family to go to college: accounting at Cape Tarrow, a transfer degree, and a bachelor’s finished online at thirty-four. I can read a financial aid letter with you line by line.",
        "contact_methods": [
          {
            "type": "email",
            "value": "lorena@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-09-01T16:45:00Z",
          "verifier": "fina@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-09-01T16:45:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-09-01T16:45:00Z",
      "consent_proof": {
        "handshake_id": "hs-midspan-midspan-mentors-lorena",
        "accepted_at": "2026-09-01T16:45:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-09-01T16:45:00Z",
      "added_by": "fina@mail.example"
    },
    {
      "profile_url": "https://docs.example/d/priya-raman-mentoring",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://docs.example/d/priya-raman-mentoring",
        "display_name": "Priya Raman",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "nursing"
        ],
        "about": "Nurse on night shifts at the hospital in Port Ellery. First in my family to go to college: prerequisites at Cape Tarrow College while I worked as an aide, then nursing school. Happy to talk about prerequisites, clinical placements, and studying around a job.",
        "contact_methods": [
          {
            "type": "email",
            "value": "priya@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-09-02T04:20:00Z",
          "verifier": "fina@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-09-02T04:20:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-09-02T04:20:00Z",
      "consent_proof": {
        "handshake_id": "hs-midspan-midspan-mentors-priya",
        "accepted_at": "2026-09-02T04:20:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-09-02T04:20:00Z",
      "added_by": "fina@mail.example"
    },
    {
      "profile_url": "https://maribel-soto.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://maribel-soto.notion.example",
        "display_name": "Maribel Soto",
        "pronouns": "she/her",
        "location": {
          "city": "Cape Tarrow",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "teaching",
          "transfer"
        ],
        "about": "Fourth-grade teacher. Started at Cape Tarrow College at nineteen while working at the cannery, transferred, and came home to teach. Will talk about transfer, student teaching, and explaining to your family what you do all day.",
        "contact_methods": [
          {
            "type": "email",
            "value": "maribel@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-09-03T19:00:00Z",
          "verifier": "fina@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-09-03T19:00:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-09-03T19:00:00Z",
      "consent_proof": {
        "handshake_id": "hs-midspan-midspan-mentors-maribel",
        "accepted_at": "2026-09-03T19:00:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-09-03T19:00:00Z",
      "added_by": "fina@mail.example"
    }
  ]
}

Midspan Studentsours

File: pools/midspan-students.json · served at https://midspan.ellerycoast.example/pools/midspan-students.json

schema_version
0.1
id
midspan-students
curator
Josefina “Fina” Arriaga (primary) fina@mail.example Signed in with OAuth
Desmond Oyelaran desmond@mail.example Signed in with OAuth
charter
Ellery Coast students who are the first in their families to go to college, 18 or older, who would like a mentor. A coordinator meets each student at intake before inviting them, and only the coordinators can read this list. A coordinator proposes one mentor at a time, with reasons. The student is asked first. Leave any time, and nothing follows you.
intent_tags
mentorship, first-generation, students
visibility
invite-only
consent_model
curator-only-adds
curator_contact
midspan@ellerycoast.example
geographic_scope
Port Ellery, United States
governance_rules
Curator-only-adds: only a coordinator invites, and only after meeting the student at intake. Invite-only: this Pool is in no discovery file and no registry, and its file is served only behind the college sign-in, to the two coordinators. No mentor and no app reads it. Every student keeps no_cold_messages on. A proposal goes to the student first; the mentor hears of it only after the student says yes. Leaving takes effect at once and withdraws any proposal still waiting. Nothing about a student’s grades, financial aid or enrollment is read or written here.
messaging_preferences
https://protocol.kindling.foundation/blocklist.json
https://thecircular.example/blocklist.json
minimum_sender_verification: not set
status
active · created 1 September 2026 · updated 22 September 2026
Its 4 entries

In practice this file is served only behind the college sign-in, to Fina and Desmond, and no page of ours lists who is in it. We show it here because this is an example and every student in it is invented. The protocol itself has no access control on a manifest; that is the honest limit, and the gap is named below.

EntryLevelConsent proofAddedTheir messaging
Yesenia Robles
https://yesenia-robles.carrd.example
Vouched for by the curatorcurator-vouching
hs-midspan-midspan-students-yesenia
9 September 2026verified, no cold: true
Shawna Pickett
https://shawna-pickett.notion.example
Vouched for by the curatorcurator-vouching
hs-midspan-midspan-students-shawna
10 September 2026verified, no cold: true
Joaquín Salas
https://joaquin-salas.carrd.example
Vouched for by the curatorcurator-vouching
hs-midspan-midspan-students-joaquin
14 September 2026verified, no cold: true
Destiny Walker
https://destiny-walker.notion.example
Vouched for by the curatorcurator-vouching
hs-midspan-midspan-students-destiny
17 September 2026verified, no cold: true
The raw JSON
{
  "schema_version": "0.1",
  "id": "midspan-students",
  "name": "Midspan Students",
  "curator": [
    {
      "identity": "fina@mail.example",
      "display_name": "Josefina “Fina” Arriaga",
      "verification_level": "oauth",
      "primary": true
    },
    {
      "identity": "desmond@mail.example",
      "display_name": "Desmond Oyelaran",
      "verification_level": "oauth",
      "primary": false
    }
  ],
  "intent_tags": [
    "mentorship",
    "first-generation",
    "students"
  ],
  "visibility": "invite-only",
  "consent_model": "curator-only-adds",
  "curator_contact": "midspan@ellerycoast.example",
  "charter": "Ellery Coast students who are the first in their families to go to college, 18 or older, who would like a mentor. A coordinator meets each student at intake before inviting them, and only the coordinators can read this list. A coordinator proposes one mentor at a time, with reasons. The student is asked first. Leave any time, and nothing follows you.",
  "geographic_scope": {
    "city": "Port Ellery",
    "country": "United States"
  },
  "governance_rules": "Curator-only-adds: only a coordinator invites, and only after meeting the student at intake. Invite-only: this Pool is in no discovery file and no registry, and its file is served only behind the college sign-in, to the two coordinators. No mentor and no app reads it. Every student keeps no_cold_messages on. A proposal goes to the student first; the mentor hears of it only after the student says yes. Leaving takes effect at once and withdraws any proposal still waiting. Nothing about a student’s grades, financial aid or enrollment is read or written here.",
  "messaging_preferences": {
    "block_list_subscriptions": [
      "https://protocol.kindling.foundation/blocklist.json",
      "https://thecircular.example/blocklist.json"
    ]
  },
  "status": "active",
  "created_at": "2026-09-01T09:00:00Z",
  "updated_at": "2026-09-22T16:30:00Z",
  "entries": [
    {
      "profile_url": "https://yesenia-robles.carrd.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://yesenia-robles.carrd.example",
        "display_name": "Yesenia Robles",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "nursing"
        ],
        "about": "First year at Ellery Coast, taking nursing prerequisites two classes at a time and working evenings at a grocery on Pier Road. First in my family to go to college. I would like to talk to a nurse who did it while working.",
        "contact_methods": [
          {
            "type": "email",
            "value": "yesenia@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-09-09T22:40:00Z",
          "verifier": "fina@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-09-09T22:40:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-09-09T22:40:00Z",
      "consent_proof": {
        "handshake_id": "hs-midspan-midspan-students-yesenia",
        "accepted_at": "2026-09-09T22:40:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-09-09T22:40:00Z",
      "added_by": "fina@mail.example"
    },
    {
      "profile_url": "https://shawna-pickett.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://shawna-pickett.notion.example",
        "display_name": "Shawna Pickett",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "accounting",
          "returning-student"
        ],
        "about": "Back in school at twenty-nine after eight years in fish processing. Business and accounting, one class at a time. Two kids, one old laptop, and a lot of questions about transfer.",
        "contact_methods": [
          {
            "type": "email",
            "value": "shawna@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-09-10T18:05:00Z",
          "verifier": "desmond@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-09-10T18:05:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-09-10T18:05:00Z",
      "consent_proof": {
        "handshake_id": "hs-midspan-midspan-students-shawna",
        "accepted_at": "2026-09-10T18:05:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-09-10T18:05:00Z",
      "added_by": "desmond@mail.example"
    },
    {
      "profile_url": "https://joaquin-salas.carrd.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://joaquin-salas.carrd.example",
        "display_name": "Joaquín Salas",
        "pronouns": "he/him",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "trades",
          "welding"
        ],
        "about": "Second year in welding and fabrication. First in my family to go to college. Wants to know how an apprenticeship actually starts, and whether to finish the associate degree first.",
        "contact_methods": [
          {
            "type": "email",
            "value": "joaquin@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-09-14T20:30:00Z",
          "verifier": "desmond@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-09-14T20:30:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-09-14T20:30:00Z",
      "consent_proof": {
        "handshake_id": "hs-midspan-midspan-students-joaquin",
        "accepted_at": "2026-09-14T20:30:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-09-14T20:30:00Z",
      "added_by": "desmond@mail.example"
    },
    {
      "profile_url": "https://destiny-walker.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://destiny-walker.notion.example",
        "display_name": "Destiny Walker",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "teaching",
          "transfer"
        ],
        "about": "Undecided, leaning toward teaching. First in my family to go to college, and the first to leave town for anything. Would like to talk to someone who transferred and came back.",
        "contact_methods": [
          {
            "type": "email",
            "value": "destiny@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "curator-vouched",
          "verified_at": "2026-09-17T17:15:00Z",
          "verifier": "fina@mail.example"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-09-17T17:15:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-09-17T17:15:00Z",
      "consent_proof": {
        "handshake_id": "hs-midspan-midspan-students-destiny",
        "accepted_at": "2026-09-17T17:15:00Z",
        "method": "curator-vouching"
      },
      "verification_level": "curator-vouched",
      "added_at": "2026-09-17T17:15:00Z",
      "added_by": "fina@mail.example"
    }
  ]
}

Cape Tarrow First-Gen Alumniread, not ours

File: cape-tarrow/pools/first-gen-alumni.json · served at https://alumni.capetarrow.example/pools/first-gen-alumni.json

schema_version
0.1
id
first-gen-alumni
curator
Bertrand Lomax (primary) bertrand@mail.example Signed in with OAuth
charter
Graduates of Cape Tarrow College who were the first in their families to go to college, and who are glad to talk to students who are. Public on purpose, so any college on the coast can show students who is out there. Each person decides who may write to them. No recruiting, no selling, nothing to pay.
intent_tags
mentorship, first-generation, alumni, careers
visibility
public
consent_model
universal-opt-in
curator_contact
alumni@capetarrow.example
geographic_scope
Cape Tarrow, United States
governance_rules
Anyone who finished a certificate or degree at Cape Tarrow College and was the first in their family to go to college may say yes to being listed. Any college or program may read this Pool; each person’s own rules decide who may write to them, and Cape Tarrow proposes nobody. Leave any time and your line is gone within a minute.
messaging_preferences
https://protocol.kindling.foundation/blocklist.json
https://thecircular.example/blocklist.json
minimum_sender_verification: not set
status
active · created 1 April 2025 · updated 12 September 2026
EntryLevelConsent proofAddedTheir messaging
Priya Raman
https://docs.example/d/priya-raman-mentoring
Email verifiedemail-link
hs-cape-tarrow-first-gen-alumni-priya
10 April 2025verified, no cold: true
Lorena Castañeda
https://lorena-castaneda.carrd.example
Signed in with OAuthoauth
hs-cape-tarrow-first-gen-alumni-lorena
12 April 2025verified, no cold: true
Maribel Soto
https://maribel-soto.notion.example
Signed in with OAuthoauth
hs-cape-tarrow-first-gen-alumni-maribel
2 May 2025verified, no cold: true
Cormac Doyle
https://cormac-doyle.carrd.example
Email verifiedemail-link
hs-cape-tarrow-first-gen-alumni-cormac
19 October 2025verified, no cold: true
Abebe Girma
https://abebe-girma.example
Signed in with OAuthoauth
hs-cape-tarrow-first-gen-alumni-abebe
8 February 2026verified, no cold: true
The raw JSON
{
  "schema_version": "0.1",
  "id": "first-gen-alumni",
  "name": "Cape Tarrow First-Gen Alumni",
  "curator": [
    {
      "identity": "bertrand@mail.example",
      "display_name": "Bertrand Lomax",
      "verification_level": "oauth",
      "primary": true
    }
  ],
  "intent_tags": [
    "mentorship",
    "first-generation",
    "alumni",
    "careers"
  ],
  "visibility": "public",
  "consent_model": "universal-opt-in",
  "curator_contact": "alumni@capetarrow.example",
  "charter": "Graduates of Cape Tarrow College who were the first in their families to go to college, and who are glad to talk to students who are. Public on purpose, so any college on the coast can show students who is out there. Each person decides who may write to them. No recruiting, no selling, nothing to pay.",
  "geographic_scope": {
    "city": "Cape Tarrow",
    "country": "United States"
  },
  "governance_rules": "Anyone who finished a certificate or degree at Cape Tarrow College and was the first in their family to go to college may say yes to being listed. Any college or program may read this Pool; each person’s own rules decide who may write to them, and Cape Tarrow proposes nobody. Leave any time and your line is gone within a minute.",
  "messaging_preferences": {
    "block_list_subscriptions": [
      "https://protocol.kindling.foundation/blocklist.json",
      "https://thecircular.example/blocklist.json"
    ]
  },
  "status": "active",
  "created_at": "2025-04-01T12:00:00Z",
  "updated_at": "2026-09-12T15:00:00Z",
  "entries": [
    {
      "profile_url": "https://docs.example/d/priya-raman-mentoring",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://docs.example/d/priya-raman-mentoring",
        "display_name": "Priya Raman",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "nursing"
        ],
        "about": "Nurse on night shifts at the hospital in Port Ellery. First in my family to go to college: prerequisites at Cape Tarrow College while I worked as an aide, then nursing school. Happy to talk about prerequisites, clinical placements, and studying around a job.",
        "contact_methods": [
          {
            "type": "email",
            "value": "priya@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2025-04-10T03:15:00Z"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2025-04-10T03:15:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2025-04-10T03:15:00Z",
      "consent_proof": {
        "handshake_id": "hs-cape-tarrow-first-gen-alumni-priya",
        "accepted_at": "2025-04-10T03:15:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2025-04-10T03:15:00Z",
      "added_by": "bertrand@mail.example"
    },
    {
      "profile_url": "https://lorena-castaneda.carrd.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://lorena-castaneda.carrd.example",
        "display_name": "Lorena Castañeda",
        "pronouns": "she/her",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "accounting",
          "transfer"
        ],
        "about": "Bookkeeper for the harbor co-op. First in my family to go to college: accounting at Cape Tarrow, a transfer degree, and a bachelor’s finished online at thirty-four. I can read a financial aid letter with you line by line.",
        "contact_methods": [
          {
            "type": "email",
            "value": "lorena@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "oauth",
          "verified_at": "2025-04-12T18:40:00Z",
          "verifier": "google"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2025-04-12T18:40:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2025-04-12T18:40:00Z",
      "consent_proof": {
        "handshake_id": "hs-cape-tarrow-first-gen-alumni-lorena",
        "accepted_at": "2025-04-12T18:40:00Z",
        "method": "oauth"
      },
      "verification_level": "oauth",
      "added_at": "2025-04-12T18:40:00Z",
      "added_by": "bertrand@mail.example"
    },
    {
      "profile_url": "https://maribel-soto.notion.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://maribel-soto.notion.example",
        "display_name": "Maribel Soto",
        "pronouns": "she/her",
        "location": {
          "city": "Cape Tarrow",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "teaching",
          "transfer"
        ],
        "about": "Fourth-grade teacher. Started at Cape Tarrow College at nineteen while working at the cannery, transferred, and came home to teach. Will talk about transfer, student teaching, and explaining to your family what you do all day.",
        "contact_methods": [
          {
            "type": "email",
            "value": "maribel@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "oauth",
          "verified_at": "2025-05-02T20:05:00Z",
          "verifier": "google"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2025-05-02T20:05:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2025-05-02T20:05:00Z",
      "consent_proof": {
        "handshake_id": "hs-cape-tarrow-first-gen-alumni-maribel",
        "accepted_at": "2025-05-02T20:05:00Z",
        "method": "oauth"
      },
      "verification_level": "oauth",
      "added_at": "2025-05-02T20:05:00Z",
      "added_by": "bertrand@mail.example"
    },
    {
      "profile_url": "https://cormac-doyle.carrd.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://cormac-doyle.carrd.example",
        "display_name": "Cormac Doyle",
        "pronouns": "he/him",
        "location": {
          "city": "Cape Tarrow",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "forestry",
          "returning-student"
        ],
        "about": "Forestry technician with the state. First in my family to go to college; I went back at twenty-six. Good on field jobs, summer crews, and what to do when the first semester goes badly.",
        "contact_methods": [
          {
            "type": "email",
            "value": "cormac@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "email",
          "verified_at": "2025-10-19T16:30:00Z"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2025-10-19T16:30:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2025-10-19T16:30:00Z",
      "consent_proof": {
        "handshake_id": "hs-cape-tarrow-first-gen-alumni-cormac",
        "accepted_at": "2025-10-19T16:30:00Z",
        "method": "email-link"
      },
      "verification_level": "email",
      "added_at": "2025-10-19T16:30:00Z",
      "added_by": "bertrand@mail.example"
    },
    {
      "profile_url": "https://abebe-girma.example",
      "parsed_profile": {
        "schema_version": "0.1",
        "profile_url": "https://abebe-girma.example",
        "display_name": "Abebe Girma",
        "pronouns": "he/him",
        "location": {
          "city": "Port Ellery",
          "country": "United States"
        },
        "intent_tags": [
          "mentorship",
          "first-generation",
          "health-care",
          "returning-student"
        ],
        "about": "Respiratory therapist. Came to the coast for work on a fishing boat, took one night class at Cape Tarrow, then another. First in my family to go to college. Ask me about the science prerequisites, and about being older than your classmates.",
        "contact_methods": [
          {
            "type": "email",
            "value": "abebe@mail.example",
            "label": "Kindling identity"
          }
        ],
        "verification": {
          "level": "oauth",
          "verified_at": "2026-02-08T21:10:00Z",
          "verifier": "google"
        },
        "messaging_preferences": {
          "accept_from": "verified",
          "no_cold_messages": true,
          "minimum_curator_verification": "email"
        },
        "kindling_noindex": false,
        "parsed_at": "2026-02-08T21:10:00Z",
        "parser": "kindling-parser/0.1.1"
      },
      "parsed_at": "2026-02-08T21:10:00Z",
      "consent_proof": {
        "handshake_id": "hs-cape-tarrow-first-gen-alumni-abebe",
        "accepted_at": "2026-02-08T21:10:00Z",
        "method": "oauth"
      },
      "verification_level": "oauth",
      "added_at": "2026-02-08T21:10:00Z",
      "added_by": "bertrand@mail.example"
    }
  ]
}

Block lists

The two lists both Pools subscribe to

Messages and handshakes from anything on these lists are refused §7.3.

Kindling public block listsubscribed

Copy: blocklist.json · published at https://protocol.kindling.foundation/blocklist.json · version 3, 20 September 2026

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.

TypeTargetReasonDetailAdded
implementationscrapekit/0.3scrapingIgnores kindling-noindex and robots signals.2 July 2026
identitypromo-blast@mail.examplespam14 August 2026

The Circular consortium block listsubscribed

Copy: circular/blocklist.json · published at https://thecircular.example/blocklist.json · version 8, 27 September 2026

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

TypeTargetReasonDetailAdded
curator_identitylisted-them-anyway@mail.exampleconsent_violationSubmitted 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_violationListed profiles that never accepted a handshake.26 September 2026
identitybulk-intros@relay.examplespam3 September 2026
implementationscrapekit/0.3scrapingAlso on the Kindling public list.3 July 2026

Honest limits

What the v0.1 schema can’t say yet

Where the specification text and a schema disagree, our JSON follows the schema. These are the gaps that touch Midspan.

  1. There is no message type for a proposal, or for answering one.

    §6.3 lists four types; the schema has six, adding withdrawal and system. Neither has a proposal. We send a coordinator’s note as a system message and each answer as a reply to it, then an intro after two yeses. The schema accepts all three, but another client would see two ordinary messages, not a proposal.

  2. Who is asked first cannot be said in any field.

    Midspan always asks the student first, so a mentor never hears about a student who said no. That rule lives only in governance_rules and in how Threshold behaves. A client reading the JSON could not check it, or know to follow it.

  3. Nothing records that both said yes.

    no_cold_messages needs “confirmed mutual interest” §7.2, but no field carries it. We keep the two replies on the coordinators’ desk and check them before the introduction goes.

  4. An introduction crosses two Pools; an envelope names one.

    Yesenia is in Midspan Students and Priya in Midspan Mentors. The envelope’s via_pool names a single Pool §6.2, and its recipient a single identity, so we send two intro envelopes, each through the Pool its reader is in, sharing a thread header.

  5. Invite-only has no reading rule, and a manifest has no access control.

    §3.2 names invite-only but does not say who may read such a Pool, and §3.1 says a Pool must be retrievable as a JSON document. We serve the students’ file only behind the college sign-in, to the two coordinators. The spec does not say whether a host may do that, or how a client would sign in.

  6. A coordinator’s own mail and no-cold-messages.

    Every member keeps no_cold_messages on. A strict reading of §7.2 would hold back the coordinator’s own invitations and proposals, which are first messages too. We treat mail from a Pool’s curator about that Pool as the Pool’s own, which each member agreed to by saying yes. The protocol does not say.

  7. A Pool cannot require its members’ rules.

    Our governance text says every member keeps no_cold_messages on. The manifest’s messaging_preferences holds only block lists and a sender minimum §3.3, so the rule lives on each member’s own page, and we check it at intake.

  8. There is no field for “18 or older”.

    Midspan is for adults only. The charter says so and a coordinator checks at intake, against the college’s own records. Nothing in the protocol carries an age or an eligibility rule, and nothing in a manifest should be read as having checked one.

  9. A student’s shared words for one proposal have no field.

    Priya learns only Yesenia’s first name and what Yesenia chose to share, written into Fina’s note as prose. A parsed profile is all or nothing, so there is no way to say “share these fields with this person, for this proposal”.

  10. The invitation cannot state the consent model.

    A handshake request’s pool object names the curator, charter, intent and visibility §5.2, but not consent_model. Rubén’s letter says “only a coordinator proposes” in words; a client reading the JSON could not.

  11. Level names differ between the text and the schema.

    §4.5 names email-verified, oauth-verified, curator-vouched and unverified. The schemas say email, oauth, curator-vouched, unverified and cryptographic, and a curator can only be email, oauth or cryptographic. Our JSON follows the schemas; our pages use the words.

  12. Field names in the text and the schemas differ.

    §6.2 calls the Pool reference pool_ref; the schema calls it via_pool. §12.1 names kindling_version; every schema uses schema_version. §10.2 names pool_url and a per-Pool curator_contact; the well-known schema uses manifest_url, with one contact on operator. Our JSON follows the schemas.

  13. No provenance field on parsed profiles.

    §2.3 names extraction_source, but the parsed-profile schema has no such field and forbids extra ones. Our cards cannot say which lines were marked up and which were inferred.

  14. The window is configurable in text, not in the manifest.

    §5.2 says the 14-day window is “configurable per Pool”. There is no field for it, so each request carries it in expires_at. We use the default.