❓ WebRTC2 FAQ
Frequently asked questions about WebRTC2.
�� General Questions
What makes WebRTC2 different from other communication platforms?
WebRTC2 implements true peer-to-peer architecture where your data never touches our servers. Unlike platforms like Telegram, WhatsApp, or Discord that process all data through their servers, WebRTC2 servers only help establish connections between your devices.
Key Differences:
- Data Flow: Direct device-to-device (not through servers)
- File Sharing: Unlimited size via P2P DataChannels
- Privacy: Zero-knowledge server architecture
- Cost: No per-user licensing fees
How does WebRTC2 compare to Signal in terms of privacy?
While Signal is excellent for privacy, WebRTC2 goes further:
Aspect | Signal | WebRTC2 |
---|---|---|
Messages | Encrypted, but metadata visible to servers | Direct P2P, minimal metadata |
Files | Through Signal servers (100MB limit) | Direct P2P (unlimited size) |
Calls | Server-assisted connection | Direct P2P connection |
Self-Hosting | Complex setup | Simple deployment |
Is WebRTC2 suitable for enterprise use?
Yes! WebRTC2 is specifically designed for enterprise requirements:
- HIPAA/GDPR Compliance: Privacy by design architecture
- Cost Efficiency: No per-user licensing fees
- Data Sovereignty: Complete control over your data
- Self-Hosting: Deploy on your own infrastructure
- Enterprise Features: Management tools and audit capabilities
🔧 Technical Questions
What are the system requirements?
Minimum Requirements:
- Browser: Chrome 88+, Firefox 85+, Safari 14+, Edge 88+
- Mobile: iOS 14+, Android 8+
- Desktop: Windows 10+, macOS 10.15+, Ubuntu 18+
- Network: Internet connection (bandwidth adaptive)
Recommended:
- RAM: 4GB+ for desktop, 2GB+ for mobile
- CPU: Dual-core 2GHz+ (quad-core for video calls)
- Network: Broadband connection for HD video
How many participants can join a single call?
WebRTC2 uses adaptive topology based on participant count:
- 2-10 participants: Full mesh P2P (optimal privacy and quality)
- 11-50 participants: Hybrid SFU topology (balanced performance)
- 50+ participants: Multi-tier architecture (enterprise scale)
The exact limit depends on network conditions and device capabilities.
What happens if someone has a slow internet connection?
WebRTC2 includes adaptive quality management:
- Automatic Quality Adjustment: Reduces resolution/bitrate automatically
- Network Optimization: Prioritizes audio over video when needed
- Fallback Mechanisms: TURN server relay for restrictive networks
- Progress Resumption: File transfers can pause/resume
How does file transfer work without servers?
WebRTC2 uses WebRTC DataChannels for direct device-to-device transfer:
// File transfer flow
Device A → Direct P2P Connection → Device B
Benefits:
- Unlimited Size: No server storage limitations
- Faster Speed: Direct connection typically 4-5x faster
- Complete Privacy: File never touches any server
- Cost Efficient: No server storage or bandwidth costs
What about NAT traversal and firewalls?
WebRTC2 handles complex networking automatically:
- ICE Negotiation: Finds the best connection path
- STUN Servers: Help discover public IP addresses
- TURN Servers: Relay traffic when direct connection impossible
- UPnP/NAT-PMP: Automatic port forwarding when available
Success Rates:
- Direct Connection: ~80% of cases
- STUN Assisted: ~15% of cases
- TURN Relay: ~5% of cases (restrictive networks)
🚀 Getting Started
How difficult is it to integrate WebRTC2?
WebRTC2 is designed for developer productivity:
Simple Integration:
// Basic setup in under 10 lines
import { WebRTC2Client } from '@webrtc2/client';
const client = new WebRTC2Client({
signalingUrl: 'wss://signal.yourcompany.com'
});
await client.connect();
const channel = await client.createChannel(['peer1', 'peer2']);
await channel.sendMessage('Hello, private world!');
Comprehensive SDK:
- TypeScript Support: Full type safety
- React Components: Pre-built UI components
- Documentation: Extensive guides and examples
- Testing Tools: Built-in testing utilities
What programming languages are supported?
Primary Support:
- TypeScript/JavaScript: Full featured SDK
- React: Native components and hooks
- React Native: Mobile-optimized components
Planned Support:
- Swift: Native iOS SDK
- Kotlin: Native Android SDK
- Python: Server-side integration
- Go: High-performance backends
Can I customize the UI?
Absolutely! WebRTC2 provides multiple levels of customization:
Pre-built Components:
import { VideoCall, FileTransfer, ChatWindow } from '@webrtc2/ui';
// Customizable React components
<VideoCall
theme="dark"
layout="grid"
showParticipants={true}
customControls={myControls}
/>
Custom Implementation:
- Headless SDK: Build completely custom UI
- CSS Customization: Theme pre-built components
- Component Override: Replace individual components
- Brand Integration: Match your company branding
🔐 Security Questions
How secure is WebRTC2?
WebRTC2 implements multiple layers of security:
Cryptographic Security:
- Ed25519: Digital signatures for identity verification
- AES-256-GCM: Symmetric encryption for data
- Perfect Forward Secrecy: Past communications remain secure
- Key Rotation: Fresh keys for each session
Architectural Security:
- Zero-Knowledge Servers: Cannot access your data
- Self-Sovereign Identity: You control your cryptographic keys
- No Central Storage: Data exists only on your devices
Can government agencies access my communications?
Short Answer: No, by architectural design.
Technical Explanation:
- Zero-Knowledge Architecture: Our servers cannot decrypt your data
- Direct P2P: Communications bypass central servers
- Self-Sovereign Keys: Only you control your encryption keys
- Local Storage: No centralized database to access
This is fundamentally different from platforms where companies can be compelled to provide user data.
What data does WebRTC2 collect?
Data We Cannot Access:
- Message content (encrypted end-to-end)
- File content (transferred directly P2P)
- Voice/video call content (direct P2P)
- User identity information (self-sovereign)
Minimal Metadata We May See:
- Connection timestamps (when you connect)
- Anonymous peer identifiers (not linked to identity)
- ICE server usage (for connection assistance)
- Error logs (for service improvement)
How do I backup my data?
Since WebRTC2 stores data locally, backup is your responsibility:
Identity Backup:
// Save your mnemonic phrase securely
const identity = new DigitalIdentity();
const mnemonic = identity.mnemonic; // 12-24 words - store safely!
Message Backup:
- Local Export: Export conversations to encrypted files
- P2P Sync: Sync between your own devices via P2P
- Custom Backup: Implement your own backup solution
📚 Development Questions
Which platforms are supported?
WebRTC2 supports all major platforms:
Platform | Status | Features |
---|---|---|
Web Browsers | ✅ Full Support | Complete feature set |
iOS | ✅ Full Support | Native performance |
Android | ✅ Full Support | Native integration |
macOS | ✅ Full Support | Desktop app |
Windows | ✅ Full Support | Desktop app |
Linux | ✅ Full Support | Desktop app |
Can I use the same identity across platforms?
Yes! WebRTC2 uses cryptographic identity that works across all platforms:
// Same mnemonic phrase works everywhere
const mnemonic = "word1 word2 word3..."; // Your identity
const webIdentity = new DigitalIdentity();
const mobileIdentity = new DigitalIdentity();
await webIdentity.recoverFromMnemonic(mnemonic);
await mobileIdentity.recoverFromMnemonic(mnemonic);
// Same public key on all platforms
assert(webIdentity.publicKey === mobileIdentity.publicKey);
Does WebRTC2 work on corporate networks?
Yes, with automatic fallback mechanisms:
- Try Direct Connection: Attempts direct P2P first
- STUN Assistance: Uses STUN servers for NAT traversal
- TURN Relay: Falls back to relay servers if needed
- Proxy Support: Works through HTTP/HTTPS proxies
Enterprise Network Support:
- Firewall Compatibility: Works through most corporate firewalls
- Proxy Support: HTTPS tunneling for restrictive networks
- Custom TURN: Deploy your own TURN servers
- Network Diagnostics: Built-in network testing tools
💼 Business & Licensing
What is the pricing model?
WebRTC2 uses infrastructure-based pricing, not per-user licensing:
Open Source Core: Free to use and modify Infrastructure Costs: Pay for your own servers/hosting Enterprise Support: Optional paid support plans Managed Services: Optional hosted signaling infrastructure
Cost Comparison:
- Teams: $7-22/user/month = $8,400-26,400/year (100 users)
- WebRTC2: $500-2,000/month infrastructure = $6,000-24,000/year (unlimited users)
Can I use WebRTC2 commercially?
Yes! WebRTC2 is open source with permissive licensing:
- Commercial Use: Allowed
- Modification: Allowed
- Distribution: Allowed
- Private Use: Allowed
- Patent Grant: Included
Do I need to open source my modifications?
No. WebRTC2 uses MIT-style licensing (specific license TBD):
- No Copyleft: You can keep modifications private
- No Attribution Required: In your private deployments
- Commercial Friendly: Build proprietary products on top
🚀 Future Development
What features are planned?
Short-term (Q1-Q2 2025):
- Enhanced mobile optimizations
- Advanced enterprise management
- Improved developer tools
Medium-term (Q3-Q4 2025):
- Mesh networking for serverless operation
- Blockchain integration for identity
- Advanced AI features with privacy
Long-term (2026+):
- Post-quantum cryptography
- IoT device communication
- Next-generation protocols
How can I contribute?
Ways to Contribute:
- Code: Submit pull requests
- Documentation: Improve guides and examples
- Testing: Report bugs and test new features
- Community: Help other developers
- Feedback: Share your use cases and needs
Getting Started:
# Clone repository
git clone https://github.com/webrtc2/webrtc2.git
cd webrtc2
# Install dependencies
pnpm install
# Run tests
pnpm test
# Start development
pnpm dev
Still have questions? Join our community discussions or check out our comprehensive documentation!