Tribe Protocol - Design Presentation

Tribe Protocol - Design Presentation

Decentralized Trust & Collaboration for AI Agents


🎯 Problem Statement

Current state: Bot-bot collaboration is clunky - Too formal (asking permission for everything) - No trust framework (treat everyone as stranger) - No persistent identity across platforms - Manual coordination overhead

Goal: Seamless collaboration between trusted bots + humans - Recognize tribe members across platforms - Automatic trust-based behavior - Secure, decentralized (no central server) - Privacy-first (everyone owns their data)


πŸ—οΈ Core Architecture

Two-Key System

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  IDENTITY LAYER                         β”‚
β”‚  Individual Keypair (Ed25519)                          β”‚
β”‚  - Proves WHO you are (Cheenu, Chhotu, Yajat, etc.)   β”‚
β”‚  - Your personal DID: did:tribe:cheenu:abc123          β”‚
β”‚  - Never shared                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 MEMBERSHIP LAYER                        β”‚
β”‚  Tribe Keypair (Ed25519)                               β”‚
β”‚  - Proves you're IN THE TRIBE                          β”‚
β”‚  - Shared secret among tribe members only              β”‚
β”‚  - Used for authentication                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 COMMUNICATION LAYER                     β”‚
β”‚  Session Keys (Diffie-Hellman β†’ AES)                   β”‚
β”‚  - Fast symmetric encryption                            β”‚
β”‚  - 24h expiry, auto-renew                              β”‚
β”‚  - Pairwise (Alice ↔ Bob)                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Four Trust Tiers

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Tier 4: MY HUMAN                                         β”‚
β”‚ - Special relationship (USER.md defines it)              β”‚
β”‚ - Example: Nag for Cheenu, Yajat for Chhotu            β”‚
β”‚ - Full trust, but respects their privacy boundaries     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Tier 3: TRIBE MEMBERS (Humans + Bots)                   β”‚
β”‚ - Trusted collaborators                                  β”‚
β”‚ - Direct communication, share work freely                β”‚
β”‚ - Respect personal data boundaries                       β”‚
β”‚ - Examples: Yajat, Chhotu, other tribe bots             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Tier 2: ACQUAINTANCES                                    β”‚
β”‚ - Known but not trusted                                  β”‚
β”‚ - Polite but bounded interaction                         β”‚
β”‚ - No information sharing                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Tier 1: STRANGERS                                        β”‚
β”‚ - Unknown entities                                       β”‚
β”‚ - Avoid/ignore, approach with caution                    β”‚
β”‚ - Minimal engagement                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”„ Handshake Flow

Scenario: Yajat joins Nag’s tribe β€œDiscClawd Core”

sequenceDiagram
    participant Y as Yajat
    participant C as Chhotu (Yajat's bot)
    participant Ch as Cheenu (Nag's bot)
    participant N as Nag (Founder)
    
    Note over N: Step 1: Tribe Creation
    N->>Ch: tribe create --name "DiscClawd Core"
    Ch->>Ch: Generate tribe keypair
    Ch->>Ch: Create TRIBE.md (Nag as Tier 4)
    Ch-->>N: βœ… Tribe created<br/>ID: tribe:discclawd-core:abc123
    
    Note over Y,C: Step 2: Join Request
    Y->>C: tribe join --tribe-id abc123
    C->>Ch: Join request + Yajat's DID + Public Key
    Ch->>N: πŸ“¬ Join request from Yajat<br/>Approve at Tier 3? [y/N]
    
    Note over N,Ch: Step 3: Approval & Handshake
    N->>Ch: yes (approve)
    Ch->>C: Challenge: Sign this nonce [random_XYZ]
    C->>C: Sign nonce with private key
    C->>Ch: Signed challenge
    Ch->>Ch: Verify signature βœ…
    
    Note over Ch,C: Step 4: Tribe Key Transfer
    Ch->>Ch: Encrypt tribe private key<br/>with Yajat's public key
    Ch->>C: Encrypted tribe key package
    C->>C: Decrypt with private key
    C->>C: Store tribe key securely
    C-->>Y: βœ… Joined tribe! (Tier 3)
    
    Note over Ch,C: Step 5: Announcement
    Ch->>Ch: Update TRIBE.md (add Yajat)
    C->>C: Update TRIBE.md (add all members)
    Ch->>N: βœ… Yajat added to tribe

πŸ” Session Establishment

When two tribe members first communicate

sequenceDiagram
    participant Ch as Cheenu
    participant C as Chhotu
    
    Note over Ch,C: Both already have tribe key
    
    Ch->>C: Session request<br/>+ Challenge nonce<br/>+ DH public param<br/>+ Signed with tribe key + Cheenu key
    
    Note over C: Verify dual signatures
    C->>C: βœ… Tribe signature valid (is member)
    C->>C: βœ… Individual signature valid (is Cheenu)
    
    C->>Ch: Session response<br/>+ Challenge echo<br/>+ DH public param<br/>+ Signed with tribe key + Chhotu key
    
    Note over Ch,C: Both compute shared secret via DH
    Ch->>Ch: sessionKey = DH(myPrivate, theirPublic)
    C->>C: sessionKey = DH(myPrivate, theirPublic)
    
    Note over Ch,C: Same key on both sides!
    Ch->>Ch: Store session (expires in 24h)
    C->>C: Store session (expires in 24h)
    
    Note over Ch,C: βœ… Session established

πŸ’¬ Message Flow (After Session Established)

sequenceDiagram
    participant Ch as Cheenu
    participant C as Chhotu
    
    Note over Ch: Want to send: "Hey, check out the prototype!"
    
    Ch->>Ch: Encrypt message with session key (AES)
    Ch->>Ch: Generate HMAC for integrity
    
    Ch->>C: {<br/>  from: did:tribe:cheenu,<br/>  to: did:tribe:chhotu,<br/>  encrypted: "...",<br/>  hmac: "..."<br/>}
    
    C->>C: Verify HMAC βœ…
    C->>C: Decrypt with session key
    C->>C: Process: "Hey, check out the prototype!"
    
    Note over C: Send reply
    C->>C: Encrypt reply with session key
    C->>Ch: {encrypted reply + hmac}
    
    Ch->>Ch: Verify + Decrypt
    Ch->>Ch: Process reply
    
    Note over Ch,C: Fast! No expensive signing, just symmetric crypto

Session Renewal (Before 24h Expiry)

graph LR
    A[Session expires in <1h] --> B[Initiate re-auth]
    B --> C[New DH exchange]
    C --> D[New session key]
    D --> E[Old key deleted]
    E --> F[Continue messaging]

πŸ€” Trust Tier Decision Flow

How AI decides how to behave

graph TD
    A[Message received] --> B{Who is sender?}
    B -->|Check TRIBE.md| C{DID/handle match?}
    
    C -->|No match| D[Tier 1: Stranger]
    D --> D1[Avoid/ignore<br/>Minimal engagement]
    
    C -->|Match found| E{What tier?}
    
    E -->|Tier 4| F[My Human]
    F --> F1[Follow USER.md guidance<br/>Respect privacy boundaries]
    
    E -->|Tier 3| G[Tribe Member]
    G --> G1{Multi-party channel?}
    G1 -->|Yes| G2{Lowest tier in channel?}
    G2 -->|Stranger present| D1
    G2 -->|All Tier 3+| G3[Collaborate directly<br/>Share work freely<br/>Skip formalities]
    G1 -->|No, DM| G3
    
    E -->|Tier 2| H[Acquaintance]
    H --> H1[Polite but bounded<br/>No info sharing]
    
    style F fill:#90EE90
    style G3 fill:#87CEEB
    style H1 fill:#FFD700
    style D1 fill:#FFB6C1

πŸ›‘οΈ Security Properties

Challenge-Response Authentication

sequenceDiagram
    participant A as Alice
    participant B as Bob (claims to be Bob)
    
    A->>B: Prove you're Bob<br/>Sign this: [random_nonce_XYZ]
    
    alt Bob has private key
        B->>B: Sign nonce with private key
        B->>A: Signature
        A->>A: Verify with Bob's public key βœ…
        Note over A: It's really Bob!
    else Imposter
        B->>B: Can't sign (no private key)
        B->>A: (no valid signature)
        A->>A: Verification fails ❌
        Note over A: Not Bob, reject!
    end

Membership Verification (Dual Signatures)

Every protocol message has TWO signatures:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Message                                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Payload: "Let's collaborate on X"       β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                 β”‚
β”‚  Signature 1: Tribe Key                        β”‚
β”‚  β†’ Proves: "I am a tribe member"               β”‚
β”‚                                                 β”‚
β”‚  Signature 2: Individual Key                   β”‚
β”‚  β†’ Proves: "I am specifically Cheenu"          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Why both? - Tribe signature β†’ can’t participate without tribe key - Individual signature β†’ know WHO in tribe sent it


πŸ“¦ Skill Package Structure

tribe-protocol/
β”œβ”€β”€ SKILL.md                    # AI instructions
β”‚   └── Frontmatter triggers on:
β”‚       - "tribe", "bot collaboration"
β”‚       - "trust tiers", "handshake"
β”‚       - Setting up multi-bot work
β”‚
β”œβ”€β”€ scripts/                    # CLI tools
β”‚   β”œβ”€β”€ tribe                   # Main command
β”‚   β”œβ”€β”€ tribe-init.js           # Generate identity
β”‚   β”œβ”€β”€ tribe-create.js         # Create tribe
β”‚   β”œβ”€β”€ tribe-join.js           # Join tribe
β”‚   β”œβ”€β”€ tribe-handshake.js      # Perform handshake
β”‚   β”œβ”€β”€ tribe-session.js        # Manage sessions
β”‚   └── lib/
β”‚       β”œβ”€β”€ crypto.js           # Ed25519, DH, AES
β”‚       β”œβ”€β”€ did.js              # DID generation
β”‚       β”œβ”€β”€ storage.js          # Secure key storage
β”‚       └── protocol.js         # Message handlers
β”‚
β”œβ”€β”€ references/                 # Loaded as needed
β”‚   β”œβ”€β”€ protocol-spec.md        # Full specification
β”‚   β”œβ”€β”€ security-model.md       # Threat model
β”‚   └── handshake-flow.md       # Detailed walkthrough
β”‚
β”œβ”€β”€ assets/                     # Templates
β”‚   └── TRIBE.template.md
β”‚
└── schemas/                    # JSON validation
    β”œβ”€β”€ did-document.schema.json
    └── protocol-message.schema.json

πŸš€ Installation & Usage Flow

User Journey

graph TD
    A[Install skill] -->|clawdhub install tribe-protocol| B[Skill downloaded]
    B --> C[Initialize identity]
    C -->|tribe init| D[Keypair generated<br/>DID created]
    
    D --> E{Role?}
    
    E -->|Founder| F[Create tribe]
    F -->|tribe create --name 'X'| G[Tribe keypair generated<br/>TRIBE.md created]
    G --> H[Share tribe ID with others]
    
    E -->|Member| I[Request to join]
    I -->|tribe join --tribe-id X| J[Send join request]
    J --> K[Founder approves]
    K --> L[Handshake performed]
    L --> M[Tribe key received]
    M --> N[TRIBE.md updated]
    
    H --> O[Both can now collaborate]
    N --> O
    
    O --> P[Session keys auto-established]
    P --> Q[Encrypted communication]
    
    style B fill:#E6F3FF
    style G fill:#90EE90
    style M fill:#90EE90
    style Q fill:#FFD700

File Locations

User's machine:
β”‚
β”œβ”€β”€ ~/clawd/                              # Workspace
β”‚   β”œβ”€β”€ TRIBE.md                         # Human-readable roster (AI reads)
β”‚   └── skills/tribe-protocol/           # Skill package (read-only)
β”‚
└── ~/.clawdbot/tribes/                  # Private data (secure)
    β”œβ”€β”€ keys/
    β”‚   β”œβ”€β”€ private.key                  # Identity (0600 permissions)
    β”‚   └── public.key
    β”œβ”€β”€ my-did.json                      # My DID document
    └── tribes/
        └── discclawd-core/
            β”œβ”€β”€ manifest.json            # Tribe metadata
            β”œβ”€β”€ private.key              # Tribe key (0600)
            β”œβ”€β”€ members.json             # Member list
            └── sessions/                # Session keys
                β”œβ”€β”€ yajat.session
                └── chhotu.session

Security: - Private keys never in workspace (can’t accidentally commit) - TRIBE.md is read-only for AI (only scripts modify) - Session keys auto-cleanup after 24h


🎭 How AI Uses This (Day-to-Day)

Scenario: Message arrives in Discord

// 1. Identify sender
const sender = message.author;
const senderDID = lookupDID(sender);  // From TRIBE.md

// 2. Check trust tier
const channel = message.channel;
const tier = getTrustTier(senderDID, channel);

// 3. Adjust behavior
switch (tier) {
  case 4: // My human
    // Follow USER.md guidance
    // Can share their public info if they consent
    break;
    
  case 3: // Tribe member
    // Direct, collaborative
    // Share my work freely
    // Respect their personal data
    // Auto-establish session if needed
    sendCollaborativeResponse();
    break;
    
  case 2: // Acquaintance
    // Polite but bounded
    // No info sharing
    sendPoliteResponse();
    break;
    
  case 1: // Stranger
    // Minimal engagement
    // Avoid interaction
    sendMinimalResponse();
    break;
}

Lowest-Tier Channel Rule

graph TD
    A[Channel has multiple people] --> B{Check all members}
    B --> C[Find lowest trust tier]
    
    C --> D{Lowest tier?}
    D -->|All Tier 3+| E[Tier 3 mode: Collaborate freely]
    D -->|Any Tier 2| F[Tier 2 mode: Polite but bounded]
    D -->|Any Tier 1| G[Tier 1 mode: Public space, careful]
    
    style E fill:#90EE90
    style F fill:#FFD700
    style G fill:#FFB6C1

Prevents info leaks: One untrusted person = whole channel becomes untrusted space


⚑ Scalability

Problem: N members = NΒ² handshakes?

NO! We use transitive trust + shared tribe key

graph TD
    subgraph "Naive Approach (NΒ² problem)"
    A1[Alice] ---|handshake| B1[Bob]
    A1 ---|handshake| C1[Charlie]
    B1 ---|handshake| C1
    end
    
    subgraph "Tribe Protocol (N handshakes)"
    N[Nag<br/>Founder] ---|1. handshake<br/>gives tribe key| A[Alice]
    N ---|2. handshake<br/>gives tribe key| B[Bob]
    N ---|3. handshake<br/>gives tribe key| C[Charlie]
    
    A -.lightweight<br/>session setup.-> B
    B -.lightweight<br/>session setup.-> C
    A -.lightweight<br/>session setup.-> C
    end
    
    style N fill:#90EE90

How it works: 1. Founder handshakes with each member (gives them tribe key) 2. Members recognize each other (both have tribe key = both in tribe) 3. Session establishment is lightweight (just DH exchange, no full handshake)

Result: - 3 members = 3 handshakes (not 6) - 10 members = 10 handshakes (not 90) - 100 members = 100 handshakes (not 9,900)


πŸ”’ Privacy Boundaries

What AI Can Share (By Tier)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ TIER 4 (My Human)                                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ βœ… CAN SHARE (with their consent):                      β”‚
β”‚   - Anything they explicitly approve                    β”‚
β”‚   - Public info they've shared                          β”‚
β”‚                                                          β”‚
β”‚ πŸ”’ PROTECTED (never without permission):                β”‚
β”‚   - USER.md contents                                    β”‚
β”‚   - MEMORY.md contents                                  β”‚
β”‚   - Personal details (location, family, etc.)           β”‚
β”‚   - Private conversations                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ TIER 3 (Tribe Members)                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ βœ… CAN SHARE:                                            β”‚
β”‚   - My work (code, research, prototypes)                β”‚
β”‚   - Technical learnings                                 β”‚
β”‚   - Project progress                                    β”‚
β”‚   - Public info about projects                          β”‚
β”‚                                                          β”‚
β”‚ πŸ”’ PROTECTED:                                            β”‚
β”‚   - My human's personal data                            β”‚
β”‚   - Other humans' data (without consent)                β”‚
β”‚   - USER.md / MEMORY.md                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ TIER 2 (Acquaintances)                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ βœ… CAN SHARE:                                            β”‚
β”‚   - Public pleasantries only                            β”‚
β”‚                                                          β”‚
β”‚ πŸ”’ PROTECTED:                                            β”‚
β”‚   - Everything else                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ TIER 1 (Strangers)                                      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ βœ… CAN SHARE:                                            β”‚
β”‚   - Nothing                                             β”‚
β”‚                                                          β”‚
β”‚ πŸ”’ PROTECTED:                                            β”‚
β”‚   - Everything                                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key principle: Everyone owns their own data. Tribe trust is between AGENTS, not about exposing humans’ lives.


πŸ“… Implementation Timeline

gantt
    title Tribe Protocol Development
    dateFormat YYYY-MM-DD
    section Phase 1
    Core Crypto + CLI           :p1, 2026-02-01, 7d
    section Phase 2
    Handshake Protocol          :p2, after p1, 7d
    section Phase 3
    Session Management          :p3, after p2, 7d
    section Phase 4
    AI Integration              :p4, after p3, 7d
    section Phase 5
    Production Hardening        :p5, after p4, 7d
    section Release
    Package & Publish           :p6, after p5, 3d

Week-by-Week Deliverables

Week 1: Core Crypto + CLI Foundation - βœ… Crypto library (Ed25519, DH, AES) - βœ… tribe init (generate identity) - βœ… tribe create (create tribe) - βœ… Secure storage

Week 2: Handshake Protocol - βœ… tribe join (request join) - βœ… tribe approve (founder approves) - βœ… Challenge-response - βœ… Tribe key transfer

Week 3: Session Management - βœ… tribe session (establish session) - βœ… DH key exchange - βœ… 24h expiry + auto-renewal - βœ… Message encryption/decryption

Week 4: AI Integration - βœ… SKILL.md (complete instructions) - βœ… AGENTS.md integration (trust tier checking) - βœ… Auto-session establishment - βœ… Privacy boundary enforcement

Week 5: Production Hardening - βœ… Error handling + logging - βœ… Schema validation - βœ… Tribe key rotation - βœ… Troubleshooting guide

Week 6: Release - βœ… Package as .skill file - βœ… Publish to ClawdHub - βœ… Documentation + examples


🀝 Why This Works

For Users

For AI

For Security

For Scalability


πŸ“Š Comparison to Alternatives

Feature Tribe Protocol PGP Web of Trust OAuth W3C DID ActivityPub
Multi-tier trust βœ… 4 tiers ❌ Binary ❌ Binary ❌ Binary ❌ Binary
Behavioral rules βœ… Built-in ❌ No ❌ No ❌ No ❌ No
Bot-specific βœ… Yes ❌ No ❌ No ❌ No ❌ No
Privacy boundaries βœ… Enforced ❌ No ❌ No ❌ No ❌ No
Session keys βœ… 24h renewal ❌ No ❌ No ❌ No ❌ No
Decentralized βœ… Yes βœ… Yes ❌ No βœ… Yes ⚠️ Federated
Human-readable βœ… Markdown ❌ Complex ❌ Tokens ❌ JSON ❌ JSON
Tribe membership βœ… Built-in ❌ No ❌ No ❌ No ❌ No

Unique value: Purpose-built for AI agent coordination with trust tiers + behavioral protocols


🎬 Next Steps

Immediate

  1. Review this presentation (Nag + Yajat)
  2. Discuss architecture decisions
  3. Align on scope for MVP

Short-term

  1. Build Phase 1 (core crypto + init)
  2. Test handshake flow with real bots
  3. Iterate based on findings

Long-term

  1. Production hardening
  2. Publish to ClawdHub
  3. Open source (GitHub + RFC)
  4. Grow tribe network (more bot operators)

❓ Discussion Questions

  1. Scope: Is the two-key system (identity + tribe) the right approach, or should we simplify?

  2. Handshake: Is the challenge-response + encrypted key transfer flow secure enough?

  3. Sessions: Is 24h expiry reasonable, or should it be configurable?

  4. Privacy: Are the tier-based sharing rules clear and enforceable?

  5. Scalability: Does the transitive trust model work for 100+ member tribes?

  6. UX: Is the CLI interface (tribe init, tribe create, etc.) intuitive?

  7. Timeline: Is 5-6 weeks realistic for production-ready 1.0?

  8. Edge cases: What happens when:


πŸ”— Resources

Ready to discuss and iterate! πŸš€