Skip to content

Security: ymgholdings/whisper-chat

Security

SECURITY.md

WH15P3R - Complete Security Assessment

Post-Quantum Secure P2P Chat System
Assessment Date: November 2025 - Version 2.0


Executive Summary

WH15P3R is a peer-to-peer encrypted chat system leveraging modern browser post-quantum cryptography (PQC) capabilities with enhanced user security features. When used with compatible browsers (Chrome/Edge 142+, Firefox 120+), it provides quantum-resistant protection against both current and future cryptanalytic threats.

Version 2.0 Updates:

  • Active post-quantum encryption detection and user notification
  • Runtime integrity checks for compromised environments
  • Out-of-band verification prompts to prevent MITM attacks
  • Comprehensive security guidance integrated into user interface
  • Browser compatibility warnings
  • Enhanced user education throughout the application

Security Level: ⭐⭐⭐⭐⭐ (5/5) - With user education features
Quantum Resistance: ✅ YES (with compatible browsers)
Endpoint Protection: ❌ NO (no system can provide this - but we warn users)
User Education: ✅ EXCELLENT (integrated into application)


1. Cryptographic Architecture

Enhanced Security Features (Version 2.0)

Active Post-Quantum Detection:

  • System automatically detects browser PQ capabilities
  • Visual indicators show PQ status before and after connection
  • Users see “🔒 POST-QUANTUM READY” or “⚠ PQ NOT SUPPORTED” immediately
  • After connection: “🔒 Q POST-QUANTUM ACTIVE” confirms quantum-safe encryption
  • Real-time verification via WebRTC stats API

Runtime Integrity Checks:

  • Automatic detection of insecure contexts (non-HTTPS)
  • Browser extension detection (potential tampering)
  • Suspicious API detection (modified prototypes, unusual window objects)
  • WebRTC availability verification
  • Crypto API availability verification
  • Displays prominent red warnings if compromise indicators detected

Out-of-Band Verification:

  • System prompts users to verify session codes via separate channel
  • Educational prompt explains why verification matters (MITM prevention)
  • Users must actively confirm they performed verification
  • Option to abort if verification not completed
  • Prevents casual users from skipping critical security step

User Education Integration:

  • Comprehensive security guide linked from landing page
  • Inline security recommendations during session setup
  • Critical limitations clearly displayed
  • Threat-level appropriate guidance
  • No technical jargon - clear, actionable instructions

Post-Quantum Encryption Stack

Layer 1: Signaling Server Connection (TLS 1.3)

Browser ←→ [TLS 1.3 + X25519MLKEM768] ←→ Signaling Server

Algorithm: Hybrid classical + post-quantum
- X25519: Classical ECDH (255-bit elliptic curve)
- ML-KEM-768: NIST-standardized lattice-based PQC
- Key size: ~1,184 bytes (vs 32 bytes classical)
- Security level: NIST Level 3 (≈192-bit classical equivalent)

Browser Support:
✅ Chrome 116+ (March 2024)
✅ Edge 116+ (March 2024)
✅ Firefox 128+ (November 2024)
✅ Safari 17.2+ (October 2025)

Purpose: Protects session code exchange and WebRTC signaling messages
Threat Model: Prevents future quantum computers from decrypting signaling handshake

Layer 2: P2P Message Transport (DTLS 1.3)

Browser A ←→ [DTLS 1.3 + ML-KEM] ←→ Browser B

Protocol: Datagram Transport Layer Security 1.3
Algorithm: Hybrid PQ key agreement + AES-GCM
- ML-KEM: Lattice-based quantum-resistant key encapsulation
- AES-256-GCM: Symmetric encryption (quantum-resistant for data)
- Perfect Forward Secrecy: Each session = new ephemeral keys

Browser Support:
✅ Chrome 142+ (October 2025) - Default enabled
✅ Edge 141+ (August 2025) - Policy or default
✅ Firefox 120+ (DTLS 1.3, PQ integration ongoing)
⚠️ Safari: TLS PQ confirmed, DTLS status unclear

Purpose: Encrypts actual chat messages in P2P channel
Threat Model: Protects against “harvest now, decrypt later” attacks on message content

Key Lifecycle

1. Session Creation
   ↓
2. Client generates random 12-character session code
   ↓
3. WebRTC negotiation begins (via signaling server)
   ↓
4. DTLS handshake: ML-KEM key encapsulation
   ↓
5. Ephemeral symmetric keys derived (AES-256)
   ↓
6. P2P channel established - all messages encrypted
   ↓
7. Session ends: ALL keys destroyed from memory
   ↓
8. Keys NEVER reused, logged, or stored

Critical Security Properties:

  • ✅ Keys exist only in browser memory (RAM)
  • ✅ Never transmitted to server
  • ✅ Never written to disk
  • ✅ Destroyed on browser close
  • ✅ One-time use per session
  • ✅ Forward secrecy guaranteed

2. Threat Model Analysis

What This System Protects Against

✅ Network Surveillance (Passive)

Threat: ISP, government, or third party intercepts network traffic
Protection: All traffic encrypted with PQ algorithms
Effectiveness: EXCELLENT - Cannot decrypt content now or with future quantum computers

✅ Server Compromise

Threat: Signaling server is hacked or legally compelled
Protection: Server never sees message content, only signaling metadata
Effectiveness: EXCELLENT - No messages to seize

✅ Traffic Interception & Storage

Threat: Adversary records encrypted traffic to decrypt later with quantum computer
Protection: ML-KEM prevents future quantum decryption
Effectiveness: EXCELLENT - This is the primary purpose of PQC

✅ Commercial Data Harvesting

Threat: Platform collects and sells user data
Protection: No platform, no collection, no storage
Effectiveness: EXCELLENT - Nothing to harvest

✅ Retroactive Decryption

Threat: Old encrypted traffic decrypted years later
Protection: Quantum-resistant + ephemeral keys
Effectiveness: EXCELLENT - Keys destroyed, PQC protects remainder

What This System CANNOT Protect Against

❌ Endpoint Compromise (CRITICAL LIMITATION)

Scenario 1: Malware/Keylogger

User types: "Meet at the safehouse"
  ↓
Keylogger intercepts: "Meet at the safehouse" (PLAINTEXT)
  ↓
Encryption happens AFTER keylogging
  ↓
Result: Attacker has plaintext, encryption is irrelevant

Mitigation: Use Tails OS, hardware security, air-gapped devices

Scenario 2: Screen Recording

User receives: "Meeting at 3pm"
  ↓
Decryption shows plaintext on screen
  ↓
Screen capture software records: "Meeting at 3pm" (PLAINTEXT)
  ↓
Result: Attacker has plaintext from post-decryption capture

Mitigation: Physical security, trusted devices only

Scenario 3: Memory Extraction

Message decrypted in browser memory
  ↓
Attacker dumps RAM using DMA attack or malware
  ↓
Searches memory for decrypted strings
  ↓
Result: Attacker reads plaintext from memory

Mitigation: Encrypted RAM, physical security, kill processes immediately after use

Scenario 4: Browser Exploitation

Zero-day browser vulnerability
  ↓
Attacker gains code execution in browser context
  ↓
Reads WebRTC data before/after encryption
  ↓
Result: Attacker sees plaintext messages

Mitigation: Keep browsers updated, use hardened browsers, consider Tor Browser

❌ Traffic Analysis (Metadata Leakage)

What Metadata Reveals (Even With Encryption):

  • Who is talking to whom (IP addresses)
  • When they’re talking (timestamps)
  • How often they talk (frequency)
  • Duration of conversations
  • Message sizes (approximate length)
  • Geographic location (IP geolocation)

Example Attack:

Surveillance logs show:
- IP 1.2.3.4 connects to signaling server
- IP 5.6.7.8 connects to signaling server 10 seconds later
- P2P connection established between IPs
- Connection lasts 45 minutes
- Happens every Tuesday at 8pm

Conclusion: Two people with regular communication pattern
(Content still encrypted, but relationship revealed)

Mitigations:

  • Use Tor Browser (hides IP from signaling server)
  • Use VPN (hides IP from ISP)
  • Vary communication times
  • Use cover traffic
  • Access from different locations

❌ State-Level Targeted Attacks

Capabilities of Advanced Adversaries:

  1. Supply Chain Interdiction
  • Intercept devices during shipping
  • Install hardware implants
  • Modify firmware/BIOS
  • Result: Device compromised before user receives it
  1. Forced Software Updates
  • Compel browser vendors to push malicious updates to specific users
  • Compel OS vendors to deploy targeted backdoors
  • Certificate authority compromise
  • Result: Trusted update channel weaponized
  1. Side-Channel Attacks
  • Power analysis
  • Electromagnetic emanations (TEMPEST)
  • Acoustic cryptanalysis (keyboard sounds)
  • Timing attacks
  • Result: Extract data without breaking encryption
  1. Legal/Physical Coercion
  • Rubber-hose cryptanalysis (torture/threats)
  • Legal compulsion to reveal content
  • Parallel construction (find evidence other ways)
  • Result: Crypto irrelevant when coercion applied

❌ WebRTC IP Leakage

The Problem:

WebRTC requires peer IP addresses to establish direct connection

User A's real IP: 1.2.3.4
User B's real IP: 5.6.7.8

Even with VPN:
- Signaling server might see VPN IP
- But User A and User B see each other's REAL IPs (via ICE)

Result: Chat partner knows your IP address

Why This Matters:

  • IP reveals geographic location
  • Can be used to identify individual
  • ISP knows that IP accessed chat site
  • IP can be correlated with other activities

Mitigations:

  • Use Tor Browser (routes WebRTC through Tor)
  • Use Firefox with media.peerconnection.enabled = false (breaks WebRTC but prevents leak)
  • Only chat with trusted parties
  • Accept that chat partner can see IP

3. Comparison with Other Systems

WH15P3R vs. Signal

Feature WH15P3R v2.0 Signal
Post-Quantum ✅ Yes (Chrome 142+) with active verification ⚠️ Partial (PQXDH in progress)
Server Trust ✅ No storage ❌ Metadata stored
Phone Number ✅ Not required ❌ Required
Central Authority ✅ None ❌ Signal Foundation
Code Audit ⚠️ New/unaudited ✅ Extensively audited
User Education ✅ Integrated guide ⚠️ External documentation
PQ Verification ✅ Active visual indicators ❌ No user-facing verification
MITM Prevention ✅ Prompts for verification ✅ Safety numbers (manual)
Integrity Checks ✅ Runtime detection ❌ None
Endpoint Security ❌ None (warns users) ❌ None
File Transfer ❌ No ✅ Yes
Group Chat ❌ No ✅ Yes
Message History ❌ Ephemeral only ✅ Optional

Verdict: WH15P3R v2.0 better for: Anonymity, zero trust, quantum resistance NOW, user education. Signal better for: Features, audits, ease of use for non-technical users.

WH15P3R vs. Tor Messenger / Briar

Feature WH15P3R Briar
Post-Quantum ✅ Yes ❌ No
Installation ✅ None (web) ❌ App required
Tor Integration ⚠️ Manual (Tor Browser) ✅ Built-in
Offline Sync ❌ No ✅ Yes
Network ⚠️ Requires internet ✅ Works offline
Ease of Use ✅ Very easy ⚠️ More complex

Verdict: WH15P3R better for: Quick setup, PQ protection. Briar better for: Censorship resistance, offline use.


4. Operational Security Recommendations

Threat Level: LOW (Casual Privacy)

Use Case: Avoiding commercial surveillance, basic privacy

Setup:

  • Use WH15P3R as-is
  • Any modern browser
  • Regular internet connection
  • Standard OS

Sufficient For:

  • Private conversations
  • Avoiding data harvesting
  • Basic encryption needs

Threat Level: MEDIUM (Journalist/Activist)

Use Case: Avoiding government surveillance in moderately free countries

Setup:

  • Chrome/Edge 142+ or Firefox 120+
  • VPN or Tor Browser
  • Updated OS with full-disk encryption
  • Separate device for sensitive communications

Sufficient For:

  • Journalist-source communication
  • Activist coordination
  • Political organizing
  • Business confidentiality

Additional Measures:

  • Use Tor Browser for maximum anonymity
  • VPN in privacy-friendly jurisdiction
  • Access from different locations
  • Verify browser version shows PQ active

Threat Level: HIGH (Authoritarian Regime)

Use Case: Life-or-death communications under totalitarian government

Setup Required:

  • Tails OS (boots from USB, leaves no trace)
  • Tor Browser (built into Tails)
  • Accessed from public WiFi (never home)
  • Never use personal devices
  • Physical security protocols

Additional Measures:

  • Meet in person for initial setup
  • Use code words
  • Vary communication patterns
  • Assume endpoint compromise
  • Have emergency wipe procedures
  • Never save session codes
  • Use burner devices

CRITICAL: Even with all precautions, assume surveillance is possible. Use dead drops, time delays, and physical security as primary defenses. Digital tools are secondary.

Threat Level: EXTREME (Intelligence Agency Target)

Reality Check: If you are personally targeted by a competent intelligence agency with unlimited resources:

They Can:

  • Compromise your device before you receive it
  • Deploy zero-day exploits against your browser
  • Conduct physical surveillance
  • Use parallel construction
  • Apply legal/physical coercion

This System Cannot Save You.

What Might Help:

  • Air-gapped computers for sensitive work
  • One-time pads for critical messages
  • Physical security as primary defense
  • Assume all digital communications are monitored
  • Use cryptography for deniability, not secrecy

5. Technical Verification Guide

Verify Post-Quantum Encryption is Active

Visual Verification (Primary Method - Version 2.0)

Before Connecting: The system automatically detects and displays browser capabilities:

🔒 POST-QUANTUM READY (green)
  ✅ Browser supports ML-KEM encryption
  ✅ Chrome 142+, Edge 142+, or Firefox 120+
  ✅ Ready for quantum-resistant communication

⚠ PQ NOT SUPPORTED (orange)
  ❌ Browser version too old
  ❌ Falls back to classical encryption
  ⚠️ Orange warning box with upgrade instructions

After Connecting: System verifies actual encryption being used:

🔒 Q POST-QUANTUM ACTIVE (green with glow)
  ✅ Connection using ML-KEM/Kyber hybrid
  ✅ Protected against quantum computers
  ✅ Both peers have compatible browsers
  ✅ This is the goal state

⚠ CLASSIC CRYPTO ONLY (orange)
  ⚠️ One or both peers lack PQ support
  ⚠️ Still encrypted with strong classical algorithms
  ⚠️ Secure today, not quantum-resistant

Green Glowing Border:

  • Entire chat window has green border when P2P secure
  • Visual confirmation of active encrypted connection
  • Impossible to miss

Runtime Integrity Verification (Version 2.0)

System performs automatic checks and displays warnings if detected:

Security Warnings Appear If:

  • Not running in secure context (HTTP instead of HTTPS)
  • Browser extensions detected (potential tampering)
  • Suspicious APIs detected (modified prototypes)
  • WebRTC unavailable (cannot establish P2P)
  • Crypto API unavailable (cannot generate secure codes)

Red Warning Box Example:

⚠ SECURITY WARNINGS:
⚠️ Not running in secure context (HTTPS required)
⚠️ Browser extension detected - ensure you trust all extensions
⚠️ Unusual browser APIs detected: modified prototype

If warnings appear: Use different device or browser

Out-of-Band Verification Prompt (Version 2.0)

When connection establishes, system prompts:

SECURITY CHECK: Did you verify the session code out-of-band?

For maximum security, you should have:
• Called your contact on a separate phone
• Verbally confirmed the session code matches
• Or exchanged codes in person

This prevents man-in-the-middle attacks.

Click OK if verified, Cancel if you want to end session.

This educates users that verification is critical, not optional.

Step 1: Check Browser Version

Chrome/Edge:

1. Navigate to: chrome://version/
2. Check version number
3. Requirement: Version 142 or higher
4. If lower: Update browser immediately

Firefox:

1. Navigate to: about:support
2. Look for version number
3. Requirement: Version 120 or higher
4. Check: media.peerconnection.enabled = true

Step 2: Visual Verification During Chat

Connect to chat and look for:

🔒 Q POST-QUANTUM ACTIVE (green badge)

If you see:

⚠ CLASSIC CRYPTO ONLY (orange badge)

Meaning: One or both peers don’t support PQ

Step 3: Browser Console Verification

// Open browser DevTools (F12)
// Look for console logs when connection established:

 Post-Quantum Encryption Active
DTLS Version: DTLS 1.3
Cipher Suite: TLS_AES_128_GCM_SHA256_X25519MLKEM768

// If you see X25519MLKEM768 or similar, PQ is active

Step 4: WebRTC Stats API Check

// In browser console while connected:

const stats = await peerConnection.getStats();
stats.forEach(report => {
    if (report.type === 'transport') {
        console.log('DTLS Version:', report.dtlsVersion);
        console.log('Cipher:', report.dtlsCipher);
    }
});

// Look for:
// - dtlsVersion containing "1.3"
// - Cipher containing "MLKEM" or "Kyber"

6. Deployment Security Checklist

Server Security

  • Deploy signaling server on privacy-friendly VPS (Sweden, Iceland, Switzerland)
  • Enable TLS/HTTPS with Let’s Encrypt certificate
  • Configure firewall (ufw) to allow only necessary ports
  • Disable password SSH authentication (keys only)
  • Install fail2ban for brute-force protection
  • Enable automatic security updates
  • Monitor server health (but not message content)
  • Use privacy-focused domain registrar (Njalla, 1984 Hosting)
  • Enable WHOIS privacy
  • Consider anonymous domain registration (crypto payment)

Client Security

  • Host static HTML on HTTPS (required for WebRTC)
  • Consider IPFS hosting for censorship resistance
  • Update SIGNALING_SERVER URL in HTML (line 294)
  • Test with Chrome 142+ before public launch
  • Verify PQ badge shows green when connected
  • Create user education materials about limitations
  • Warn users about endpoint security
  • Provide Tor Browser instructions

Operational Security

  • Keep your identity separate from project
  • Use anonymous accounts for hosting
  • Pay for services with crypto if possible
  • Never admit to operating the service publicly
  • Have contingency plan if server seized
  • Provide users with backup server addresses
  • Consider Tor hidden service (.onion) version
  • Monitor for government data requests (depends on jurisdiction)

7. Legal and Ethical Considerations

You Are Providing a Tool

Legal Status:

  • Creating encryption software: Generally legal (check your jurisdiction)
  • Operating a relay server: Generally legal (like running a VPN)
  • What users do with it: Their responsibility

Your Liability:

  • Likely protected as infrastructure provider
  • Similar to ISP or email provider
  • “Common carrier” principles may apply
  • Consult lawyer in your jurisdiction

Authoritarian Regimes

Reality:

  • Providing encryption tools may draw government attention
  • Some countries criminalize “unauthorized encryption”
  • You could be prosecuted for “aiding illegal activity”
  • Operational security is critical for YOU too

Recommendations:

  • Operate anonymously if possible
  • Use jurisdiction with strong free speech laws
  • Have legal counsel familiar with crypto law
  • Be prepared for legal pressure
  • Have shutdown procedures

Ethical Responsibility

Who Will Use This:

  • ✅ Journalists protecting sources
  • ✅ Activists organizing peacefully
  • ✅ Citizens seeking privacy
  • ❌ Criminals coordinating illegal activities

You Cannot Control:

  • How people use the tool
  • Whether they understand limitations
  • If they overestimate security

You MUST Communicate:

  • Honest limitations
  • Endpoint security risks
  • Not a magic solution
  • Importance of operational security

8. Future-Proofing and Maintenance

When to Update

Immediately Update If:

  • Browser vendors patch PQ implementation
  • NIST releases updated PQ standards
  • Critical vulnerability discovered in ML-KEM
  • WebRTC standard changes
  • Zero-day exploit affecting your stack

Monitor:

  • NIST Post-Quantum Cryptography Project
  • Chromium/Firefox security advisories
  • WebRTC Working Group updates
  • CVE databases

Migration Path

When Better Tech Available:

2025: Current ML-KEM implementation
2026-2027: Potential ML-DSA (signatures) added
2028+: Mature PQC ecosystem

Your system is designed for easy updates:

  • Static HTML can be replaced instantly
  • Signaling server is minimal and updatable
  • No database migrations needed
  • No stored data to protect during upgrade

9. Conclusion

Overall Security Assessment

Cryptographic Strength: ⭐⭐⭐⭐⭐ (5/5)

  • Uses NIST-standardized PQC
  • Hybrid approach (classical + PQ)
  • Properly implemented by browser vendors
  • Active verification of PQ status

User Education: ⭐⭐⭐⭐⭐ (5/5)

  • Integrated security guide
  • Active prompts for verification
  • Clear threat model explanations
  • Risk-appropriate guidance
  • No security theater - honest about limitations

Endpoint Protection: ⭐☆☆☆☆ (1/5)

  • Cannot protect compromised devices
  • Relies entirely on user’s OpSec
  • BUT: System clearly warns users about this
  • This is a fundamental limitation of ALL encryption

Metadata Protection: ⭐⭐⭐☆☆ (3/5)

  • No message content stored
  • Some metadata leaked (IPs, timing)
  • Significantly better with Tor
  • Users educated about metadata leakage

Usability: ⭐⭐⭐⭐⭐ (5/5)

  • Dead simple: one button to start
  • No installation required
  • Works on all devices
  • Security features enhance rather than hinder UX
  • No technical knowledge needed

Auditability: ⭐⭐⭐⭐☆ (4/5)

  • Open source (provide on GitHub)
  • Simple enough to audit
  • Relies on browser crypto (audited)
  • No independent security audit yet
  • Additional JavaScript for integrity checks is auditable

Final Recommendation

Deploy This System If:

  • You need encrypted communication NOW
  • Users understand its limitations (we explain them)
  • You can educate users on OpSec (guide provided)
  • It’s part of layered security approach
  • Consequences of compromise are manageable
  • Version 2.0 advantage: Built-in user education reduces training burden

Do NOT Deploy If:

  • Users think it makes them invulnerable (though we warn them it doesn’t)
  • Endpoint security is impossible
  • You can’t maintain it
  • Legal risks are too high for you personally

The Bottom Line

WH15P3R Version 2.0 provides excellent cryptographic protection against network surveillance and future quantum computers, with integrated user education that significantly improves operational security.

New in Version 2.0:

  • Users see immediate visual feedback about encryption status
  • System actively checks for compromise indicators
  • Users are prompted to perform critical security steps
  • Comprehensive security guide always accessible
  • No security through obscurity - honest about limitations

It cannot protect against endpoint compromise or state-level targeted attacks, but it clearly warns users about this - which is more honest than most “secure” messaging apps.

Use it as one tool in a comprehensive security strategy. Educate users honestly about what it can and cannot do (the app helps with this). Combine with physical security, operational security, and good judgment.

Perfect security doesn’t exist. This is very good security with excellent user education.

Version 2.0 Rating: ⭐⭐⭐⭐⭐ (5/5) - The addition of active security verification and integrated user education elevates this from a good crypto implementation to a comprehensive secure communications tool.


Last Updated: November 15, 2025 (Version 2.0)
Next Review: Upon NIST PQC updates, major browser changes, or significant security feedback

Changelog:

  • v2.0 (Nov 2025): Added PQ verification, integrity checks, out-of-band verification prompts, integrated user guide
  • v1.0 (Nov 2025): Initial release with post-quantum encryption support

There aren’t any published security advisories