const ComparisonTable = () => { const [selectedFeature, setSelectedFeature] = React.useState(null); const messengers = [ { name: "SecureBit.chat", logo:
, type: "P2P WebRTC", version: "Latest", color: "orange", }, { name: "Signal", logo: ( ), type: "Centralized", version: "Latest", color: "blue", }, { name: "Threema", logo: ( ), type: "Centralized", version: "Latest", color: "green", }, { name: "Session", logo: ( ), type: "Onion Network", version: "Latest", color: "cyan", }, ]; const features = [ { name: "Security Architecture", lockbit: { status: "trophy", detail: "18-layer military-grade defense system with complete ASN.1 validation" }, signal: { status: "check", detail: "Signal Protocol with double ratchet" }, threema: { status: "check", detail: "Standard security implementation" }, session: { status: "check", detail: "Modified Signal Protocol + Onion routing" }, }, { name: "Cryptography", lockbit: { status: "trophy", detail: "ECDH P-384 + AES-GCM 256 + ECDSA P-384" }, signal: { status: "check", detail: "Signal Protocol + Double Ratchet" }, threema: { status: "check", detail: "NaCl + XSalsa20 + Poly1305" }, session: { status: "check", detail: "Modified Signal Protocol" }, }, { name: "Perfect Forward Secrecy", lockbit: { status: "trophy", detail: "Auto rotation every 5 minutes or 100 messages" }, signal: { status: "check", detail: "Double Ratchet algorithm" }, threema: { status: "warning", detail: "Partial (group chats)" }, session: { status: "check", detail: "Session Ratchet algorithm" }, }, { name: "Architecture", lockbit: { status: "trophy", detail: "Pure P2P WebRTC without servers" }, signal: { status: "times", detail: "Centralized Signal servers" }, threema: { status: "times", detail: "Threema servers in Switzerland" }, session: { status: "warning", detail: "Onion routing via network nodes" }, }, { name: "Registration Anonymity", lockbit: { status: "trophy", detail: "No registration required, instant anonymous channels" }, signal: { status: "times", detail: "Phone number required" }, threema: { status: "check", detail: "ID generated locally" }, session: { status: "check", detail: "Random session ID" }, }, { name: "Payment Integration", lockbit: { status: "trophy", detail: "Lightning Network satoshis per session + WebLN" }, signal: { status: "times", detail: "No payment system" }, threema: { status: "times", detail: "No payment system" }, session: { status: "times", detail: "No payment system" }, }, { name: "Metadata Protection", lockbit: { status: "trophy", detail: "Full metadata encryption + traffic obfuscation" }, signal: { status: "warning", detail: "Sealed Sender (partial)" }, threema: { status: "warning", detail: "Minimal metadata" }, session: { status: "check", detail: "Onion routing hides metadata" }, }, { name: "Traffic Obfuscation", lockbit: { status: "trophy", detail: "Fake traffic + pattern masking + packet padding" }, signal: { status: "times", detail: "No traffic obfuscation" }, threema: { status: "times", detail: "No traffic obfuscation" }, session: { status: "check", detail: "Onion routing provides obfuscation" }, }, { name: "Open Source", lockbit: { status: "trophy", detail: "100% open + auditable + MIT license" }, signal: { status: "check", detail: "Fully open" }, threema: { status: "warning", detail: "Only clients open" }, session: { status: "check", detail: "Fully open" }, }, { name: "MITM Protection", lockbit: { status: "trophy", detail: "Out-of-band verification + mutual auth + ECDSA" }, signal: { status: "check", detail: "Safety numbers verification" }, threema: { status: "check", detail: "QR code scanning" }, session: { status: "warning", detail: "Basic key verification" }, }, { name: "Economic Model", lockbit: { status: "trophy", detail: "Sustainable pay-per-session model" }, signal: { status: "warning", detail: "Donations and grants dependency" }, threema: { status: "check", detail: "One-time app purchase" }, session: { status: "warning", detail: "Donations dependency" }, }, { name: "Censorship Resistance", lockbit: { status: "trophy", detail: "Impossible to block P2P + no servers to target" }, signal: { status: "warning", detail: "Blocked in authoritarian countries" }, threema: { status: "warning", detail: "May be blocked" }, session: { status: "check", detail: "Onion routing bypasses blocks" }, }, { name: "Data Storage", lockbit: { status: "trophy", detail: "Zero data storage - only in browser memory" }, signal: { status: "warning", detail: "Local database storage" }, threema: { status: "warning", detail: "Local + optional backup" }, session: { status: "warning", detail: "Local database storage" }, }, { name: "Key Security", lockbit: { status: "trophy", detail: "Non-extractable keys + hardware protection" }, signal: { status: "check", detail: "Secure key storage" }, threema: { status: "check", detail: "Local key storage" }, session: { status: "check", detail: "Secure key storage" }, }, { name: "Post-Quantum Roadmap", lockbit: { status: "check", detail: "Planned v5.0 - CRYSTALS-Kyber/Dilithium" }, signal: { status: "warning", detail: "PQXDH in development" }, threema: { status: "times", detail: "Not announced" }, session: { status: "times", detail: "Not announced" }, }, ]; const getStatusIcon = (status) => { const statusMap = { "trophy": { icon: "fa-trophy", color: "accent-orange" }, "check": { icon: "fa-check", color: "text-green-300" }, "warning": { icon: "fa-exclamation-triangle", color: "text-yellow-300" }, "times": { icon: "fa-times", color: "text-red-300" }, }; return statusMap[status] || { icon: "fa-question", color: "text-gray-400" }; }; const toggleFeatureDetail = (index) => { setSelectedFeature(selectedFeature === index ? null : index); }; return (
{/* Title */}

Enhanced Security Edition Comparison

Enhanced Security Edition vs leading secure messengers

{/* Table container */}
{/* Mobile Alert */}

Rotate your device horizontally for better viewing

{/* Table */}
{/* Table Header */} {messengers.map((messenger, index) => ( ))} {/* Table body */} {features.map((feature, featureIndex) => ( toggleFeatureDetail(featureIndex)} > {/* Details */} {selectedFeature === featureIndex && ( )} ))}
Security Criterion
{messenger.logo}
{messenger.name}
{messenger.type}
{messenger.version}
{feature.name}
Technical Details:
{feature.lockbit.detail}
{feature.signal.detail}
{feature.threema.detail}
{feature.session.detail}
{/* Legend */}
Category Leader
Excellent
Partial/Limited
Not Available
); }; window.ComparisonTable = ComparisonTable;