Real-time Versleutelde Chat
Bixby Messenger biedt real-time versleutelde chat tussen twee personen. Alle berichten worden versleuteld in de browser voordat ze worden verzonden. De server ziet nooit de originele berichten—alleen versleutelde data.
Messenger gebruikt AES-256-GCM met HKDF key derivation en Additional Authenticated Data (AAD) voor extra beveiliging. Elke bericht heeft een unieke salt en IV. AES-256-GCM, HKDF-SHA-256 key derivation, 256-bit salt, 96-bit IV, 128-bit auth tag, AAD voor integriteit.
async function encryptMessage(plaintext) {
// HKDF key derivation met 256-bit salt
const derivedKey = await deriveKeyHKDF(masterKey, salt, info);
// AES-256-GCM met Additional Authenticated Data
const encrypted = await crypto.subtle.encrypt(
{ name: 'AES-GCM', iv, additionalData: aad },
derivedKey, data
);
return { encrypted, key };
}
Messenger gebruikt polling met exponential backoff en auto-reconnect voor betrouwbare real-time communicatie zonder WebSocket overhead. Polling met exponential backoff (2-30s), auto-reconnect bij verbindingsverlies, connection status tracking.
// Polling met exponential backoff
function startPolling() {
const poll = async () => {
await loadMessages();
const delay = adjustPollInterval(success);
setTimeout(poll, delay);
};
poll();
}
// Auto-reconnect bij verbindingsverlies
if (consecutiveFailures >= MAX_FAILURES) {
updateConnectionStatus('disconnected');
setTimeout(reconnect, 5000);
}
Zie wanneer iemand aan het typen is in real-time.
Weten wanneer je berichten zijn gelezen door de ontvanger.
Stel een zelfvernietigingstimer in voor berichten (uren of minuten).
Beheer meerdere chat rooms tegelijkertijd met een sidebar interface.
Deel rooms eenvoudig via QR codes voor snelle toegang.
Bewaar en herhaal recente rooms via localStorage.
Messenger respecteert je privacy volledig. Geen tracking, geen analytics, geen logging van berichtinhoud. Alle versleuteling gebeurt lokaal in je browser. De server fungeert alleen als een doorgeefluik voor versleutelde data.