Agentic PrimitivesAP

00Before you start

Sign in as a demo person. Each one is a real Home.

alice.mealice
Alice Okoro

The player. Stewards the organization Missio Nexus; has a treasury the Home chartered for her.

bob.mebob
Bob Tanaka

Custodies the Hold’em coach service. Not at the table; his service is consulted through the player’s own agent.

carol.mecarol
Carol Mbeki

A second person and counterparty. Can be paid, invited, granted to.

Passkeys for the demo people are on the demo people page. Everything below runs for play money on a test chain; nothing here is a real-money service.

01The person’s own place

Home

One name, your own agent, your own records, the organizations you can act for.

faithnet.me is the Home every other app on this page signs in through. A passkey yields a Smart Agent — alice.me — not a session. Organizations are created here, apps are linked here, and every grant an app asks for is signed here, by the person, with the caveats on screen.

What it proves
  • —Identity that can sign (a passkey → an ERC-4337 account)
  • —Your app cannot create an organization; the person does, at their Home
  • —A grant is a ceremony the person performs, never an operation the app performs
The scriptsign in as alice · 3 min
  1. 1
    Sign in with a passkey.
    You are alice.me — an account with an address, not a row in a users table.
  2. 2
    Open Organizations.
    The organizations Alice stewards or belongs to, each its own Smart Agent with its own treasury.
  3. 3
    Open Linked apps.
    Every relying app on this page, with the exact grant each holds and a Revoke that takes effect at the next gate.
  4. 4
    Open your vault.
    The receipts of everything an agent did as you — the record is yours, the apps hold caches.

02Home MCP connector

Your agent, inside Claude

Claude asks your agent as you. Anything that would change something waits for your signature.

A remote MCP server that is an OAuth 2.1 authorization server toward Claude and a relying app toward the Home. The bearer Claude holds never leaves the Worker; what reaches your agent is your own ask-as-me delegation, verified against your account on chain per request. Acts park as authority_required and hand you a link to your Home to sign.

  • Connector address — Claude → Settings → Connectors → Add custom connector
https://home-mcp.faithnet.io/mcp
What it proves
  • —The service that acts as an agent is never that agent — Claude holds a revocable delegate, not you
  • —Resolution is not authority: finding an agent is not permission to use it
  • —Trust is a graph: discovery returns candidates with evidence, never a score
The scriptsign in as alice · 5 min
  1. 1
    Ask: “What have I asked my agent for recently?”
    Your recent runs, answered by your agent by name (alice.me). This proves the bearer reaches your agent as you — not as the connector.
  2. 2
    Ask: “Find an agent that can help with a study on justification.”
    Your agent searches the estate’s discovery tier and returns candidate agents — the Publications catalog among them — with what each one can do and the evidence for it. Nothing has been asked of them yet.
  3. 3
    Ask the Publications catalog the same question through your agent.
    The catalog answers with titles, teachers and topics. Your agent reports what it read and from which tier; the run leaves a receipt in your vault.
  4. 4
    Ask for something that would change a record — “invite Bob to Missio Nexus.”
    authority_required, and a grant_link to your Home. Claude cannot sign for you.

03Home MCP · discovery + A2A content

Registry → Publications in Claude

Search the ADR registry through your agent, then ask Publications (or another publisher) over A2A — inside Claude.

The same Home MCP connector as “Your agent, inside Claude,” exercised on the content path: discover_agents searches the estate’s ADR / discovery registry; engage sends your words as you to the returned agent’s A2A endpoint. Works for Publications catalog asks and other publisher agents the registry lists. Claude never holds your keys — it holds a revocable ask-as-me delegate; the hop and the answer are your agent’s record.

  • Connector address — Claude → Settings → Connectors → Add custom connector
  • Example chat — grace / works query via Publications
https://home-mcp.faithnet.io/mcp
Connect in Claude
  1. In Claude, open Settings → Connectors.
  2. Choose Add custom connector.
  3. Name it (e.g. My Home agent) and paste the connector address below.
  4. Click Add, then Connect — your browser opens faithnet.me.
  5. Sign in and approve ask-as-me for this connector only.
  6. Back in Claude, open a new chat; turn the connector on under Search and tools.
Sample query — paste into Claude
If salvation is by grace alone, what role do good works play in a Christian's life—and how can someone distinguish growing in faith from trying to earn God's acceptance?
What it proves
  • —Discovery is a registry search through your agent — candidates with evidence, not a vendor score
  • —Engage is A2A: Publications (or another publisher) answers from its own catalog under its own playbook
  • —Claude shows the tool hop (“Searched Publications resources”); the receipt lands in your vault
Claude using the Home MCP connector — searched Publications resources, then answered a grace-and-works question from the publisher’s catalog
claude.ai — connector on; registry hop → Publications A2A; answer cites the publisher, not the model’s memory alone
The scriptsign in as alice · 5 min
  1. 1
    Connect the Home MCP (steps below). In a new chat, turn My Home agent on under Search and tools.
    The connector shows as connected; tools are available for this chat.
  2. 2
    Paste the sample query (grace alone / good works).
    Claude calls the connector — you see a hop like “Searched Publications resources.” The answer is grounded in the Publications catalog, with sources named as theirs.
  3. 3
    Or step it: “Find agents that offer study plans about justification.” Then engage the Publications agent with the same ask.
    Registry candidates first (ADR discovery); then Publications’ own A2A reply — titles, teachers, topics — presented as that agent’s answer.
  4. 4
    Ask: “What have I asked my agent for recently?”
    The run appears under your agent’s name (e.g. alice.me), with a vault receipt for the hop.

04A card room — the reference app

Game Night

People and AI agents at the same table; the house holds nobody’s keys.

Texas hold’em and canasta for play money (Sheqel, a test coin). Buy-ins and cash-outs settle from each player’s own Smart Agent treasury under a mandate the player signed — payee, ceiling, coin. A coach service Bob custodies is consulted through the player’s own agent under a study grant, and may advise but never act.

What it proves
  • —A mandate binds a grant to one intent — a buy-in is N mandates, not one
  • —The person’s agent never moves money; the treasury service does, under the mandate
  • —A capability’s declared risk cannot be lowered by the planner (poker.advise, never poker.act)
The scriptsign in as alice · 6 min
  1. 1
    Sign in as alice; “Deal me in.”
    The Home asks Alice to sign the buy-in mandate: payee = the table, ceiling = the buy-in, coin = Sheqel. The chips arrive from alice.treasury.
  2. 2
    Play a hand; ask the coach.
    Advice comes back through Alice’s own agent under a study grant Bob’s service accepted. It cannot bet.
  3. 3
    Cash out; open Alice’s vault at the Home.
    A receipt per buy-in and cash-out — mandate, verifier decision, transaction hash — held by Alice, not the card room.
  4. 4
    Revoke the card room at the Home; try to buy in again.
    Refused at the next gate. Nothing was cached.

05Gatherings — find, host, operate

Gather27

Listings are communities and regions, never individuals; a host is a person who signed for the listing.

A seeker finds a group near them with no session. A host connects at the Home, creates or adopts an organization, affirms the four-clause covenant, and publishes a listing; the host organization’s vault is the record of truth and the site holds a rebuildable projection. Three surfaces of one app: Find (public), the host app, and Ops — admission receipts, the lifecycle of every listing, who signed what.

  • Find — public — no sign-in
  • Host — sign in at the Home
  • Ops — operator console
What it proves
  • —Two tiers that never meet: Find reads the public tier; a host’s records live in their vault
  • —Acting for an organization needs a stewardship grant, not membership
  • —A listing is a signed, timestamped event — so is delisting
The scriptsign in as dave · 5 min
  1. 1
    Open Find; search a region.
    Public listings from the discovery tier — no account, no cookie, nothing private disclosed.
  2. 2
    Open Host; sign in as dave; adopt an organization, affirm the covenant, publish a gathering.
    The listing is a signed event by the host organization’s agent. A member who is not a steward is told so, and which grant it would take.
  3. 3
    Open Ops.
    The admission receipt for the listing, its lifecycle, and the signer — evidence, not a log line.

06Field Circles — people groups, communities, churches

Field Operations

A team workspace where people groups and communities are ontology — circles and churches are modelled edges, not spreadsheet tabs.

field.faithnet.io is Faithnet Field Operations: local-first workspaces for field teams (Northern Colorado Field · Somali Corridor). Who belongs, who may speak, and whom the work serves are ontology-backed. A People Group (Somalis) is the ethno-linguistic unit of share — Research aligns it to a registry (ROP3 / graph.global.church) with confidence and evidence, never a bare name match. A People Community is that people in a place (e.g. Somalis — Weld). Circles (discovery L0, discipleship L1) and Churches (house church G1/G2) are typed structures on that community: each can be an AGENT, carries health grain (seekers / believers / baptized / leaders · Acts 2), meeting time, facilitator, and lifecycle. List, badges, gen map, and map are projections of one model. Membership comes from the ontology; stewardship grants gate acts that speak for the organization. The tab title stays discreet — under some postures the app name itself is a disclosure.

  • Somali Corridor Team — team overview
  • Research — people-group alignment
What it proves
  • —People Group ≠ People Community ≠ Circle ≠ Church — four modelled kinds, never one “group” string
  • —Registry alignment (ROP3 / Global Church graph) is a claim with confidence — not a silent rename
  • —Circle/church health (believers, baptized, leaders) and AGENT tags are structured assertions, not chat notes
  • —Membership is not a grant — a member sees; a steward acts
Field Operations — Circles & Churches list: discovery and discipleship circles, house churches for Somalis — Weld, AGENT tags
Circles & Churches · 4 circles · 3 churches · Somalis — Weld · AGENT-backed entries
Evans Somali house church detail — church health, believers/baptized/leaders, people group Somali, lifecycle
Church detail · house-church health grain · people group + facilitator + lifecycle
Research — Somalis aligned to ROP3 100395 with high confidence; Somali Bantus offered for alignment from graph.global.church
Research · people-group alignment to registry (ROP3 / graph.global.church) with confidence
The scriptsign in as alice · 6 min
  1. 1
    Open Circles & Churches in the Northern Colorado / Somali Corridor workspace.
    Typed list: discovery/discipleship circles and churches (G1/G2), whom they serve (Somalis — Weld), AGENT where applicable.
  2. 2
    Open Evans Somali house church (or another church card).
    Health grain: seekers / believers / baptized / leaders; facilitator, meeting time, people group, lifecycle (e.g. Established).
  3. 3
    Open Research → People groups.
    Somalis aligned (e.g. ROP3 100395, confidence high); candidates from graph.global.church (e.g. Somali Bantus) offered for select-to-align — not auto-merged.
  4. 4
    Open Ask: “Who are the members of my organization?” Then try an act that speaks for the org.
    Members from ontology. Stewardship-gated acts refuse with the grant named.

07Verse lookup — content you can prove

Verifiable Scripture

The model never quotes the verse. A tool retrieves it; a third party can re-check the claim.

bible.faithnet.io is a scripture lookup built on published @agenticprimitives content packages. Resolve a reference to a stable canonical locus, retrieve gated text under policy, get a signed CitationAssertion bound to the commitment and run, then hand an EvidenceBundle to an independent validator — optional Groth16 membership against the issuer’s Merkle corpus. Ask — verifiable citations: type a topic (e.g. “What does it say about love?”); the agent (scripture-resolver.svc) answers with signed citations you verify — not model memory. You / the app trust the validator (demo-validator.svc), which checks against a profile (public-domain-demo); the agent cites a descriptor issued by the corpus issuer (e.g. qbsb.svc). Validated means N/N checks passed and an attestation hash — not “trust the chat.” Quotation fidelity is the floor; verifiable provenance is the point.

  • Validator — demo-validator.svc
Sample query — paste into Claude
What does it say about love?
What it proves
  • —Verse text is tool-retrieved under policy, never model-emitted
  • —A citation binds canonicalId, commitment, issuer, and run — not a bare string
  • —You trust the validator, not the answering agent — validated / gated / rejected with attestation
  • —Trust graph is explicit: app → validator → profile; agent → cited descriptor ← issuer
Ask — verifiable citations: love query returns John 3:16 and Romans 8:28; John 3:16 validated 10/10 by demo-validator.svc with trust graph
bible.faithnet.io · Ask — verifiable citations · validated by demo-validator.svc (10/10 checks)
The script5 min
  1. 1
    Open bible.faithnet.io → Ask; paste “What does it say about love?” (or comfort / strength / creation).
    Cited passages (e.g. John 3:16, Romans 8:28) with signed citations — not bare model quotes.
  2. 2
    Open a citation’s Validate / attestation card.
    ✓ validated · attested by demo-validator.svc · profile (e.g. public-domain-demo) · N/N checks · attestation hash.
  3. 3
    Read the trust graph under the result.
    You/app → validator → profile; agent (scripture-resolver.svc) cites descriptor issued by qbsb.svc (or the edition’s issuer).
  4. 4
    Optionally look up the same verse in the picker; inspect candidates / ZK if shown.
    Same canonical locus + commitment path; Merkle / ZK membership without revealing the leaf when licensed.

08PROV-O graph — people, places, trust

Bible Explorer

Explore the Bible as a living graph of people, places, events, and the verses behind them.

explorer.faithnet.io is the ontology surface of the verifiable-content stack: ~6,300 entities across 66 books, geolocated places, timelines, oikos rings, generations, and a trust graph with character signals. Browse the graph free; licensed verse reads (LBSB) are entitlement-gated via your Home. Validate GCO checks the Global Church Ontology against the same corpus the verse lookup uses. The Ask tab puts a question to the Scripture Agent — and, once you press “Let my agent ask for me”, to your OWN agent, which engages the Scripture Agent as you and reads who you are from your vault; the page sends only the question, and every verse in the answer is resolved in the signed corpus, commitment-checked and signed before it reaches you.

  • Ask Scripture — through your own agent
  • Verifiable Scripture — same substrate — verse path
Sample query — paste into Claude
Jesus
What it proves
  • —Entity identity is a canonical graph node — names collide; the id does not
  • —Map, timeline, oikos and trust views are projections of one ontology, not separate databases
  • —Graph browse is free; verse disclosure still runs the gated, accountable path
  • —Ask through your own agent: the page sends the question; your agent reads who you are from your vault and engages the Scripture Agent as you, under a wire limited to asking
  • —Every verse in an answer is resolved in the signed corpus, commitment-checked and signed by the agent — the model never supplies verse text, and dropped passages are listed
Bible Explorer home — search people, places, events; Map, Timeline, Oikos, Generations, Trust Graph
explorer.faithnet.io — 6,376 entities · 1,758 places · 66 books
The script7 min
  1. 1
    Open explorer.faithnet.io; search “Jesus” (or Jerusalem, Exodus).
    Entity cards resolve to canonical people/places/events — not a bare string match.
  2. 2
    Open Map; pan to a region and play time if offered.
    Geolocated places with activities; the graph, not a static atlas.
  3. 3
    Open Oikos or Generations on a featured person (Paul, Abraham).
    Relationship rings / descent — household and discipleship as modelled edges.
  4. 4
    Open Graph / Trust Graph; optionally Validate GCO.
    Character and attestation signals on entities; GCO validation against the living ontology.
  5. 5
    Open Ask; connect through the Home; press “Let my agent ask for me” and sign the ask-as-me wire; ask a question.
    “Asked through your own agent … which engaged scripture-resolver.svc over A2A as you.” The answer is shaped to your scripture profile; each verse shows commitment ✓ and a signed citation — press Verify citation to re-check it yourself.
Ask Scripture through your own agent — how the hop runs
Ask Scripture through your own agent: the Explorer sends the question, the person's agent engages the Scripture Agent as them, every verse is verified in the signed corpus, and the answer comes back in the person's contextTHE EXPLORER (relying app)THE PERSON'S OWN AGENTTHE SCRIPTURE AGENT + ITS CORPUS explorer.faithnet.io · Ask tabdemo-bible-ontology (Cloudflare Worker + UI)sends the QUESTION and the ask-as-me wire — nothing elsewho the reader is lives in HER vault (scripture-profile),edited on the Profile tab, never posted from this pagerenders the answer + every citation, each with VerifyExplorer backend · POST /ask/as-methe Scripture Agent worker, wearing its relying-app hatholds no person key · signs ONE caller assertion with theExplorer ask key (an AKCS delegate of scripture-resolver.svc)message: “ask scripture-resolver.svc: <question>”plan: one routed step · engagement.agent.invoke Home · www.faithnet.methe ONE authorization: “Let my agent ask for me”an ask-as-me wire — ERC-7710 delegation, delegator = alice.me,caveat = harness.ask only · revocable at her Homeher scripture-profile is written to her vault hereWhat comes back to the page“Asked through your own agent · run <runRef>”the answer, composed for who she isScripture behind the answer — N verses, each verified:resolved → commitment ✓ → citation signed by the agentpassages that did not survive are LISTED, not hidden alice.me · agent runtime · a2a.faithnet.ioPOST /harness/ask under the App-Delegation scheme (spec 397)admits the wire on chain: delegator = her SA · caveat = harness.askthe assertion is spent ONCE · the run is HERS (runRef, trace)reads her playbook: person-steward, pinned by definition digesther MCP · mcp.faithnet.ioHER vault, her key bindingvault:scripture-profile{ role, situation, name }read under her delegationconversation memory · receiptsthe record; the page holds nonediscovery.agent.inspectscripture-resolver.svc by NAMEits records on chain say wherethe card is (atl:cardUri) andwhat pins it (digest)served card ≠ pin → say sopublic facts — never authorityengagement.agent.invoke — as her, under her standingone A2A message to the service: the question + a data part{ context: { role, situation } } — today the question alone;the rule that attaches her scripture-profile is the open itemcaller assertion signed for this hop · traceparent carriedthe reply is an OBSERVATION of hers: untrusted, source namedcompose in her context · record the hopthe service’s answer + verified citations land in HER runthe receipt names: who asked, the wire, the step, the playbookdigest, the target and its card digest, the run referenceprovenance (PROV-O) readable at /harness/provenancenothing here authorized anything — the wire only let her ASK scripture-resolver.svc · scripture.faithnet.iodemo-bible-a2a — a Service Agent with its own Smart Agent + A2A cardcard skills: ask-scripture · resolve-scripture-passage · verify ·character-trust-profile · find-entities · entity-graphreader roles: new believer · seeker · growing · … (shape, not gate)THE SKILL · plan → resolve → verify → grade → compose1 plan: which passages bear on the question, for THIS reader2 resolve EACH through the corpus — never from the model’s memory3 commitment checked against the issuer descriptor; citation SIGNED4 grade: does the actual text, in context, support the claimed use?5 compose from the verified texts only; “no” grades are droppedtransparency log per run · passages not used are returnedcontent MCP · demo-bible-mcp (private, behind the agent)the canonical BSB corpus — the single source of verse textissuer descriptors + block commitments per passage (Merkle)licensed editions (LBSB) gated by entitlement — public BSB is openthe KMS citation signer: the SA-signed leaf names the delegate key;the worker holds no key — the MCP signs AS scripture-resolver.svcwhat travels back — verifiable by anyoneper verse: reference · edition · descriptor id · commitment ✓/⚠ ·citation (signed, with the delegating signer) · support gradePOST /verify re-checks the signature against the leaf’s delegatekey and the SA that signed the leaf (ERC-1271) — no trust in the page1 questiononce: sign the wire2 /harness/ask · App-Delegation3 her context4 inspectcard → endpoint5 A2A · as her6 resolve · sign7 verses + citations8 the service’s answer9 in her context10 reply · runReffaithchain (chain 34348) — what every hop above reads or verifies, and nothing it cachesan AgentAccount for alice.me and for scripture-resolver.svc · the ask-as-me wire is a delegation verified on chain and revoked by one transaction at her Homename records: atl:cardUri · a2aEndpoint · siteUrl (the Explorer is the service’s registered site) · the content-signer leaf is signed by the service’s SA (ERC-1271)SERVING THE PERSON'S AGENTskill artifacts · ~/skills (agentic-trust)SKILL.md contractsperson-engagement-invoke capability engagement.agent.invoke risk R0 · result: message utterances → argsperson-discovery-inspectperson-discovery-find… one contract per capabilityrisk, inputs, what it establishesarchetype · person-stewardarchetypes/person-steward/SKILL.md“one person, taken from the session”“their records are the private tier”“you hold no funds”knowledge: Agent, Household, Organization, Treasury …compiled → AgentHarnessDefinitionV1pinned by DIGEST, served by skills.in her agentthe assignment record isin HER vault (her choice,the estate’s default)loadPlaybook per run:definition hashes to thepinned digest or it isignored — bare harnessbehaviour, never authoritySERVING THE SCRIPTURE AGENTskill artifacts · verifiable-content-demoA2A Agent Card skillsask-scripture — “send the question as text; optionally a data part { context: { role, situation } }”resolve-scripture-passagecharacter-trust-profilefind-entities · entity-graphcard digest pinned in its recordsthe ask skill + reader rolesplanAsk / composeAsk promptsASK_ROLES: new-believer, seeker, growing, … — guidance per reader, applied from contextgrade per verse: supports / partial / no (no ⇒ dropped)the model never supplies text:every verse via the corpus pathcorpus + signerissuer descriptorsblock commitments(Merkle per article)entitlement per editionKMS content signer underan SA-signed leaf (spec 266)CitationAssertion =the agent’s own credentialBEHAVIOUR IS GENERATED — SKILLS SAY HOW AN AGENT BEHAVESAUTHORITY NEVER IS — VERIFICATION SAYS WHAT IS TRUE: CORPUS, CHAIN, SIGNATUREThe page sent a question. Her agent asked as her. The corpus answered with proof.agenticprimitives.dev
Left: the Explorer sends only the question; the one authorization is an ask-as-me wire signed at the Home, limited to putting a question to her agent. Middle: her own agent admits the wire on chain, runs its person-steward playbook (compiled from SKILL.md contracts in the skills repo, pinned by digest, assigned in her vault), reads her scripture-profile from her vault over her MCP, inspects scripture-resolver.svc through its name's records, and engages it over A2A as her. Right: the Scripture Agent plans passages for who she is, resolves each through the signed corpus behind its content MCP, checks the commitment, signs the citation as its own Smart Agent, grades support, and composes from the verified texts only. The answer lands in her run with a receipt; the page shows every verse with a Verify button anyone can press. Underneath: the skill artifacts that make each agent what it is — behaviour is generated from them; authority never is.

09Publish your own sources — signed, block-hashed

Source Publishing

A person publishes into their Home library; the public listing carries on-chain provenance a reader can verify.

publishing.faithnet.io is the people-as-publishers path on the same content-primitives substrate as Verifiable Scripture. Sign in at the Home, author a work (title, structure, articles), accept the listing agreement, and publish: Home mints and signs a release; each article is a Merkle of content blocks. The public page shows Signed ✓ verified on chain — not “trust the host.” Demo works (e.g. AP3) ship Free + CC BY with proof details open.

  • Example: AP3 — signed listing · 8 articles
  • Publish — step 1 of the ceremony
What it proves
  • —The person (or their agent) signs the release — the site never holds the author’s key
  • —Each article is block-committed; the listing verifies the whole run matches
  • —License + agreement ride with the release (e.g. CC BY 4.0) — attribution is evidence, not a footer guess
Source Publishing — AP3 listing with Signed ✓ verified on chain and per-article block hashes
publishing.faithnet.io/@rich-google2-me/ap3 — Signed ✓ on chain 34348 · 8 articles match
Source Publishing — Publish step 1: title, type, structure, language, authors
Publish · step 1 of 6 — nothing leaves the browser until you sign
The scriptsign in as alice · 5 min
  1. 1
    Open the AP3 example listing.
    Provenance sidebar: Signed ✓ verified on chain; each article lists block count + commitment hash.
  2. 2
    Expand Show proof details if offered.
    Signer, release, agreement digest — re-checkable, not a trust-me badge.
  3. 3
    Open Publish; sign in as a demo person; start a work (title + structure).
    Multi-step ceremony; listing address under your handle. Text stays local until the sign step.
  4. 4
    Finish publish (or open Studio on an existing work).
    Public page under /@you/slug with the same provenance card pattern as AP3.

10Playbooks and ontology, by digest

Skills registry

Every capability a demo above used, pinned by digest — and the ontology modules it binds to, as graphs.

SKILL.md management for the estate: agent archetypes, the capabilities each may mean, and the ontology modules behind them. A receipt from any app above cites the digest of the playbook that admitted the run; this is where that digest resolves.

What it proves
  • —Behaviour is generated; authority never is — a playbook is consulted by no verifier
  • —One ontology from the utterance to the audit
The script2 min
  1. 1
    Open the Hold’em Coach archetype.
    poker.advise and poker.review — never poker.act — and the fourteen ontology areas it binds.
  2. 2
    Take a playbook digest from a Game Night receipt and find it here.
    The exact compiled definition that admitted that run.

11If something refuses

Most refusals are ceremonies, not bugs.

authority_required means the act needs a signature the person has not given — follow the grant link to the Home and sign. member, not a steward means the person belongs to the organization but may not speak for it. A refusal after a revoke is the point: nothing was cached. The gates page lists every gate and who holds it.

Now build one.

Every app on this page is a third-party relying app: it imports the published packages, signs people in through a Home, and never holds a key. The Build guide is five short pages.