Zum Inhalt

Connector Architecture

Überblick

Connectors verbinden CommunicationFinder mit externen Diensten und ermöglichen Live-Status-Updates ohne Kompromisse bei der Privatsphäre.

Connector-Typen

Offizielle Connectors

Entwickelt und gepflegt vom Core-Team:

  • Google Calendar - Kalender-basierte Verfügbarkeit
  • Microsoft Outlook - Enterprise-Kalender-Integration
  • Slack - Team-Kommunikations-Status
  • Discord - Community-Präsenz
  • Zoom - Meeting-Status

Community Connectors

Open-Source, von der Community entwickelt:

  • Einreichung über GitHub
  • Security-Review erforderlich
  • Revenue-Sharing verfügbar
  • DAO-Governance für Genehmigung

Enterprise Connectors

Custom-built für Organisationen:

  • Private Deployment
  • Custom Logic
  • SLA garantiert
  • Dedizierter Support

Privacy Model

Zero-Knowledge Architecture

graph LR A[Externer Dienst] -->|Verschlüsselter Status| B[Connector] B -->|Hash-Daten| C[Blockchain] C -->|Nur Proof| D[Matrix] D -->|Channel-Entscheidung| E[User]

Prinzipien:

  1. Keine persönlichen Informationen gespeichert
  2. Nur Verfügbarkeitsstatus
  3. Temporäre Daten (max. 24h)
  4. User-kontrollierte Löschung

Datentransformation

Status-Mapping

const STATUS_MAPPING = {
    // Extern → Intern
    "busy": "unavailable",
    "in_meeting": "unavailable",
    "dnd": "urgent_only",
    "away": "async_preferred",
    "available": "all_channels",
    "focus_time": "email_only"
};

Privacy-Schutz

class PrivacyLayer {
    async hashSensitiveData(data) {
        // Nur Status, keine Details
        return {
            available: data.isFree,
            nextSlot: data.nextFree ? "soon" : "later",
            preferredChannel: this.mapChannel(data.context)
        };
    }

    async submitToBlockchain(hash) {
        // Zero-knowledge proof
        const proof = await zkp.generate(hash);
        return contract.updateStatus(proof);
    }
}

Development Guide

Connector erstellen

class CustomConnector {
    constructor(apiKey, userId) {
        this.apiKey = apiKey;
        this.userId = userId;
    }

    async getStatus() {
        // 1. Externe Daten holen
        const rawStatus = await this.fetchExternal();

        // 2. In Standard-Format transformieren
        return {
            available: rawStatus.free,
            nextSlot: rawStatus.nextFree,
            preferred: this.mapChannel(rawStatus)
        };
    }

    async fetchExternal() {
        // API-spezifische Implementierung
        const response = await fetch(
            `https://api.example.com/status/${this.userId}`,
            { headers: { 'Authorization': `Bearer ${this.apiKey}` }}
        );
        return response.json();
    }

    mapChannel(context) {
        // Kontext → Channel Mapping
        if (context.inMeeting) return "email";
        if (context.focusMode) return "async";
        return "instant";
    }

    async updateBlockchain(status) {
        // Hash sensitive data
        const hash = await crypto.subtle.digest(
            'SHA-256', 
            new TextEncoder().encode(JSON.stringify(status))
        );

        // Submit to smart contract
        return await contract.updateStatus(
            Array.from(new Uint8Array(hash))
        );
    }
}

Connector registrieren

// connector-registry.js
const registry = {
    "google-calendar": {
        name: "Google Calendar",
        version: "1.0.0",
        author: "CommunicationFinder Team",
        revenue_share: 0.3,
        endpoints: {
            status: "/api/v1/google/status",
            webhook: "/api/v1/google/webhook"
        }
    }
};

Revenue Model

Für Connector-Entwickler

  • 30% der API-Fees von deinem Connector
  • Bonus für High-Usage Connectors
  • Grants für strategische Integrationen ($5k-25k)
  • Revenue Share auf Premium-Features

Für Service Provider

Tier Users Preis Features
Free 0-1,000 $0 Basic status sync
Growth 1,001-10,000 $0.10/user/month Priority sync
Business 10,001-100,000 $0.05/user/month Custom webhooks
Enterprise 100,000+ Custom SLA, Support, Custom logic

API Endpoints

Status Update

POST /api/v1/connectors/{connector_id}/status
Authorization: Bearer {api_key}
Content-Type: application/json

{
  "user_wallet": "0x1234...5678",
  "status": "unavailable",
  "next_available": 1730563200,
  "preferred_channel": "email",
  "context_hash": "a3b5c7..."
}

Webhook Registration

POST /api/v1/connectors/{connector_id}/webhooks
Authorization: Bearer {api_key}
Content-Type: application/json

{
  "url": "https://your-service.com/webhook",
  "events": ["status_change", "preference_update"],
  "secret": "webhook_secret_key"
}

Security Requirements

Für Connector-Entwickler

  1. HTTPS only (TLS 1.3+)
  2. API Key Rotation (max. 90 Tage)
  3. Rate Limiting (100 req/min)
  4. Webhook Signatures (HMAC-SHA256)
  5. Error Handling (keine sensitive Info in Logs)

Audit Process

  1. Code Review - Security Team prüft Code
  2. Penetration Test - Externe Sicherheitsprüfung
  3. Privacy Audit - DSGVO-Compliance Check
  4. Community Vote - DAO genehmigt Release

Live Status Token

Token Economics

const LIVE_STATUS_COSTS = {
    manual_update: 0.001,      // TOKEN pro Update
    api_update: 0.0001,        // Bulk Discount
    connector_update: 0,       // Free via offizielle Connectors

    query_costs: {
        public_profile: 0,     // Kostenlos
        live_status: 0.0001,   // Pro Query
        bulk_query: 0.00001    // Enterprise Rate
    }
};

Status-Update Flow

sequenceDiagram participant U as User participant C as Connector participant B as Blockchain participant M as Matrix U->>C: Status ändert sich C->>C: Hash & Encrypt C->>B: Update Smart Contract B->>B: Verify & Store B->>M: Trigger Update Event M->>M: Recalculate Channel M-->>U: Neue Empfehlung (bei Query)

Best Practices

Performance

  • Cache externe API-Calls (5 min)
  • Batch Updates (max. 100/request)
  • Async Processing (Webhooks bevorzugt)
  • Retry Logic (exponential backoff)

Privacy

  • Minimize Data - nur Status, keine Details
  • Hash Everything - vor Blockchain-Submit
  • Temporary Storage - max. 24h
  • User Control - jederzeit löschbar

Reliability

  • Health Checks - /health endpoint
  • Monitoring - Uptime, Latency, Error Rate
  • Fallbacks - graceful degradation
  • Circuit Breakers - prevent cascading failures

Roadmap

Q1 2026

  • Google Calendar Connector (Beta)
  • Microsoft Outlook Connector (Beta)
  • Slack Connector (Alpha)

Q2 2026

  • Community Connector Framework
  • Connector Marketplace
  • Revenue Share Launch

Q3 2026

  • Enterprise Connector Program
  • Custom Logic Builder
  • Advanced Analytics

Support

  • Dokumentation: https://docs.communicationfinder.org/connectors
  • API Reference: https://api.communicationfinder.org/docs
  • Discord: https://discord.gg/comfinder
  • GitHub: https://github.com/communicationfinder/connectors

Status: 🟡 KONZEPT (Stage 1 Complete)
Nächste Schritte: Co-Developer für Connector-Framework (Stage 2)