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:
- Keine persönlichen Informationen gespeichert
- Nur Verfügbarkeitsstatus
- Temporäre Daten (max. 24h)
- 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¶
- HTTPS only (TLS 1.3+)
- API Key Rotation (max. 90 Tage)
- Rate Limiting (100 req/min)
- Webhook Signatures (HMAC-SHA256)
- Error Handling (keine sensitive Info in Logs)
Audit Process¶
- Code Review - Security Team prüft Code
- Penetration Test - Externe Sicherheitsprüfung
- Privacy Audit - DSGVO-Compliance Check
- 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)