| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-06-19 | 1.6 kB | |
| v4.8.14 -- Secure chat tools_ code blocks, view-once, disappearing, unsend, panic source code.tar.gz | 2026-06-19 | 22.7 MB | |
| v4.8.14 -- Secure chat tools_ code blocks, view-once, disappearing, unsend, panic source code.zip | 2026-06-19 | 22.8 MB | |
| Totals: 3 Items | 45.5 MB | 0 | |
Privacy-focused messaging controls in the composer. Per-message metadata (id / view-once / timer) travels inside the encrypted message envelope, never in the sanitized text, so message content cannot spoof or corrupt these controls.
Added
- Code blocks — a button wraps the message in a fenced block; both peers render a monospace code window with a copy button. Built from already-sanitized text via React nodes only (no
dangerouslySetInnerHTML) — no new XSS surface. - Clipboard auto-clear — copying a code block clears the clipboard after ~30s, only when it can confirm the clipboard still holds the copied value (never clobbering a later copy).
- View-once messages — recipient sees a blurred bubble that reveals on tap and is then wiped. Honestly cooperative (a malicious client or screenshot can still capture it) — hygiene, not a guarantee.
- Disappearing messages — optional 30s / 5m / 1h timer auto-deletes on both sides with a live countdown; incoming TTL clamped to [5s, 24h].
- Unsend (delete for everyone) — removes your message locally and asks the peer to drop it via a new
message_deletecontrol message. - Panic wipe — one button clears the conversation, wipes keys and disconnects, behind a confirm prompt.
Security
- New per-message metadata is whitelisted and bounded by
_sanitizeMessageMetaon send and receive. - AAD/replay protection, the SAS verification gate and receive-side DOMPurify sanitization are unchanged.
Tests
- Added
tests/secure-chat-features.test.mjs. Full suite: 17 files, all passing.
Live at https://securebit-chat.fly.dev/