Dead Drops

Nyxen Dead Drops are short-lived, end-to-end encrypted rooms for high-sensitivity communication. No accounts. No rolling history. No cloud archive. Each room is a disposable, tightly scoped channel with a clock and a kill switch.
Concept
A Dead Drop Room is:
Key-based – access via shared secret, not identity.
Client-side encrypted – Nyxen never sees plaintext.
Time-bound – fixed TTL set at creation.
Burnable – can be destroyed early with one action.
Non-indexed – no discovery, no directory, no search.
When it’s over, it’s over.
[!IMPORTANT] There is no recovery mechanism for Dead Drops. Once expired or burned, content cannot be restored by anyone.
Core Properties
Access Model
Key or invite link (no username/phone/email)
Encryption
Client-side (e.g. AES-GCM with unique nonce per msg)
Time-to-Live
Chosen per room (e.g. 5 min – 12 hours)
Burn Controls
Auto on TTL + manual “Burn Now”
Participants
Small, invite-only set
Server Storage
Ciphertext + TTL metadata only, purged on burn/expiry
[!NOTE] Room names and labels should be treated as operational hints only—never include sensitive data in labels.
Lifecycle
Dead Drops follow a strict lifecycle:
Create – define TTL and constraints; generate key.
Share Access – distribute link/key to intended participants.
Exchange – messages are encrypted and relayed.
Expire / Burn – automatic or manual destruction.
Purge – ciphertext + metadata deleted; keys wiped locally.
1. Create
User selects:
TTL (e.g. 30 minutes)
Optional label
Optional limits (participants, message length, attachments)
Client generates:
roomIdroomKey(never sent in plaintext to server)
2. Client-Side Encryption
Messages are encrypted in the browser/app before leaving the device.
// Simplified client-side example
const key = await generateRoomKey(); // 256-bit
const { ciphertext, nonce } = await encryptWithKey(key, message);
await sendToNyxenRelay({
roomId,
nonce,
ciphertext,
expiresAt: ttlTimestamp
});Nyxen relays:
never receive the key
never see plaintext
only store ciphertext until TTL/burn.
[!INFO] Implementations should use the Web Crypto API or audited crypto libraries. No custom algorithms.
3. Sharing Access
Two common patterns:
A. Single-Link (Simple) Key embedded in URL fragment (not sent in HTTP request):
https://nyxen.vip/drop/8F23D#v13Q0Yh9...B. Split-Key (Safer)
Send the base URL in one channel.
Send the key fragment via another channel or in person.
Recommended for higher-sensitivity use.
[!TIP] Treat the key as the room. Anyone with it has access until TTL/burn.
4. Using a Dead Drop
Inside a Dead Drop Room, participants can:
send encrypted text
optionally attach small encrypted payloads
see a live TTL countdown
see basic presence (e.g. “3 active clients”) without identity
Suggested UI elements:
Clear TTL timer at top
“Burn Now” button
Minimal, monochrome, non-distracting layout
No:
message reactions
read receipts tied to identity
infinite scroll history
5. Burn & Expiry
Two destruction paths:
Automatic (TTL)
When expiresAt is reached:
Relay deletes ciphertext + metadata.
Any new access returns “Expired”.
Client clears keys and decrypted cache.
Manual (“Burn Now”)
Immediate invalidation of the room.
Relays purge all stored ciphertext for that
roomId.Connected clients receive a burn event and wipe state.
// Pseudocode for burn handling
onBurn(roomId) {
clearRoomKey(roomId);
clearDecryptedMessages(roomId);
renderBurnNotice("This Dead Drop has been destroyed.");
}[!WARNING] Burn events are final. There is no admin override, hidden copy, or export.
Recommended Usage Patterns
One-time credential handoff
5–15 minutes
Use split-key; burn immediately after use.
Incident response huddle
30–60 minutes
Limit participants; burn at resolution.
Deal / clause review
30–120 minutes
No media dumps; burn post-agreement.
Internal approvals
15–45 minutes
Keep scope narrow, burn after decision.
[!TIP] Default to shorter TTLs. Use manual burn as standard practice when you’re done.
Security Characteristics
Dead Drops mitigate:
Centralized chat logs
Retroactive scraping of old threads
Metadata-heavy social graphs (no contact list)
Long-lived transcripts in 3rd party infrastructure
They do not mitigate:
Compromised devices (malware, keyloggers)
Screenshots or cameras
Users copying content elsewhere
Poor key-handling practices
[!NOTE] Nyxen’s design goal is to ensure the platform is not your weakest point.
Simple Usage Example (User-Level)
You can include this as a “How to use” snippet.
Open Nyxen Dead Drops.
Create a new drop:
TTL: 20 minutes
Label:
Infra key rotation – today
Share the access link/key through your chosen channels.
Exchange only what’s needed.
Hit Burn Now when finished.
Result: no chat log, no searchable history, no forgotten messages in an inbox.
How Dead Drops Fit in Nyxen
Dead Drops are the base primitive. Other Nyxen tools build around them:
Secure Links: for one-time messages.
File Drops: for encrypted file delivery.
Ephemeral Boards: for structured but temporary collaboration.
Spectre Voice: for voice within the same constraints.
Capsules: to bundle Dead Drops, files, and notes under one key/TTL.
Everything inherits the same rules: key-based, encrypted, time-bound, burnable.
Last updated

