SERVICE #06 • IN-BROWSER MULTIMEDIA

Cinema Deck & Floating Audio Dock

Many users store gigabytes of private photos, voice recordings, and video clips inside their encrypted vaults. Extracting them to disk to play them compromises confidentiality. ZevSafe's Cinema Deck and Floating Audio Dock allow instantaneous in-browser media playback with zero disk writes and deterministic memory revocation.

🟢 Simple User Guide

Playing Encrypted Media Effortlessly

STEP 01

Click Any Media File in the Explorer

Click on any audio file (.mp3, .wav, .m4a, .ogg) or video (.mp4, .webm, .mov). ZevSafe decrypts only the necessary chunks and begins playback in seconds.

STEP 02

Enjoy Persistent Background Audio

Want to browse other files or read encrypted notes while listening to audio? Simply close the modal or click another folder. Playback seamlessly shifts into a sleek Floating Audio Mini-Player at the bottom of the screen.

STEP 03

Stop Playback & Zero Memory

Clicking the close button on the floating dock or locking the vault stops playback and immediately frees browser memory. No audio trace remains in your history or cache.

🎬
Cinema Fullscreen: Click the expand button on video previews to enter a cinema-grade dark theatre view with keyboard controls (Space: play/pause, Arrow keys: skip 5s).
🔵 Technical Specification

Floating Audio Mini-Player Architecture

When audio starts playing in the modal, a persistent HTML5 <audio> element is managed by the application controller:

Audio Dock State Transition
// app.js: Seamless transition between modal and persistent dock
function minimizeAudioToDock() {
    if (!activeAudioState.isPlaying) return;
    
    // Transfer current playhead timestamp and state to the floating dock
    audioDockEl.classList.add('visible');
    audioDockTrackName.textContent = activeAudioState.currentTrackName;
    audioDockPlayer.currentTime = activeAudioModalPlayer.currentTime;
    
    // Hide modal without interrupting audio context
    closeMediaModal({ preserveAudio: true });
}

Zero-RAM Ephemeral Blob URL Lifecycle

Browsers retain object URLs indefinitely in their internal registry until explicitly freed. Unbounded media inspection can cause rapid memory exhaustion. ZevSafe implements strict URL revocation invariants:

Lifecycle Event Trigger Action Cryptographic Cleanup
Media Close User closes video modal URL.revokeObjectURL(activeVideoUrl); sets src to empty string.
Track Switch User selects new audio track Revokes previous track URL before creating new blob instance.
Dock Dismiss User clicks close (X) on mini dock Halts audio buffer, revokes URL, and cleans active playback state.
Session Lock Inactivity timer or Lock Vault Stops all audio/video elements and executes full memory zeroization.

Media Content Security Policy (CSP) Isolation

To guarantee that decrypted media elements cannot exfiltrate private frames or metadata, ZevSafe enforces:

Air-Gapped Media CSP Header
media-src 'self' blob:;
img-src 'self' data: blob:;
connect-src 'self' blob: data:;

Security Invariants

Invariant Guarantee Status
Zero Exfiltration Media elements cannot connect to external tracking or CDN servers. VERIFIED
Immediate GC Reclaim Object URLs revoked immediately on stop, preventing memory bloat. VERIFIED
No Disk Cache Decrypted media is played from memory blobs; never written to temporary files. VERIFIED