[{"data":1,"prerenderedAt":1072},["ShallowReactive",2],{"navigation":3,"\u002Fv0\u002Fabantu\u002Fprotocols":489,"\u002Fv0\u002Fabantu\u002Fprotocols-surround":1067},[4,287],{"title":5,"path":6,"stem":7,"children":8,"icon":286},"v1 · in progress","\u002Fv1","1.v1\u002F01.index",[9,11,46],{"title":10,"path":6,"stem":7},"The current guide",{"title":12,"path":13,"stem":14,"children":15,"icon":45},"Communities","\u002Fv1\u002Fcommunities","1.v1\u002F03.communities\u002F1.index",[16,17,21,25,29,33,37,41],{"title":12,"path":13,"stem":14},{"title":18,"path":19,"stem":20},"Decide together","\u002Fv1\u002Fcommunities\u002Fdecide-together","1.v1\u002F03.communities\u002F2.decide-together",{"title":22,"path":23,"stem":24},"Protocols","\u002Fv1\u002Fcommunities\u002Fprotocols","1.v1\u002F03.communities\u002F3.protocols",{"title":26,"path":27,"stem":28},"Features and settings","\u002Fv1\u002Fcommunities\u002Ffeatures","1.v1\u002F03.communities\u002F4.features",{"title":30,"path":31,"stem":32},"Custodians and the community key","\u002Fv1\u002Fcommunities\u002Fcustodians","1.v1\u002F03.communities\u002F5.custodians",{"title":34,"path":35,"stem":36},"Projects","\u002Fv1\u002Fcommunities\u002Fprojects","1.v1\u002F03.communities\u002F6.projects",{"title":38,"path":39,"stem":40},"Between communities","\u002Fv1\u002Fcommunities\u002Fbetween-communities","1.v1\u002F03.communities\u002F7.between-communities",{"title":42,"path":43,"stem":44},"Messages, relays and storage","\u002Fv1\u002Fcommunities\u002Fmessages-and-storage","1.v1\u002F03.communities\u002F8.messages-and-storage","i-lucide-users",{"title":47,"path":48,"stem":49,"children":50,"icon":285},"Technical reference","\u002Fv1\u002Freference","1.v1\u002F12.reference\u002F1.index",[51,52,274,278,282],{"title":47,"path":48,"stem":49},{"title":53,"path":54,"stem":55,"children":56},"Packages","\u002Fv1\u002Freference\u002Fpackages","1.v1\u002F12.reference\u002F2.packages\u002F1.index",[57,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270],{"title":53,"path":54,"stem":55},{"title":59,"path":60,"stem":61},"aes-gcm","\u002Fv1\u002Freference\u002Fpackages\u002Faes-gcm","1.v1\u002F12.reference\u002F2.packages\u002Faes-gcm",{"title":63,"path":64,"stem":65},"agreements","\u002Fv1\u002Freference\u002Fpackages\u002Fagreements","1.v1\u002F12.reference\u002F2.packages\u002Fagreements",{"title":67,"path":68,"stem":69},"auth-sdk","\u002Fv1\u002Freference\u002Fpackages\u002Fauth-sdk","1.v1\u002F12.reference\u002F2.packages\u002Fauth-sdk",{"title":71,"path":72,"stem":73},"blind-tokens","\u002Fv1\u002Freference\u002Fpackages\u002Fblind-tokens","1.v1\u002F12.reference\u002F2.packages\u002Fblind-tokens",{"title":75,"path":76,"stem":77},"blob-store","\u002Fv1\u002Freference\u002Fpackages\u002Fblob-store","1.v1\u002F12.reference\u002F2.packages\u002Fblob-store",{"title":79,"path":80,"stem":81},"broadcast-medium","\u002Fv1\u002Freference\u002Fpackages\u002Fbroadcast-medium","1.v1\u002F12.reference\u002F2.packages\u002Fbroadcast-medium",{"title":83,"path":84,"stem":85},"capacitor-keystore","\u002Fv1\u002Freference\u002Fpackages\u002Fcapacitor-keystore","1.v1\u002F12.reference\u002F2.packages\u002Fcapacitor-keystore",{"title":87,"path":88,"stem":89},"capacitor-tor","\u002Fv1\u002Freference\u002Fpackages\u002Fcapacitor-tor","1.v1\u002F12.reference\u002F2.packages\u002Fcapacitor-tor",{"title":91,"path":92,"stem":93},"capacitor-unifiedpush","\u002Fv1\u002Freference\u002Fpackages\u002Fcapacitor-unifiedpush","1.v1\u002F12.reference\u002F2.packages\u002Fcapacitor-unifiedpush",{"title":95,"path":96,"stem":97},"capture-inbox","\u002Fv1\u002Freference\u002Fpackages\u002Fcapture-inbox","1.v1\u002F12.reference\u002F2.packages\u002Fcapture-inbox",{"title":99,"path":100,"stem":101},"clan","\u002Fv1\u002Freference\u002Fpackages\u002Fclan","1.v1\u002F12.reference\u002F2.packages\u002Fclan",{"title":103,"path":104,"stem":105},"community-core","\u002Fv1\u002Freference\u002Fpackages\u002Fcommunity-core","1.v1\u002F12.reference\u002F2.packages\u002Fcommunity-core",{"title":107,"path":108,"stem":109},"community-identity","\u002Fv1\u002Freference\u002Fpackages\u002Fcommunity-identity","1.v1\u002F12.reference\u002F2.packages\u002Fcommunity-identity",{"title":111,"path":112,"stem":113},"community-log","\u002Fv1\u002Freference\u002Fpackages\u002Fcommunity-log","1.v1\u002F12.reference\u002F2.packages\u002Fcommunity-log",{"title":115,"path":116,"stem":117},"community-plugin-api","\u002Fv1\u002Freference\u002Fpackages\u002Fcommunity-plugin-api","1.v1\u002F12.reference\u002F2.packages\u002Fcommunity-plugin-api",{"title":119,"path":120,"stem":121},"corroboration","\u002Fv1\u002Freference\u002Fpackages\u002Fcorroboration","1.v1\u002F12.reference\u002F2.packages\u002Fcorroboration",{"title":123,"path":124,"stem":125},"cover-traffic-scheduler","\u002Fv1\u002Freference\u002Fpackages\u002Fcover-traffic-scheduler","1.v1\u002F12.reference\u002F2.packages\u002Fcover-traffic-scheduler",{"title":127,"path":128,"stem":129},"demo-family-tree","\u002Fv1\u002Freference\u002Fpackages\u002Fdemo-family-tree","1.v1\u002F12.reference\u002F2.packages\u002Fdemo-family-tree",{"title":131,"path":132,"stem":133},"device-link","\u002Fv1\u002Freference\u002Fpackages\u002Fdevice-link","1.v1\u002F12.reference\u002F2.packages\u002Fdevice-link",{"title":135,"path":136,"stem":137},"device-scanner","\u002Fv1\u002Freference\u002Fpackages\u002Fdevice-scanner","1.v1\u002F12.reference\u002F2.packages\u002Fdevice-scanner",{"title":139,"path":140,"stem":141},"did-e2e","\u002Fv1\u002Freference\u002Fpackages\u002Fdid-e2e","1.v1\u002F12.reference\u002F2.packages\u002Fdid-e2e",{"title":143,"path":144,"stem":145},"directory-listings","\u002Fv1\u002Freference\u002Fpackages\u002Fdirectory-listings","1.v1\u002F12.reference\u002F2.packages\u002Fdirectory-listings",{"title":147,"path":148,"stem":149},"ecosystem-cli","\u002Fv1\u002Freference\u002Fpackages\u002Fecosystem-cli","1.v1\u002F12.reference\u002F2.packages\u002Fecosystem-cli",{"title":151,"path":152,"stem":153},"endscroll","\u002Fv1\u002Freference\u002Fpackages\u002Fendscroll","1.v1\u002F12.reference\u002F2.packages\u002Fendscroll",{"title":155,"path":156,"stem":157},"ephemeral-share","\u002Fv1\u002Freference\u002Fpackages\u002Fephemeral-share","1.v1\u002F12.reference\u002F2.packages\u002Fephemeral-share",{"title":159,"path":160,"stem":161},"example-community-plugin","\u002Fv1\u002Freference\u002Fpackages\u002Fexample-community-plugin","1.v1\u002F12.reference\u002F2.packages\u002Fexample-community-plugin",{"title":163,"path":164,"stem":165},"family","\u002Fv1\u002Freference\u002Fpackages\u002Ffamily","1.v1\u002F12.reference\u002F2.packages\u002Ffamily",{"title":167,"path":168,"stem":169},"geo","\u002Fv1\u002Freference\u002Fpackages\u002Fgeo","1.v1\u002F12.reference\u002F2.packages\u002Fgeo",{"title":171,"path":172,"stem":173},"geo-claims","\u002Fv1\u002Freference\u002Fpackages\u002Fgeo-claims","1.v1\u002F12.reference\u002F2.packages\u002Fgeo-claims",{"title":175,"path":176,"stem":177},"geo-packs","\u002Fv1\u002Freference\u002Fpackages\u002Fgeo-packs","1.v1\u002F12.reference\u002F2.packages\u002Fgeo-packs",{"title":179,"path":180,"stem":181},"geo-vue","\u002Fv1\u002Freference\u002Fpackages\u002Fgeo-vue","1.v1\u002F12.reference\u002F2.packages\u002Fgeo-vue",{"title":183,"path":184,"stem":185},"historical-date","\u002Fv1\u002Freference\u002Fpackages\u002Fhistorical-date","1.v1\u002F12.reference\u002F2.packages\u002Fhistorical-date",{"title":187,"path":188,"stem":189},"identity","\u002Fv1\u002Freference\u002Fpackages\u002Fidentity","1.v1\u002F12.reference\u002F2.packages\u002Fidentity",{"title":191,"path":192,"stem":193},"identity-scope","\u002Fv1\u002Freference\u002Fpackages\u002Fidentity-scope","1.v1\u002F12.reference\u002F2.packages\u002Fidentity-scope",{"title":195,"path":196,"stem":197},"inquiry-board","\u002Fv1\u002Freference\u002Fpackages\u002Finquiry-board","1.v1\u002F12.reference\u002F2.packages\u002Finquiry-board",{"title":199,"path":200,"stem":201},"inzira","\u002Fv1\u002Freference\u002Fpackages\u002Finzira","1.v1\u002F12.reference\u002F2.packages\u002Finzira",{"title":203,"path":204,"stem":205},"isoko-client","\u002Fv1\u002Freference\u002Fpackages\u002Fisoko-client","1.v1\u002F12.reference\u002F2.packages\u002Fisoko-client",{"title":207,"path":208,"stem":209},"link-room","\u002Fv1\u002Freference\u002Fpackages\u002Flink-room","1.v1\u002F12.reference\u002F2.packages\u002Flink-room",{"title":211,"path":212,"stem":213},"notices","\u002Fv1\u002Freference\u002Fpackages\u002Fnotices","1.v1\u002F12.reference\u002F2.packages\u002Fnotices",{"title":215,"path":216,"stem":217},"one-time-mailbox","\u002Fv1\u002Freference\u002Fpackages\u002Fone-time-mailbox","1.v1\u002F12.reference\u002F2.packages\u002Fone-time-mailbox",{"title":219,"path":220,"stem":221},"portable-entitlements","\u002Fv1\u002Freference\u002Fpackages\u002Fportable-entitlements","1.v1\u002F12.reference\u002F2.packages\u002Fportable-entitlements",{"title":223,"path":224,"stem":225},"protocol-catalog","\u002Fv1\u002Freference\u002Fpackages\u002Fprotocol-catalog","1.v1\u002F12.reference\u002F2.packages\u002Fprotocol-catalog",{"title":227,"path":228,"stem":229},"protocol-core","\u002Fv1\u002Freference\u002Fpackages\u002Fprotocol-core","1.v1\u002F12.reference\u002F2.packages\u002Fprotocol-core",{"title":231,"path":232,"stem":233},"redact","\u002Fv1\u002Freference\u002Fpackages\u002Fredact","1.v1\u002F12.reference\u002F2.packages\u002Fredact",{"title":235,"path":236,"stem":237},"relay-envelope","\u002Fv1\u002Freference\u002Fpackages\u002Frelay-envelope","1.v1\u002F12.reference\u002F2.packages\u002Frelay-envelope",{"title":239,"path":240,"stem":241},"requirements","\u002Fv1\u002Freference\u002Fpackages\u002Frequirements","1.v1\u002F12.reference\u002F2.packages\u002Frequirements",{"title":243,"path":244,"stem":245},"signed-request","\u002Fv1\u002Freference\u002Fpackages\u002Fsigned-request","1.v1\u002F12.reference\u002F2.packages\u002Fsigned-request",{"title":247,"path":248,"stem":249},"storage","\u002Fv1\u002Freference\u002Fpackages\u002Fstorage","1.v1\u002F12.reference\u002F2.packages\u002Fstorage",{"title":251,"path":252,"stem":253},"suite-identity","\u002Fv1\u002Freference\u002Fpackages\u002Fsuite-identity","1.v1\u002F12.reference\u002F2.packages\u002Fsuite-identity",{"title":255,"path":256,"stem":257},"testimony","\u002Fv1\u002Freference\u002Fpackages\u002Ftestimony","1.v1\u002F12.reference\u002F2.packages\u002Ftestimony",{"title":259,"path":260,"stem":261},"testimony-qa","\u002Fv1\u002Freference\u002Fpackages\u002Ftestimony-qa","1.v1\u002F12.reference\u002F2.packages\u002Ftestimony-qa",{"title":263,"path":264,"stem":265},"trust-graph","\u002Fv1\u002Freference\u002Fpackages\u002Ftrust-graph","1.v1\u002F12.reference\u002F2.packages\u002Ftrust-graph",{"title":267,"path":268,"stem":269},"web-session","\u002Fv1\u002Freference\u002Fpackages\u002Fweb-session","1.v1\u002F12.reference\u002F2.packages\u002Fweb-session",{"title":271,"path":272,"stem":273},"webauthn-lock","\u002Fv1\u002Freference\u002Fpackages\u002Fwebauthn-lock","1.v1\u002F12.reference\u002F2.packages\u002Fwebauthn-lock",{"title":275,"path":276,"stem":277},"Apps","\u002Fv1\u002Freference\u002Fapps","1.v1\u002F12.reference\u002F3.apps",{"title":279,"path":280,"stem":281},"Services","\u002Fv1\u002Freference\u002Fservices","1.v1\u002F12.reference\u002F4.services",{"title":22,"path":283,"stem":284},"\u002Fv1\u002Freference\u002Fprotocols","1.v1\u002F12.reference\u002F5.protocols","i-lucide-library","i-lucide-book-open",{"title":288,"icon":289,"path":290,"stem":291,"children":292,"page":470},"v0 · summer 2026","i-lucide-archive","\u002Fv0","2.v0",[293,329,365,401,436,452,471],{"title":294,"path":295,"stem":296,"children":297,"icon":328},"Getting Started","\u002Fv0\u002Fgetting-started","2.v0\u002F1.getting-started\u002F1.index",[298,300,304,308,312,316,320,324],{"title":299,"path":295,"stem":296},"What is this?",{"title":301,"path":302,"stem":303},"Web, Desktop, or Mobile","\u002Fv0\u002Fgetting-started\u002Faccess-methods","2.v0\u002F1.getting-started\u002F2.access-methods",{"title":305,"path":306,"stem":307},"Before You Begin","\u002Fv0\u002Fgetting-started\u002Fbefore-you-begin","2.v0\u002F1.getting-started\u002F3.before-you-begin",{"title":309,"path":310,"stem":311},"Install the Apps","\u002Fv0\u002Fgetting-started\u002Finstall","2.v0\u002F1.getting-started\u002F4.install",{"title":313,"path":314,"stem":315},"F-Droid, Explained","\u002Fv0\u002Fgetting-started\u002Ffdroid","2.v0\u002F1.getting-started\u002F5.fdroid",{"title":317,"path":318,"stem":319},"Your First Family Tree","\u002Fv0\u002Fgetting-started\u002Fyour-first-tree","2.v0\u002F1.getting-started\u002F6.your-first-tree",{"title":321,"path":322,"stem":323},"Invite Family Members","\u002Fv0\u002Fgetting-started\u002Finvite-family","2.v0\u002F1.getting-started\u002F7.invite-family",{"title":325,"path":326,"stem":327},"Connect Family Branches","\u002Fv0\u002Fgetting-started\u002Fconnect-branches","2.v0\u002F1.getting-started\u002F8.connect-branches","i-lucide-footprints",{"title":330,"path":331,"stem":332,"children":333,"icon":45},"Abantu","\u002Fv0\u002Fabantu","2.v0\u002F2.abantu\u002F1.index",[334,336,339,342,345,349,353,357,361],{"title":335,"path":331,"stem":332},"Abantu — Community Governance",{"title":12,"path":337,"stem":338},"\u002Fv0\u002Fabantu\u002Fcommunities","2.v0\u002F2.abantu\u002F2.communities",{"title":22,"path":340,"stem":341},"\u002Fv0\u002Fabantu\u002Fprotocols","2.v0\u002F2.abantu\u002F3.protocols",{"title":34,"path":343,"stem":344},"\u002Fv0\u002Fabantu\u002Fprojects","2.v0\u002F2.abantu\u002F4.projects",{"title":346,"path":347,"stem":348},"Proposals and Roles","\u002Fv0\u002Fabantu\u002Fproposals-and-roles","2.v0\u002F2.abantu\u002F5.proposals-and-roles",{"title":350,"path":351,"stem":352},"Sync and Relay","\u002Fv0\u002Fabantu\u002Fsync-and-relay","2.v0\u002F2.abantu\u002F6.sync-and-relay",{"title":354,"path":355,"stem":356},"Identity and Devices","\u002Fv0\u002Fabantu\u002Fidentity-and-devices","2.v0\u002F2.abantu\u002F7.identity-and-devices",{"title":358,"path":359,"stem":360},"Data and Privacy","\u002Fv0\u002Fabantu\u002Fprivacy","2.v0\u002F2.abantu\u002F8.privacy",{"title":362,"path":363,"stem":364},"Plugins and Extensibility","\u002Fv0\u002Fabantu\u002Fplugins-and-extensibility","2.v0\u002F2.abantu\u002F9.plugins-and-extensibility",{"title":366,"path":367,"stem":368,"children":369,"icon":400},"Iwacu","\u002Fv0\u002Fiwacu","2.v0\u002F3.iwacu\u002F1.index",[370,372,376,380,384,388,392,396],{"title":371,"path":367,"stem":368},"Iwacu — Family Tree",{"title":373,"path":374,"stem":375},"Terminal Commands","\u002Fv0\u002Fiwacu\u002Fterminal-commands","2.v0\u002F3.iwacu\u002F2.terminal-commands",{"title":377,"path":378,"stem":379},"Manage Page and Sync","\u002Fv0\u002Fiwacu\u002Fmanage-and-sync","2.v0\u002F3.iwacu\u002F3.manage-and-sync",{"title":381,"path":382,"stem":383},"Family History and the Atlas","\u002Fv0\u002Fiwacu\u002Fhistory-and-atlas","2.v0\u002F3.iwacu\u002F4.history-and-atlas",{"title":385,"path":386,"stem":387},"Script Editor","\u002Fv0\u002Fiwacu\u002Fscript-editor","2.v0\u002F3.iwacu\u002F5.script-editor",{"title":389,"path":390,"stem":391},"Inviting and Connecting","\u002Fv0\u002Fiwacu\u002Finviting-and-connecting","2.v0\u002F3.iwacu\u002F6.inviting-and-connecting",{"title":393,"path":394,"stem":395},"Desktop App and Devices","\u002Fv0\u002Fiwacu\u002Fdesktop-and-devices","2.v0\u002F3.iwacu\u002F7.desktop-and-devices",{"title":397,"path":398,"stem":399},"Reference","\u002Fv0\u002Fiwacu\u002Freference","2.v0\u002F3.iwacu\u002F8.reference","i-lucide-trees",{"title":402,"path":403,"stem":404,"children":405,"icon":435},"Isoko","\u002Fv0\u002Fisoko","2.v0\u002F4.isoko\u002F1.index",[406,408,411,415,419,423,427,431],{"title":407,"path":403,"stem":404},"Isoko — Local Marketplace",{"title":22,"path":409,"stem":410},"\u002Fv0\u002Fisoko\u002Fprotocols","2.v0\u002F4.isoko\u002F2.protocols",{"title":412,"path":413,"stem":414},"Listings and Messaging","\u002Fv0\u002Fisoko\u002Flistings-and-messaging","2.v0\u002F4.isoko\u002F3.listings-and-messaging",{"title":416,"path":417,"stem":418},"Tracked Deliveries","\u002Fv0\u002Fisoko\u002Fdeliveries","2.v0\u002F4.isoko\u002F4.deliveries",{"title":420,"path":421,"stem":422},"Wallet and Reputation","\u002Fv0\u002Fisoko\u002Fwallet-and-reputation","2.v0\u002F4.isoko\u002F5.wallet-and-reputation",{"title":424,"path":425,"stem":426},"Market Cells","\u002Fv0\u002Fisoko\u002Fcells","2.v0\u002F4.isoko\u002F6.cells",{"title":428,"path":429,"stem":430},"Safety Scanner","\u002Fv0\u002Fisoko\u002Fsafety","2.v0\u002F4.isoko\u002F7.safety",{"title":432,"path":433,"stem":434},"Web Version, Privacy, and Limitations","\u002Fv0\u002Fisoko\u002Fweb-and-privacy","2.v0\u002F4.isoko\u002F8.web-and-privacy","i-lucide-store",{"title":437,"path":438,"stem":439,"children":440,"icon":451},"Playground","\u002Fv0\u002Fplayground","2.v0\u002F5.playground\u002F1.index",[441,443,447],{"title":442,"path":438,"stem":439},"Playground — Try It in the Browser",{"title":444,"path":445,"stem":446},"Using the Tutorials","\u002Fv0\u002Fplayground\u002Fusing-tutorials","2.v0\u002F5.playground\u002F2.using-tutorials",{"title":448,"path":449,"stem":450},"How Tutorials Are Made","\u002Fv0\u002Fplayground\u002Fbuilding-tutorials","2.v0\u002F5.playground\u002F3.building-tutorials","i-lucide-flask-conical",{"title":453,"icon":454,"path":455,"stem":456,"children":457,"page":470},"Relays","i-lucide-server","\u002Fv0\u002Frelays","2.v0\u002F6.relays",[458,462,466],{"title":459,"path":460,"stem":461},"Relays Overview","\u002Fv0\u002Frelays\u002Foverview","2.v0\u002F6.relays\u002F1.overview",{"title":463,"path":464,"stem":465},"Deploy a Relay Node","\u002Fv0\u002Frelays\u002Frelay","2.v0\u002F6.relays\u002F2.relay",{"title":467,"path":468,"stem":469},"Configure Tor Hidden Service","\u002Fv0\u002Frelays\u002Ftor","2.v0\u002F6.relays\u002F3.tor",false,{"title":472,"icon":473,"path":474,"stem":475,"children":476,"page":470},"Privacy & Security","i-lucide-shield","\u002Fv0\u002Fprivacy","2.v0\u002F7.privacy",[477,481,485],{"title":478,"path":479,"stem":480},"How Privacy Works Here","\u002Fv0\u002Fprivacy\u002Fhow-it-works","2.v0\u002F7.privacy\u002F1.how-it-works",{"title":482,"path":483,"stem":484},"Device Security","\u002Fv0\u002Fprivacy\u002Fdevice","2.v0\u002F7.privacy\u002F2.device",{"title":486,"path":487,"stem":488},"Under Pressure","\u002Fv0\u002Fprivacy\u002Fcoercion","2.v0\u002F7.privacy\u002F3.coercion",{"id":490,"title":22,"body":491,"description":1060,"extension":1061,"links":1062,"meta":1063,"navigation":1064,"path":340,"seo":1065,"stem":341,"__hash__":1066},"docs\u002F2.v0\u002F2.abantu\u002F3.protocols.md",{"type":492,"value":493,"toc":1040},"minimark",[494,498,502,509,514,520,527,630,635,681,686,693,697,705,757,761,764,775,781,787,801,807,813,817,844,847,853,857,867,871,874,877,881,888,899,909,917,921,931,937,952,956,963,966,972,976,983,1003,1010,1013,1017,1028,1034],[495,496,22],"h1",{"id":497},"protocols",[499,500,501],"p",{},"A protocol is a written agreement that governs how the community operates. It could be a code of conduct, a decision-making procedure, an incident response playbook, or a reusable template.",[499,503,504],{},[505,506],"img",{"alt":507,"src":508},"The Protocols tab showing a draft protocol card, Neighbourhood Noise Agreement, tagged Agreement, Community, and Draft","\u002Fimages\u002Fabantu\u002Fprotocols-tab.png",[510,511,513],"h2",{"id":512},"types-and-scopes","Types and scopes",[499,515,516],{},[517,518,519],"strong",{},"Types:",[499,521,522,523,526],{},"Every type is ",[517,524,525],{},"structured",", not just prose — the composer shows a dedicated builder for each, and apps can consume the result:",[528,529,530,546],"table",{},[531,532,533],"thead",{},[534,535,536,540,543],"tr",{},[537,538,539],"th",{},"Type",[537,541,542],{},"Structured spec",[537,544,545],{},"What apps do with it",[547,548,549,561,572,583,597,608,619],"tbody",{},[534,550,551,555,558],{},[552,553,554],"td",{},"Agreement",[552,556,557],{},"Numbered clauses",[552,559,560],{},"Members sign the exact clause list (and version) when adopting",[534,562,563,566,569],{},[552,564,565],{},"Procedure",[552,567,568],{},"Ordered steps with responsible roles",[552,570,571],{},"Trackable step-by-step, like deliveries",[534,573,574,577,580],{},[552,575,576],{},"Scenario",[552,578,579],{},"If-then rules: trigger → condition → action",[552,581,582],{},"Event-driven playbooks (e.g. delivery disputed → notify Escrow role)",[534,584,585,588,591],{},[552,586,587],{},"Policy",[552,589,590],{},"Typed parameters with bounds",[552,592,593,596],{},[517,594,595],{},"Overrides app defaults"," — e.g. community-set credit earn rates apply in isoko for members who adopt",[534,598,599,602,605],{},[552,600,601],{},"Template",[552,603,604],{},"Form-field definitions",[552,606,607],{},"Apps render the form (project briefs, reports)",[534,609,610,613,616],{},[552,611,612],{},"Ritual",[552,614,615],{},"Procedure steps + recurrence",[552,617,618],{},"Scheduled recurring practice (every N days\u002Fweeks\u002Fmonths)",[534,620,621,624,627],{},[552,622,623],{},"Delivery",[552,625,626],{},"Ordered steps + named intermediaries",[552,628,629],{},"Executable trade tracking in isoko",[499,631,632],{},[517,633,634],{},"Scopes:",[528,636,637,647],{},[531,638,639],{},[534,640,641,644],{},[537,642,643],{},"Scope",[537,645,646],{},"Where it applies",[547,648,649,657,665,673],{},[534,650,651,654],{},[552,652,653],{},"Personal",[552,655,656],{},"Applies to an individual member",[534,658,659,662],{},[552,660,661],{},"Project",[552,663,664],{},"Governs a specific project",[534,666,667,670],{},[552,668,669],{},"Community",[552,671,672],{},"Governs the whole community",[534,674,675,678],{},[552,676,677],{},"Global",[552,679,680],{},"Published for cross-community adoption",[682,683,685],"h3",{"id":684},"building-on-system-protocols","Building on system protocols",[499,687,688,689,692],{},"Any protocol can declare that it ",[517,690,691],{},"builds on"," system protocols (Community Credits, Tracked Delivery, Reputation…) — the composer shows the live catalog from the isoko relay. When a member adopts such a protocol, the required system protocols are adopted automatically in the same step, so the matching app features unlock all at once.",[682,694,696],{"id":695},"protocols-that-execute","Protocols that execute",[499,698,699,700,704],{},"Definitions are only half the story — ratified protocols ",[701,702,703],"em",{},"run",":",[706,707,708,715,721,727,737,747],"ul",{},[709,710,711,714],"li",{},[517,712,713],{},"Agreements are signed, not just adopted."," Adopting one signs the exact clause list and version with your key; the relay verifies the signature against your DID before recording it. Scenario rules can require a valid signature before they act.",[709,716,717,720],{},[517,718,719],{},"Scenarios fire on real events."," When a matching event happens in a connected app (a delivery disputed in isoko, a proposal passed), the rules you adopted execute: notify a role holder, run a procedure, record an incident, or open a proposal.",[709,722,723,726],{},[517,724,725],{},"Procedures become tracked instances."," A running procedure binds each role to a real member and advances step by step with signed attestations — every participant sees the same state. Steps that declare a form (template) require it to be filled before the step completes.",[709,728,729,732,733,736],{},[517,730,731],{},"Proposals can be opened by protocols."," A scenario's open-proposal action queues a request; ",[701,734,735],{},"your own"," abantu turns it into a real proposal through the normal signed path — no server ever writes to your community's log.",[709,738,739,742,743,746],{},[517,740,741],{},"Rituals come due."," When a ritual's recurrence elapses, the Protocols tab shows a \"Ritual due\" banner with one-tap ",[517,744,745],{},"Mark done"," — itself a signed log event, so the community sees who performed it and when.",[709,748,749,752,753,756],{},[517,750,751],{},"Roles route."," Assigning a role also registers it with the marketplace relay, so \"notify the Mediator\" always reaches the ",[701,754,755],{},"current"," holder — role rotation automatically re-routes future incidents.",[510,758,760],{"id":759},"lifecycle","Lifecycle",[499,762,763],{},"A protocol moves through five states:",[765,766,771],"pre",{"className":767,"code":769,"language":770},[768],"language-text","Draft → Review → Voting → Ratified → Published\n","text",[772,773,769],"code",{"__ignoreMap":774},"",[499,776,777,780],{},[517,778,779],{},"Draft"," — The author writes the protocol. Others cannot see it yet. The author can edit freely.",[499,782,783,786],{},[517,784,785],{},"Review"," — The author submits it for community discussion. Members can read the text and leave comments. The author can still amend the text. This stage is for debate and refinement, not voting.",[499,788,789,792,793,796,797,800],{},[517,790,791],{},"Voting"," — The author submits again to open a ratification vote. A proposal is created automatically. Members vote ",[517,794,795],{},"Ratify"," or ",[517,798,799],{},"Reject",". The text is frozen.",[499,802,803,806],{},[517,804,805],{},"Ratified"," — The vote passed. The protocol is now officially adopted. Members can choose to individually adopt it.",[499,808,809,812],{},[517,810,811],{},"Published"," — The author broadcasts the protocol globally. Other communities can discover and adopt it.",[682,814,816],{"id":815},"writing-a-protocol","Writing a protocol",[818,819,820,826,833,836,839],"ol",{},[709,821,822,823,825],{},"Go to the ",[517,824,22],{}," tab.",[709,827,828,829,832],{},"Tap ",[517,830,831],{},"New protocol",".",[709,834,835],{},"Choose the type and scope.",[709,837,838],{},"Write the title and body text.",[709,840,828,841,832],{},[517,842,843],{},"Save as draft",[499,845,846],{},"The protocol is now yours to edit. When you are ready for others to read it, submit it for review.",[499,848,849],{},[505,850],{"alt":851,"src":852},"A draft protocol open, showing its text, version, author, and the Amend \u002F Submit for review actions","\u002Fimages\u002Fabantu\u002Fprotocol-detail.png",[682,854,856],{"id":855},"submitting-for-review","Submitting for review",[499,858,859,860,863,864,866],{},"Open the protocol. Tap ",[517,861,862],{},"Submit for review",". The status changes to ",[517,865,785],{},". The community is notified.",[682,868,870],{"id":869},"discussion","Discussion",[499,872,873],{},"During review, any member can open the protocol and leave a comment. Comments are threaded — reply directly to a specific comment to keep the discussion organised.",[499,875,876],{},"The author reads the comments and decides whether to amend the text. Amendments during review are visible to everyone and increment the version number.",[682,878,880],{"id":879},"submitting-for-a-vote","Submitting for a vote",[499,882,883,884,887],{},"When the discussion is complete and the text is final, tap ",[517,885,886],{},"Submit for vote",". This:",[706,889,890,893,896],{},[709,891,892],{},"Freezes the text (no further amendments).",[709,894,895],{},"Creates a ratification proposal.",[709,897,898],{},"Opens the Voting period.",[499,900,901,902,904,905,908],{},"Members vote from the ",[517,903,22],{}," tab or the ",[517,906,907],{},"Proposals"," tab. The vote closes automatically when quorum is reached.",[910,911,914],"callout",{"color":912,"icon":913},"sky","i-lucide-info",[499,915,916],{},"The quorum percentage is set in the community's governance protocol. If no governance protocol has been adopted, the default is 51 %.",[682,918,920],{"id":919},"ratification-and-publishing","Ratification and publishing",[499,922,923,924,926,927,930],{},"When the vote passes, the protocol status automatically becomes ",[517,925,805],{},". The author can then tap ",[517,928,929],{},"Publish globally"," to make it discoverable by other communities.",[499,932,933,934,936],{},"If the vote fails, the protocol returns to ",[517,935,791],{}," status and the author can amend and resubmit.",[499,938,939,940,943,944,947,948,951],{},"Publishing also pushes the protocol to the ",[517,941,942],{},"isoko marketplace relay"," (configurable in Settings). From that moment, isoko users see it in their ",[517,945,946],{},"Settings → Protocols"," list with a ",[701,949,950],{},"community"," badge and can adopt it there.",[682,953,955],{"id":954},"adopting-a-protocol","Adopting a protocol",[499,957,958,959,962],{},"Some protocols are personal commitments — a code of conduct, a privacy agreement. Any member can open a ratified or published protocol and tap ",[517,960,961],{},"Adopt",". This records your adoption in the event log. It is visible to all members.",[499,964,965],{},"Adoption is also synced to your identity on the isoko relay. If you sign in to isoko with the same DID, the features associated with the protocol unlock there automatically — no extra steps in isoko.",[499,967,968,969,832],{},"Adoption is also required to join certain projects. See ",[970,971,34],"a",{"href":343},[510,973,975],{"id":974},"delivery-protocols","Delivery protocols",[499,977,978,979,982],{},"A ",[517,980,981],{},"delivery"," protocol turns a community agreement into something a marketplace can execute. Instead of prose alone, it carries a structured plan:",[706,984,985,991],{},[709,986,987,990],{},[517,988,989],{},"Steps",", in order — each with a title, a responsible actor (buyer, seller, or a named intermediary), an optional deadline in hours, an optional location, required evidence (payment proof, photo, signature, location check-in), and reputation points awarded on completion.",[709,992,993,996,997,796,1000,832],{},[517,994,995],{},"Intermediaries"," — trusted third parties identified by their DID and a role name, such as ",[701,998,999],{},"Escrow Agent",[701,1001,1002],{},"Courier",[499,1004,1005,1006,1009],{},"When creating or amending a delivery protocol, the ",[517,1007,1008],{},"step builder"," appears below the text editor. Add steps, assign actors, set evidence requirements.",[499,1011,1012],{},"Delivery protocols go through the same lifecycle as any other: review, debate, ratification vote, publish.",[682,1014,1016],{"id":1015},"using-a-delivery-protocol-in-isoko","Using a delivery protocol in isoko",[499,1018,1019,1020,1023,1024,1027],{},"Once published, open the protocol and copy its ",[517,1021,1022],{},"isoko link"," — a string starting with ",[772,1025,1026],{},"isoko-proto:",". Any seller in the community pastes this link when creating a listing in isoko. Every trade on that listing then follows the community's procedure: same steps, same evidence, same intermediaries, tracked step-by-step in isoko's Deliveries tab.",[910,1029,1031],{"color":912,"icon":1030},"i-lucide-workflow",[499,1032,1033],{},"This is governance becoming infrastructure: the community debates and ratifies how trades should work once, and the marketplace enforces the shape of every trade thereafter.",[1035,1036,1038],"u-button",{"to":343,"trailing-icon":1037},"i-lucide-arrow-right",[499,1039,34],{},{"title":774,"searchDepth":1041,"depth":1042,"links":1043},1,2,[1044,1049,1057],{"id":512,"depth":1042,"text":513,"children":1045},[1046,1048],{"id":684,"depth":1047,"text":685},3,{"id":695,"depth":1047,"text":696},{"id":759,"depth":1042,"text":760,"children":1050},[1051,1052,1053,1054,1055,1056],{"id":815,"depth":1047,"text":816},{"id":855,"depth":1047,"text":856},{"id":869,"depth":1047,"text":870},{"id":879,"depth":1047,"text":880},{"id":919,"depth":1047,"text":920},{"id":954,"depth":1047,"text":955},{"id":974,"depth":1042,"text":975,"children":1058},[1059],{"id":1015,"depth":1047,"text":1016},"How a community writes, debates, ratifies, and adopts a protocol — and how ratified protocols actually execute, not just describe.","md",null,{},true,{"title":22,"description":1060},"CeQEgEB8x0nyU31c8zw-tbeMUZ4xYDQpTosnnGEJXmY",[1068,1070],{"title":12,"path":337,"stem":338,"description":1069,"children":-1},"Creating and joining a community, and what the five community tabs are for.",{"title":34,"path":343,"stem":344,"description":1071,"children":-1},"Shared workspaces inside a community — tasks, goals, and lead rotation.",1791986795926]